Contractor License Lookup & Verification: Bulk, Multi-State
Pricing
from $3.40 / 1,000 license records
Contractor License Lookup & Verification: Bulk, Multi-State
Contractor license lookup for many US states in one run. Verify license numbers or find a contractor by business name: status, classifications, expiry, bonds, insurance and an AI match score.
Pricing
from $3.40 / 1,000 license records
Rating
0.0
(0)
Developer
Reliable Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
This contractor license lookup checks contractor licenses in 14 US states in one run, from the official open data of each state licensing board. Give a list of license numbers, business names, or both. Every row comes back in the same schema: license holder, DBA, a clean status (active, expired, suspended, revoked or inactive), license type and classifications, issue and expiry dates, bonds, insurance and disciplinary flags where the state publishes them, the business address, the data date and a link to the state's own lookup page. When you search by business name, you also get an AI match score that tells you if the license holder is the same business as the one in your list.
What does Contractor License Lookup do?
State license lookup pages check one contractor at a time, each state looks different, and most of them sit behind a captcha. This Actor answers three jobs in bulk:
- Verify license numbers. Paste hundreds of numbers with their state. You see who holds each license and whether it is active today, plus expiry, bond and insurance details where published.
- Find the license of a contractor by name. Give the business name and state (city or ZIP help). The Actor finds the closest license holders and scores the best one.
- Check that a license belongs to the business you deal with. Give the number and the name. The Actor looks up the license and tells you if the holder is the same business, a related one or a different one.
Licenses that are not found, states that are not covered yet and invalid rows are free.
Who uses it
- Insurers and surety companies checking contractor status before binding or renewing a policy or bond
- Lenders, property managers and home warranty companies vetting contractors on a job
- Home service marketplaces and lead platforms verifying every contractor before listing them
- General contractors checking subcontractors, and procurement teams screening bidders
- Compliance teams that need a dated record of the check
States and sources
| State | Licensing board and source | What is covered | Licence of the data |
|---|---|---|---|
| CA | Contractors State License Board, CSLB Public Data Portal License Master file | All renewed and renewable contractor licenses, with bonds, workers' comp and disciplinary bond flags | California public information (ca.gov use policy: public domain unless indicated) |
| WA | Labor & Industries, data.wa.gov contractor, bond and insurance datasets | Construction, electrical, plumbing and elevator contractors, all statuses, bonds and liability insurance | Open Data Commons PDDL |
| TX | Department of Licensing and Regulation, data.texas.gov All Licenses | A/C, electrical, sign, appliance, elevator and water well licenses (contractors and licensed trades) | Texas open data, no reuse restriction stated |
| OR | Construction Contractors Board and Building Codes Division, data.oregon.gov | Active CCB licenses with bond, insurance and workers' comp exemption; electrical, plumbing, boiler and elevator contractors | Public domain |
| MN | Department of Labor and Industry license export files | Residential contractors, contractor registrations, plumbing and electrical businesses, enforcement flag | Minnesota public government data |
| VA | DPOR Board for Contractors regulant lists | Current Class A, B and C contractors with specialties | Free public lists, no reuse restriction stated |
| OH | Construction Industry Licensing Board roster (Ohio eLicense) | Active commercial electrical, HVAC, hydronics, plumbing and refrigeration contractors | Ohio public records |
| CT | Department of Consumer Protection, data.ct.gov | Home improvement, new home construction, major contractor and every trade contractor credential, all statuses | Public domain |
| CO | DORA, data.colorado.gov | Electrical, plumbing and water conditioning contractors, all statuses, discipline cases | Public domain |
| NY | NYS Department of Labor (data.ny.gov) and New York City DOB and DCWP (NYC Open Data) | NYS contractor registry, elevator and mold contractors; NYC general, electrical, plumbing and home improvement contractors | NYS open data terms; NYC Open Data |
| IL | IDFPR, data.illinois.gov | Licensed roofing contractors, all statuses, discipline | ODbL 1.0, https://opendatacommons.org/licenses/odbl/1-0/ (attribution: Illinois IDFPR). Derived rows are made available under ODbL 1.0 |
| IA | Division of Labor, data.iowa.gov | Active construction contractor registrations | CC BY 4.0, https://creativecommons.org/licenses/by/4.0/ (attribution: State of Iowa). Modified: fields renamed and normalised |
| DE | Division of Professional Regulation, data.delaware.gov | Electricians, plumbers and HVACR licenses (individuals), discipline flag | Public domain |
| VT | Division of Fire Safety, data.vermont.gov | Electricians, plumbers, gas and oil installers (individuals) | ODbL 1.0, https://opendatacommons.org/licenses/odbl/1-0/ (attribution: Vermont Division of Fire Safety). Derived rows are made available under ODbL 1.0 |
Every row carries sourceName, sourceUrl, sourceLicence and dataDate, so you always know where a value came from
and how fresh it is. Bulk files are cached and refreshed every one to three days, in line with how often each state
updates them. API states are read live, with at least one second between two requests to the same open-data portal.
Cache in your Apify account: the state bulk files (CA, MN, VA, IA, OH) are stored as compressed databases in a named
key-value store called rt-contractor-license-verifier-cache in your own Apify account, so later runs do not download
them again. Each state file is rebuilt when it is older than one to three days. The store counts towards your Apify
storage, and it contains the full state files as published, including sole owners and individual tradespeople. You can
delete it at any time under Storage, Key-value stores in Apify Console; the next run builds it again.
Coming: Florida and Arizona publish files but behind a bot challenge, which this Actor does not bypass. Utah sells
its lists. Louisiana, North Carolina, Massachusetts, Maryland and Nevada offer lookup pages only. Pennsylvania has no
statewide contractor records in open data. Rows for these states come back as unsupported_state and are free. We add
a state as soon as its board publishes open data.
What data you get
| Field | What it is |
|---|---|
result | found, not_found, unsupported_state, invalid_input or source_error |
state, licenseNumber | State and license number as the state writes it |
businessName, dba, otherNames | License holder (legal or business name) and trade names |
status, isActive, statusDetail | Clean status: active, expired, suspended, revoked or inactive, plus the state's own wording |
licenseType, classifications | License type and classifications or specialties, with descriptions where the state defines them |
entityType | Sole owner, corporation, LLC and so on, where published |
issueDate, expirationDate, lastUpdated | Dates in YYYY-MM-DD |
bonds | Surety, bond number, amount and dates (CA, WA, OR) |
workersComp | Coverage, insurer, policy and dates (CA), exemption (OR), coverage flag (NY registry) |
liabilityInsurance | Insurer, policy, amount and dates (WA, OR) |
disciplinaryAction | flag plus details where the state publishes them (CA, MN, CO, IL, DE, NY registry); null when the state does not publish it |
address | Address of record as the state publishes it. For sole owners in some states (for example Iowa, Virginia and California) this can be a street address |
stateBusinessId | State business ID where published (WA UBI) |
match | For name rows: verdict, sameBusinessProbability, a level score and the evidence (name similarity, city, ZIP) |
otherCandidates | Up to three other close license holders, so you can pick by hand |
verifyUrl | The state's own lookup page for a manual second look |
summary | One sentence for a quick review |
Fields a state does not publish stay null. Nothing is guessed.
How to verify contractor licenses step by step
- Open the Actor and put your list into Contractors to check, one object per contractor.
- Or paste
STATE NUMBERlines into Quick list, for exampleCA 1000046, or link a CSV file. - Click Start. The sample input finishes in under a minute when the state files are cached.
- Download the results as JSON, CSV or Excel, or read them through the Apify API.
[{"reference": "C-1", "state": "CA", "licenseNumber": "1000046", "businessName": "Bayside Electric"},{"reference": "C-2", "state": "WA", "businessName": "04 Construction LLC", "city": "Vancouver"},{"reference": "C-3", "state": "TX", "licenseNumber": "TECL 25230"}]
Example output
{"reference": "C-1","result": "found","state": "CA","licenseNumber": "1000046","businessName": "M TABBERT INC","dba": "BAYSIDE ELECTRIC","status": "active","isActive": true,"statusDetail": "CLEAR","licenseType": "Contractor license","classifications": [{"code": "C-10", "description": "Electrical Contractor"}],"entityType": "Corporation","issueDate": "2015-01-10","expirationDate": "2027-08-31","bonds": [{"type": "contractor's bond", "surety": "AMERICAN CONTRACTORS INDEMNITY COMPANY", "bondNumber": "100350527", "amountUsd": 25000, "effectiveDate": "2023-01-01", "cancellationDate": null}],"workersComp": {"coverage": "Workers' Compensation Insurance", "insurer": "OMAHA NATIONAL CASUALTY COMPANY", "policyNumber": "ONCC1701425401", "effectiveDate": "2026-07-06", "expirationDate": "2027-07-06"},"disciplinaryAction": {"flag": false, "details": []},"address": {"street": "131 SUNSET AVE STE E-337", "city": "SUISUN CITY", "state": "CA", "zip": "94585", "county": "Solano"},"match": {"verdict": "same", "sameBusinessProbability": 0.92, "evidence": {"nameSimilarity0to100": 100, "city": "unknown", "zip": "unknown", "score0to100": 70}},"sourceName": "CSLB Public Data Portal, License Master file","verifyUrl": "https://www.cslb.ca.gov/OnlineServices/CheckLicenseII/LicenseDetail.aspx?LicNum=1000046","dataDate": "2026-10-28","summary": "CA license 1000046: M TABBERT INC (DBA BAYSIDE ELECTRIC), active, expires 2027-08-31. Same business as your record (probability 0.92)."}
How the business match works
- Code compares your row with each license holder found: name similarity after removing legal forms (Inc, LLC, Corp), across the legal name, DBA and other names, plus city and ZIP.
- An AI judge looks at both records and the code checks, and returns a calibrated probability that it is the same license holder, plus a level on a three-step scale.
- Fixed rules in code turn that into the verdict:
| Verdict | Meaning |
|---|---|
same | The license belongs to the business in your list |
uncertain | Could be your business; a person should look |
related | Same owner or business family, but a different license holder |
different | The license belongs to someone else |
Sharing only a trade word such as "construction" or "electric" is not enough for same. Switch AI match score off
to get the name similarity only; those rows are billed as plain license records.
Use it through the API
curl -X POST "https://api.apify.com/v2/acts/reliable_tools~contractor-license-lookup/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"contractors": [{"state": "CA", "licenseNumber": "1000046"}, {"state": "OR", "businessName": "Acocella Tile Inc"}]}'
The run summary (counts per result, status and verdict, and the data date of each state) is in the key-value store
record SUMMARY.
Pricing
Pay per result, no subscription:
| Event | Price | When |
|---|---|---|
| License record | $0.004 | A license found by its number |
| License record with name match | $0.006 | A row with a business name: the best license record plus the AI match score (instead of the license record price, not on top) |
| Actor start | $0.00005 | Once per run |
Not found, unsupported state, invalid input and source errors are free. 1,000 verified licenses cost about $4.
FAQ
Where does the data come from? Only from open data that the state boards publish for download or through their open-data APIs, under the licences listed in the sources table. The Actor never scrapes state lookup pages, never solves captchas and never logs in. This is not legal advice.
Can I use it to screen people? No. The output is not a consumer report under the US Fair Credit Reporting Act. Do not use it for decisions about employment, consumer credit, personal insurance or tenancy.
Colorado data notice: The data made available here has been modified for use from its original source, which is the State of Colorado. THE STATE OF COLORADO MAKES NO REPRESENTATIONS OR WARRANTY AS TO THE COMPLETENESS, ACCURACY, TIMELINESS, OR CONTENT OF ANY DATA MADE AVAILABLE THROUGH THIS SITE. THE STATE OF COLORADO EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. The data is subject to change as modifications and updates are complete. It is understood that the information contained in the Web feed is being used at one's own risk.
Reliable Tools is not affiliated with, endorsed or authorised by any state licensing board named here.
How current is the data? As current as each state's open data. Each board refreshes its files or datasets on its
own cycle, from daily to weekly. The dataDate field shows
the date of the data behind every row. For a legal decision, confirm on the state page in verifyUrl.
Why is a California license not found? The CSLB master file contains renewed licenses and expired licenses that can
still be renewed. Cancelled, revoked and long-expired licenses are not in it, so those come back as not_found with a
note, and you are not charged.
Why does a Texas number show an electrician and not a contractor? Texas reuses numbers across license types. The
Actor shows the contractor license first. Write the number with its prefix (TECL 12345, TACLA12345C) or add
licenseType to pick one.
Does it show workers' comp and bonds for every state? Only where the state publishes them in open data: California
(bond and workers' comp), Washington (bond and liability insurance), Oregon (bond, liability insurance and workers' comp
exemption) and the New York contractor registry (workers' comp flag). Other states return null for these fields.
Can I check thousands of contractors? Yes. License numbers are looked up in batches. For very large Socrata-state lists you can add a free open-data app token.
Something broke or a field is missing? Open an issue on the Issues tab and we'll look at it.
About Reliable Tools
This Actor is made by Reliable Tools. We build tools that return clean, official data plus an AI score with a probability, so you can filter and act on the results straight away. Our focus is compliance, verification and B2B research.
If a field is missing or a license does not come back the way you expect, open an issue on the Issues tab. We read every one and usually reply within a day. You can find our other Actors on our profile page.