Contractor Records
Home › Guides › How many contractors are licensed? License match rates by city and trade

How many contractors are licensed? License match rates by city and trade

81.3% of the electrical contractors on home permits match an active license in the usual city of the 26 with a license file and enough electricians to measure, from 55.2% in Nashville, TN to 96.5% in Cape Coral, FL. Across 156 city-and-trade markets the usual figure is 83.6%. Firms whose matched license is expired, suspended or revoked are rarer: the usual share is 2.8%, and the highest is 22.4% of 549 remodel firms in Pittsburgh, PA. A firm we could not match is not proof of an unlicensed contractor; most gaps are names that differ between the permit and the license file.

By Contractor Records · data through October 22, 2026

  • Order of trades. The usual active-match share across cities: new home 88.5%, roofing 86.0%, remodel 84.0%, plumbing 84.0%, electrical 81.3%, solar 79.1%, HVAC 78.2%.
  • Of 156 city-and-trade markets, 42 match 90% or more of their firms to an active license and 9 match under 60%. The low ones are mostly cities matched by business name alone (see the Matched by column).
  • License problems: in 39 of the 123 markets where the license file records expired or suspended licenses, 5% or more of the firms on permits match one.
  • Current-license lists only: Arlington, VA; Bend, OR; Boulder, CO; Columbus, OH; Medford, OR; Miami, FL publish only licenses in force, so a lapsed license shows up there as no match, not as a problem.

Each figure is the share of contractors who filed a home permit in the trade, in the city's data window, whose name (or license number, where the city records one) matched a license record that was active when we read the license file. A firm counts once per trade however many permits it filed. Owner-builder entries are left out.

The short version: each trade across cities

"Usual active match" is the middle of the city figures, so a big city counts the same as a small one. The license-problem share is the share of firms matched to an expired, suspended or revoked license, in cities whose license file records those statuses at all. City names link to that city's compare page for the trade, where each firm's license status is shown.

Trade Cities Usual active match Highest Lowest Usual license-problem share (cities)
Electrical 26 81.3% Cape Coral, FL (96.5%) Nashville, TN (55.2%) 3.1% (20)
Plumbing 23 84.0% New York City, NY (96.5%) Nashville, TN (48.8%) 2.9% (18)
HVAC 28 78.2% Cape Coral, FL (97.8%) Nashville, TN (44.2%) 2.3% (22)
Roofing 17 86.0% Cape Coral, FL (99.4%) Boulder, CO (65.5%) 2.9% (15)
Remodel 21 84.0% Cape Coral, FL (99.0%) Pittsburgh, PA (36.1%) 2.5% (16)
New home 18 88.5% Cape Coral, FL (99.2%) Nashville, TN (43.8%) 3.0% (13)
Solar 23 79.1% Cape Coral, FL (98.9%) Minneapolis, MN (57.1%) 3.8% (19)

Every city, every trade

Each cell is the share of named firms matched to an active license, then (in brackets) the number of named firms. Figures link to the city's compare page for the trade; city names link to its permit statistics. A dash means the city has no such trade, fewer than 30 named firms, or a license file that does not cover the trade (fewer than 40% of firms matched any record). Cities with no license file in our data are not listed.

City Electrical Plumbing HVAC Roofing Remodel New home Solar Matched by Notes
Anaheim, CA 84.8% (640) 86.8% (129) 87.1% (210) 82.4% (568) 90.5% (423) — 79.1% (258) name state file lists active and suspended licenses only
Arlington, VA 94.3% (524) 93.1% (448) 94.2% (274) — 94.8% (346) 96.6% (119) 95.1% (41) name county permits; license list has current licenses only
Austin, TX 65.9% (1,193) 55.2% (991) 63.7% (819) — — — — name
Bellevue, WA 90.3% (781) 86.6% (358) 85.4% (570) 90.2% (92) 84.0% (394) 88.2% (102) — L&I registration
Bellingham, WA 84.1% (151) 76.0% (50) 77.9% (68) — 70.3% (101) 89.7% (68) — name
Bend, OR 76.8% (190) 72.3% (191) 69.2% (169) — 70.0% (180) 71.8% (149) 72.7% (33) name license list has current licenses only
Boulder, CO 67.9% (355) — 73.1% (324) 65.5% (426) 72.0% (414) 88.7% (53) 73.2% (112) name license list has current licenses only
Cape Coral, FL 96.5% (311) 84.4% (186) 97.8% (455) 99.4% (465) 99.0% (313) 99.2% (362) 98.9% (88) name 21 months of data
Citrus Heights, CA 75.3% (344) 81.9% (94) 77.2% (302) 78.9% (365) 71.7% (244) — 77.9% (77) name state file lists active and suspended licenses only
Columbus, OH 68.7% (499) 68.1% (357) 66.0% (527) — — — — name license list has current licenses only
Denton, TX 69.8% (159) — 68.1% (216) — — — 64.5% (76) name
Elk Grove, CA 91.3% (219) 89.6% (134) 87.3% (339) 88.5% (200) 88.9% (262) — 84.3% (115) name state file lists active and suspended licenses only
Marin County, CA 88.6% (315) 84.0% (94) 88.5% (131) 86.0% (300) 90.8% (379) — 84.4% (199) name unincorporated county; state file lists active and suspended licenses only
Medford, OR 79.2% (96) 83.6% (73) 79.5% (83) — 79.5% (88) 81.5% (81) — name license list has current licenses only
Miami, FL 91.3% (1,029) 92.5% (1,002) 97.0% (846) 97.4% (908) 90.9% (1,475) 97.4% (311) 87.8% (74) name license list has current licenses only
Minneapolis, MN — 74.0% (497) 67.4% (298) 75.9% (1,483) 75.0% (1,424) 77.5% (71) 57.1% (35) name
Nashville, TN 55.2% (1,162) 48.8% (629) 44.2% (937) — — 43.8% (2,252) — name 37 months of data
New York City, NY — 96.5% (709) 86.9% (1,418) — — 95.6% (297) 75.9% (87) license number
Orlando, FL 95.5% (751) 95.3% (468) 91.2% (759) 97.7% (1,058) 95.6% (800) 97.9% (292) 94.2% (138) name
Palo Alto, CA 94.1% (426) 92.2% (192) 89.6% (182) 91.0% (398) 91.7% (420) 92.6% (81) 89.3% (103) license number, then name state file lists active and suspended licenses only
Pittsburgh, PA — — — — 36.1% (549) 74.2% (31) — name
Sacramento County, CA 85.1% (936) 87.4% (175) 81.8% (581) 78.9% (748) 83.8% (864) 86.1% (72) 79.2% (236) name unincorporated county; state file lists active and suspended licenses only
Saint Paul, MN 71.2% (750) 67.4% (463) 59.6% (282) 74.6% (1,301) 72.0% (955) 72.4% (58) 60.0% (30) name
San Diego, CA 72.9% (576) 66.1% (375) 61.6% (177) — 63.1% (534) 54.9% (91) 64.1% (423) name state file lists active and suspended licenses only
San Diego County, CA 89.2% (760) 88.2% (288) 87.2% (218) 85.4% (294) 92.4% (225) 93.8% (129) 83.6% (495) license number unincorporated county; state file lists active and suspended licenses only
San Francisco, CA — — — 91.7% (1,072) 94.3% (1,925) — 95.7% (116) license number state file lists active and suspended licenses only
Seattle, WA 83.5% (899) — 78.5% (316) 86.9% (61) — — 87.7% (81) name
Sugar Land, TX 77.3% (466) — 70.0% (230) — — — 70.3% (64) name
Tyler, TX 73.2% (235) — 69.4% (144) — — — 61.9% (63) name
Waco, TX 75.9% (203) 75.0% (132) 74.6% (134) — — — 68.9% (74) name
Wheaton, IL — — — 81.7% (295) — — — name finish = last passed inspection

Where license problems are most common

These are the 15 city-and-trade markets with the highest share of firms matched to a license that is expired, suspended, revoked or otherwise not active, among markets with 50 or more named firms (below that, two or three firms swing the share). "Not matched" is the share with no license record found at all.

City Trade Firms Active match License problem (firms) Not matched Matched by
Pittsburgh, PA Remodel 549 36.1% 22.4% (123) 41.5% name
Denton, TX Solar 76 64.5% 21.1% (16) 14.5% name
Tyler, TX Solar 63 61.9% 20.6% (13) 17.5% name
Waco, TX Solar 74 68.9% 16.2% (12) 14.9% name
New York City, NY Solar 87 75.9% 16.1% (14) 8.0% license number
Bellevue, WA Remodel 394 84.0% 14.2% (56) 0.8% L&I registration
Bellingham, WA Plumbing 50 76.0% 14.0% (7) 8.0% name
Bellevue, WA HVAC 570 85.4% 13.0% (74) 0.0% L&I registration
Bellingham, WA Remodel 101 70.3% 12.9% (13) 14.9% name
New York City, NY HVAC 1,418 86.9% 12.8% (181) 0.4% license number
Seattle, WA HVAC 316 78.5% 12.7% (40) 6.3% name
Saint Paul, MN New home 58 72.4% 12.1% (7) 15.5% name
Minneapolis, MN Plumbing 497 74.0% 11.9% (59) 14.1% name
Bellevue, WA New home 102 88.2% 11.8% (12) 0.0% L&I registration
Bellevue, WA Plumbing 358 86.6% 11.7% (42) 0.0% L&I registration

A problem flag is a record status, not proof of unlicensed work. A firm can let one license lapse and work under another, and a permit filed two years ago may predate the lapse. It is still the single most useful thing to check before signing: the compare page lists flagged firms after every firm without a problem.

Why a missing match is usually a name problem

The Matched by column says how each city's firms were tied to a license:

  • License number (New York City, San Francisco, unincorporated San Diego County, and Palo Alto before falling back to names). The permit carries the number, so a match is close to certain and a miss usually means the number is no longer in the state file.
  • Registration (Bellevue records each contractor's Washington L&I registration on the permit).
  • Name (everywhere else). Firms file permits as "ABC Electric" and hold the license as "ABC Electrical Services LLC", or the license belongs to the qualifying individual rather than the company. Pittsburgh's electrical licenses, for example, are held by the master electrician, so company names rarely match; that trade is left out.

So the active-match share is a floor. Cities matched by name sit lower in the table than cities matched by number, and the gap between them is mostly matching, not licensing. Where a state does not license a trade at all (general contractors and roofers in Texas; remodelers and home builders in Ohio; in Wheaton only roofers are matched, because Illinois licenses roofers statewide and the plumbers' state licenses are not linked), the trade drops out of the table rather than showing as unlicensed.

Check one contractor in five minutes

  1. Ask the contractor for the license number and the exact name on the license.
  2. Look it up with the issuing board. Our state guides walk through each lookup: California, Florida, Washington, Minnesota, Texas, Virginia.
  3. Confirm the status is active, the class covers your job, and the name matches your contract. If the license is suspended, our guide to a suspended contractor license says what that means for you.

The difference between hiring a licensed and an unlicensed firm is covered in licensed vs unlicensed contractors.

How we know this

What is counted. Firms that filed one or more permits on houses and small residential buildings in the trade, in the city's data window (three years to September 2026 in most cities; see the Notes column). Owner-builder entries are left out. Each firm was matched to the license file listed on its city's pages (a state board, or the city's own register in Boulder and Pittsburgh) by license number, registration or business name, as the Matched by column says. "Active match" means the matched record's status was Active; a license problem means its status was expired, suspended, revoked, inactive, surrendered, on hold or voluntarily terminated.

What is left out. Cities with no license file in our data (22 of the 53, including Chicago, Denver, Raleigh and Scottsdale). City-and-trade cells with fewer than 30 named firms, or where fewer than 40% of firms matched any license record, because there the file does not cover the trade or names cannot be matched. License-problem shares are not shown for cities whose file lists current licenses only (see the Notes column), and the problem ranking needs 50 or more firms.

Caveats. A match is to the license file as we last read it, not as of each permit date. Name matching misses firms that license under a different name and can, rarely, pair two firms with the same name. Nashville's figures come from Tennessee's license file matched by name. Trade names differ by city: the column is the closest match.

Regenerating. The tables are built by seo/tools/studies.py from the same files as every compare page; rerun it after a data refresh.

Numbers come from public permit records in 53 cities, data through October 22, 2026. Nobody paid to be on this page and nobody can.

Pick your city and see every contractor's license status →

Questions

  • Does "not matched" mean a contractor is unlicensed?

    No. Most permit files record the contractor's business name, not a license number, so we match names to the state or city license file. A firm that files permits under a trade name, a parent company's name or a misspelling will not match even when it is fully licensed. In Seattle, where matching is by name, 5.5% of electrical firms had no match. Treat no match as a reason to ask for the number, not as a finding.

  • What counts as a license problem?

    A firm whose matched license record is expired, suspended, revoked, inactive, surrendered or voluntarily terminated: the same flag the compare pages show next to the firm. In Minneapolis 171 of 1,483 roofing firms on home permits (11.5%) match a license with one of those statuses. The license may have lapsed after the permits were filed, so check the current status before you hire.

  • Why are some trades missing for Texas and Ohio cities?

    Texas and Ohio do not license general contractors, remodelers, home builders or roofers at the state level, so there is nothing to match those firms to. In Austin only 4.9% of remodel firms match an active license, which says more about the license file than the firms. We leave out any city and trade where fewer than 40% of firms match any license record.

  • Why do some cities show no expired or suspended licenses?

    Some license files list only licenses currently in force (Florida's file as matched for Miami, Oregon's CCB active-license list for Bend and Medford, Boulder's in-force list, Virginia's and Ohio's current lists). There a lapsed license shows up as no match. California's file lists active and suspended licenses but not expired ones. In Miami 97.4% of roofing firms match an active license.

  • How do I check a contractor's license myself?

    Ask for the license number and look it up with the board that issued it: the CSLB in California, Washington L&I's Verify a Contractor page, myfloridalicense.com in Florida, DPOR in Virginia, the Department of Labor and Industry lookup in Minnesota, the CCB in Oregon. Check the status, the license class (does it cover the work?) and the name on the license against the name on your contract. It takes about five minutes.

Build your own list

Pick your city and the kind of work. Every firm with a permit on record, sorted by what you value.