The verification ladder
Each rung is harder to clear than the last. The drop-off between "there's a lookup" and "you can actually get the data" is where most directories quietly give up — and where the verification moat is built.
71% of jurisdictions license general contractors statewide. 12 license only specific trades; 3 are purely city/county.
Every authority in our registry is a real public agency with a free online lookup — but one record at a time.
Only 18% publish a downloadable file of the whole roster — the difference between checking one hire and auditing a market.
486,586 board-verified-active licenses, the same figures behind our live verified badges.
The gap that matters: beyond the easy downloads
If verification were just about downloading free files, a directory would ingest the 9 bulk-data states and stop. ProFix has gone further: 23 of our 32 ingested states publish no free bulk dataset at all and had to be acquired through paginated lookups, official exports, and per-record collection. Those states are Alabama, Alaska, Arizona, Arkansas, Colorado, Connecticut, Delaware, District of Columbia, Illinois, Kansas, Kentucky, Louisiana, Maine, Massachusetts, Missouri, Nevada, New Hampshire, New Jersey, New York, Oregon, Vermont, Virginia, Wisconsin.
Put plainly: the 9 bulk-data authorities are the floor of what an honest directory should cover, not the ceiling. We treat them as the starting line.
Coverage even where there's no statewide GC license
A common misconception is that contractor verification only works in "strict" statewide- license states. Of the 32 states ProFix has ingested, 21 are statewide-model, 8 are trade-only (no statewide GC license, but we verify the state-licensed trades), and 3are local-only jurisdictions where we still match against the available public records. Verification is possible in more places than the "is there a statewide GC license" question alone suggests.
Methodology
This study joins two registries that already power the live site, so it can never silently diverge from what renders on a contractor page. The first is our verified directory of every state's official licensing authority, which carries each jurisdiction's licensing model and a flag for authorities that publish a free downloadable bulk dataset of licensees. The second is our license-verification stats — the exact helper behind every verified badge — which reports the states with an ingested live roster, the board, the verified-active count, and the dated snapshot.
- Rung 1 ("statewide")mixes rigorous competency licenses (exam plus bond, e.g. California's CSLB) with consumer-protection registration regimes (e.g. Pennsylvania, New Jersey). We do notimply every statewide regime is equally strict — the registry's per-state scope text says which is which.
- Rung 3 ("free bulk data") counts authorities that publish a downloadable dataset of licensees, not just an interactive one-record lookup.
- Rung 4 ("ingested") is reported from
verifiedStateCount()and the per-state verification stats, so the ingested count here always equals the "N-state roster" figure used everywhere else on the site. An ingested state means we hold its official roster (or a matched subset) and can confirm active status — it is not a claim that every listing in that state is verified.
The freshness date is the freshest dated board snapshot across all ingested rosters — a real last-verified date, never a build-time "today." This is a map of how accessiblelicense data is, not a ranking of how strict each state's licensing is.
All 51 jurisdictions on the ladder
Sorted alphabetically. "Bulk data" marks authorities that publish a free downloadable roster; "Verified-active" is the board-verified-active license count ProFix shows for the states it has ingested. Each state links to its ProFix verification page, which routes you to the official authority.
| State | Licensing model | Free bulk data | Ingested | Verified-active |
|---|---|---|---|---|
| Alabama (AL) | Statewide | - | Yes | 4,635 |
| Alaska (AK) | Statewide | - | Yes | 9,729 |
| Arizona (AZ) | Statewide | - | Yes | 45 |
| Arkansas (AR) | Statewide | - | Yes | 103 |
| California (CA) | Statewide | Yes | Yes | 164,842 |
| Colorado (CO) | Trades only | - | Yes | 4,696 |
| Connecticut (CT) | Statewide | - | Yes | 32 |
| Delaware (DE) | Trades only | - | Yes | 7,957 |
| District of Columbia (DC) | Statewide | - | Yes | 5,185 |
| Florida (FL) | Statewide | Yes | Yes | 68 |
| Georgia (GA) | Statewide | - | - | - |
| Hawaii (HI) | Statewide | Yes | Yes | 1,162 |
| Idaho (ID) | Statewide | - | - | - |
| Illinois (IL) | Trades only | - | Yes | 12,429 |
| Indiana (IN) | Trades only | - | - | - |
| Iowa (IA) | Statewide | Yes | Yes | 88 |
| Kansas (KS) | Local only | - | Yes | 1,925 |
| Kentucky (KY) | Trades only | - | Yes | 8,497 |
| Louisiana (LA) | Statewide | - | Yes | 369 |
| Maine (ME) | Trades only | - | Yes | 30,770 |
| Maryland (MD) | Statewide | - | - | - |
| Massachusetts (MA) | Statewide | - | Yes | 107,563 |
| Michigan (MI) | Statewide | - | - | - |
| Minnesota (MN) | Statewide | Yes | Yes | 25,554 |
| Mississippi (MS) | Statewide | - | - | - |
| Missouri (MO) | Local only | - | Yes | 1,413 |
| Montana (MT) | Statewide | Yes | Yes | 13,512 |
| Nebraska (NE) | Statewide | - | - | - |
| Nevada (NV) | Statewide | - | Yes | 473 |
| New Hampshire (NH) | Trades only | - | Yes | 20,613 |
| New Jersey (NJ) | Statewide | - | Yes | 180 |
| New Mexico (NM) | Statewide | - | - | - |
| New York (NY) | Local only | - | Yes | 2,730 |
| North Carolina (NC) | Statewide | - | - | - |
| North Dakota (ND) | Statewide | - | - | - |
| Ohio (OH) | Trades only | Yes | Yes | 7,447 |
| Oklahoma (OK) | Trades only | - | - | - |
| Oregon (OR) | Statewide | - | Yes | 8,359 |
| Pennsylvania (PA) | Statewide | - | - | - |
| Rhode Island (RI) | Statewide | - | - | - |
| South Carolina (SC) | Statewide | - | - | - |
| South Dakota (SD) | Trades only | - | - | - |
| Tennessee (TN) | Statewide | - | - | - |
| Texas (TX) | Trades only | Yes | Yes | 16,509 |
| Utah (UT) | Statewide | - | - | - |
| Vermont (VT) | Statewide | - | Yes | 5,479 |
| Virginia (VA) | Statewide | - | Yes | 198 |
| Washington (WA) | Statewide | Yes | Yes | 14,467 |
| West Virginia (WV) | Statewide | - | - | - |
| Wisconsin (WI) | Statewide | - | Yes | 9,557 |
| Wyoming (WY) | Trades only | - | - | - |
| Total | 36 statewide · 12 trade-only · 3 local-only | 9 bulk | 32 ingested | 486,586 |
Homeowner takeaway
"Check their license" only works if you know which rung your state is on. Start by finding out whether your state licenses general contractors statewide, then verify with the right authority — the state board if there is one, your city or county building department if there is not. ProFix's verification hub routes you to the official authority for any U.S. state, and where we have ingested the roster, we can confirm active status directly.
Frequently asked questions
Can you look up any contractor's license online?
Almost. Every one of the 51 U.S. jurisdictions (50 states plus DC) in our registry has an official public authority you can search — but only 36 license contractors statewide. In the other 15, "is this contractor licensed?" has no single statewide answer: 12 license only specific trades statewide and leave general contracting to local building departments, and 3 leave all contractor licensing to cities and counties.
What's the difference between a public lookup and bulk data?
A public lookup lets you check one contractor at a time. Bulk data is a free downloadable file of the whole roster — the difference between verifying a single hire and auditing an entire market. Only 9 of 51 jurisdictions publish a free bulk dataset: California, Florida, Hawaii, Iowa, Minnesota, Montana, Ohio, Texas, and Washington. The rest expose a per-record lookup only.
How many states has ProFix actually ingested?
As of 2026-06-28, ProFix has built a live verified-active license roster for 32 states, totaling 486,586 board-verified-active licenses. That is far more than the 9 states that publish convenient bulk data — 23 of the ingested states have no free bulk file and had to be acquired the hard way.
Does 'ingested' mean every contractor in the state is verified?
No. 'Ingested' means we hold that state's official board roster (or a matched subset) and can confirm active status against it. The verified-active count is the number of licenses normalizing to active under the board's own status language as of the dated snapshot — not a claim that every listing in the state is verified, and not a competency ranking.
Where does this data come from?
Two registries that already power the live site: our verified directory of each state's official licensing authority (which carries the licensing model and a free-bulk-data flag) and our license-verification stats (the same helper behind every verified badge on a contractor page). Every number on this page is computed from those two sources at render time — never hardcoded.