Contractor license verification, state by state

One endpoint, one response shape, ten jurisdictions. Each page below says which agency the data comes from and — just as importantly — what that agency does not publish.

Try a free lookup — no signup, right here on this page. For programmatic access, take a free API key — 250 requests a month, no card. Also on RapidAPI and, if you would rather not write code at all, the Apify Store.

California (CA) best-effort Colorado (CO) Connecticut (CT) Delaware (DE) Florida (FL) best-effort Illinois (IL) New York City (NY) Oregon (OR) Texas (TX) Washington (WA)

Coverage is uneven because the states are uneven. Illinois publishes roofing contractors and nothing else. Texas licenses trades but not general contracting. Colorado licenses no general contractors at all — that is a city matter there — so CO answers for electricians and plumbers. New York has no statewide license at all, so NY answers from New York City's two registers. Oregon takes two as well: the CCB licenses contractors and the Building Codes Division licenses the electrical, plumbing, boiler and elevator trades, and OR answers from both. Florida, Texas and Oregon publish no status column, so status for those three is derived from the expiration date and a suspended license that has not yet run out reads ACTIVE. Those limits are on the pages rather than buried in a footnote, because finding out after you have integrated is worse than knowing now.

Seven of these read from an official API or bulk extract the board publishes itself — Colorado, Connecticut, Illinois, New York City, Oregon, Texas, Washington. The two marked best-effort above are different: California has no official feed at all, so this reads the same public search page a browser would, and Florida's board has been blocking its own extract's daily download since 2026-08-05. Both still return real data — every record carries a data_as_of timestamp so you can see exactly how current it is — but the channel underneath them is more fragile than the other seven, and that is worth knowing before you build on either one.

You do not have to take any of that on trust. /healthz is public and returns the current data_as_of for every state served from an extract, right now, with no key. If one of them is older than it should be, you will see it there before you see it in a response — which is the opposite of how this usually goes.

The API is on RapidAPI with a free tier: Contractor License Verification. It is also on the Apify Store, if you would rather not write code at all: Contractor License Lookup & Verification. Full schema at /docs.