How Do I Verify a Roofer Is Licensed and Insured?
Hire a Roofer

How Do I Verify a Roofer Is Licensed and Insured?

Three lookups: state contractor license board, certificate of insurance direct from the carrier, workers comp via state DOI. Takes 15 minutes. Costs nothing.

How do I verify a roofer is licensed and insured?

Three lookups — state contractor license board for license status and complaint history, Certificate of Insurance directly from their carrier (not a copy from the contractor), and workers comp coverage via the state department of insurance. Total time is about 15 minutes. The contractor pays nothing for you to do this.

The honest answer is that verifying a roofer's license and insurance takes about 15 minutes — and the contractor pays nothing for you to do it. The work is three lookups: the state contractor licensing board, the Certificate of Insurance fetched directly from the carrier, and the workers compensation coverage confirmed through the state department of insurance. Each takes 5 minutes, and skipping any one is the gap that produces the lawsuit on your kitchen counter.

Lookup #1 — state contractor licensing board

Pull the license number from the contractor's business card, contract, or website. Go to your state contractor licensing board's online lookup tool — most boards expose this publicly.

Confirm five things on the lookup result:

  • The license is active. Not "expired pending renewal," not "suspended," not "voluntarily inactive."
  • The classification covers roofing. Many states issue category-specific licenses; confirm the license actually permits roofing.
  • The legal entity matches. The contract should be in the same legal name as the license. A contract from "ABC Roofing LLC" against a license held by "ABC Construction Inc" usually means the licensed entity sub-contracted to an unlicensed one.
  • No pending disciplinary action. Pending complaints aren't always disqualifying, but unresolved or repeated complaints are.
  • The expiration date is at least 90 days out. A license expiring next month means renewal hasn't been processed yet — flag it and confirm the contractor isn't operating on a lapsed license at job-start.

State licensing varies. Three patterns: state-level (most common), county-level (Colorado, Indiana, Kansas, Missouri, Nebraska, New York), and none (Idaho, Maine, New Hampshire, South Dakota, Texas, Vermont, Wyoming). In none-license states, verification shifts to municipal licensing and to the reference + insurance steps.

Lookup #2 — Certificate of Insurance direct from the carrier

This is where most homeowners get the verification half-wrong. The contractor will hand you a Certificate of Insurance — a one-page PDF showing the carrier, policy number, dates, and limits. The certificate looks official. It might still be wrong.

A contractor-supplied COI can be expired (the policy lapsed last week), canceled (the carrier dropped the contractor mid-month), or fabricated entirely. The COI is a point-in-time document; it doesn't update when the policy underneath it changes.

The fix: call the carrier directly. The COI shows the carrier's name and phone number. Call that number, give them the policy number, and ask three questions. Is the policy currently in force? Are the limits at least $1M per occurrence / $2M aggregate? Is the contractor (by exact legal name) the named insured?

The call takes 5 minutes. The carrier doesn't charge you for it. They confirm or deny the policy on the spot. If the policy is current, you have your verification. If the policy is canceled, expired, or in someone else's name, you've just learned why the contractor's deposit ask felt high.

How to read a COI

A real COI lists, at minimum:

  • Carrier name and address. Travelers, Acuity, Cincinnati, Hartford, Liberty Mutual, Nationwide. Regional carriers are also fine.
  • Policy number. A unique alphanumeric string — call it in to the carrier to verify.
  • Named insured. The contractor's exact legal entity. Match against the contract.
  • Effective and expiration dates. The policy must cover the entire job window.
  • Coverage type. "Commercial general liability" (CGL) is the common label. Some COIs also list workers compensation on the same form.
  • Limits. $1M per occurrence and $2M aggregate is the common floor; significantly lower means the contractor is undercapitalized for serious-claim exposure.
  • Additional insured. Worth requesting on jobs over $25,000 — the COI should include endorsement language naming you.
  • Authorized representative signature. A signature or stamp from the carrier — not from the contractor.

Lookup #3 — workers compensation coverage

Workers comp is the lookup most homeowners skip and most plaintiff's lawyers find first. If a worker falls off your roof and the contractor lacks workers comp, the medical claim can be filed against your homeowners policy. Your premium goes up, and you're potentially liable for the difference.

Most state departments of insurance maintain a workers comp verification tool. The National Council on Compensation Insurance (NCCI) covers a majority of states; California's WCIRB and a few other independent state boards cover the rest. Search "[state name] workers compensation verification."

Confirm coverage in the contractor's exact legal name — the same name on the license and the COI. If the contractor says "all our crew are 1099 subcontractors," ask for that arrangement in writing and confirm the GL policy covers subcontractor injury. Most don't.

When the verification doesn't match the bid

If the license is in the wrong name, the COI doesn't match the carrier's records, or the workers comp lookup turns up nothing, move to the next bidder. The contractor who passes verification on the first call is the one worth working with.

This is reference, not a quote — but the 15-minute verification work is the difference between a clean replacement and a five-year insurance dispute. Run the lookups on every roofer in your shortlist, regardless of how good the first conversation felt. Storm-related verification has additional layers — see storm-chaser warning signs.

Contractor-supplied COIs can be expired, fabricated, or canceled after issuance. Carriers issue COIs as point-in-time documents — a policy current on March 1 can be canceled on March 15 without the COI changing. Calling the carrier directly confirms the policy is current today, on the work being done. The contractor doesn't pay anything for that call.
A handful of states (Idaho, Maine, New Hampshire, South Dakota, Texas, Vermont, Wyoming) don't require a state-level roofing license. In those states, license verification shifts to the city or county level when applicable, and reference + insurance verification carry more weight. Some counties within those states still require a county license.
Search '[state name] contractor license lookup' or '[state name] CSLB' (California-style abbreviation). Most boards have a public license-lookup tool that returns license number, status, classification, expiration, and complaint history. The licensing board is also where you file a complaint if a contractor disappears mid-job.
Carrier name, policy number, named insured (the contractor's exact legal entity), effective and expiration dates, coverage type (general liability + workers compensation), per-occurrence and aggregate limits ($1M / $2M is the common minimum on residential roofing), and additional-insured language naming the homeowner if requested. The COI is signed by the carrier's authorized representative.
Most state departments of insurance maintain a workers comp coverage verification system. Search '[state name] workers compensation verification' — for example, NCCI's verification tool covers many states; California uses the WCIRB. Confirm the contractor's exact legal name has active workers comp coverage. If they say 'we use 1099 subcontractors,' get this in writing — and ask whether their GL policy covers subcontractor injury.
Back to the hub

Hire a Roofer

Return to the Hire a Roofer hub for the full framework — or get matched to a vetted roofer in your state.