Contractor License Lookup & Verification: Bulk, Multi-State avatar

Contractor License Lookup & Verification: Bulk, Multi-State

Pricing

from $3.40 / 1,000 license records

Go to Apify Store
Contractor License Lookup & Verification: Bulk, Multi-State

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

Reliable Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

  1. 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.
  2. 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.
  3. 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

StateLicensing board and sourceWhat is coveredLicence of the data
CAContractors State License Board, CSLB Public Data Portal License Master fileAll renewed and renewable contractor licenses, with bonds, workers' comp and disciplinary bond flagsCalifornia public information (ca.gov use policy: public domain unless indicated)
WALabor & Industries, data.wa.gov contractor, bond and insurance datasetsConstruction, electrical, plumbing and elevator contractors, all statuses, bonds and liability insuranceOpen Data Commons PDDL
TXDepartment of Licensing and Regulation, data.texas.gov All LicensesA/C, electrical, sign, appliance, elevator and water well licenses (contractors and licensed trades)Texas open data, no reuse restriction stated
ORConstruction Contractors Board and Building Codes Division, data.oregon.govActive CCB licenses with bond, insurance and workers' comp exemption; electrical, plumbing, boiler and elevator contractorsPublic domain
MNDepartment of Labor and Industry license export filesResidential contractors, contractor registrations, plumbing and electrical businesses, enforcement flagMinnesota public government data
VADPOR Board for Contractors regulant listsCurrent Class A, B and C contractors with specialtiesFree public lists, no reuse restriction stated
OHConstruction Industry Licensing Board roster (Ohio eLicense)Active commercial electrical, HVAC, hydronics, plumbing and refrigeration contractorsOhio public records
CTDepartment of Consumer Protection, data.ct.govHome improvement, new home construction, major contractor and every trade contractor credential, all statusesPublic domain
CODORA, data.colorado.govElectrical, plumbing and water conditioning contractors, all statuses, discipline casesPublic domain
NYNYS 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 contractorsNYS open data terms; NYC Open Data
ILIDFPR, data.illinois.govLicensed roofing contractors, all statuses, disciplineODbL 1.0, https://opendatacommons.org/licenses/odbl/1-0/ (attribution: Illinois IDFPR). Derived rows are made available under ODbL 1.0
IADivision of Labor, data.iowa.govActive construction contractor registrationsCC BY 4.0, https://creativecommons.org/licenses/by/4.0/ (attribution: State of Iowa). Modified: fields renamed and normalised
DEDivision of Professional Regulation, data.delaware.govElectricians, plumbers and HVACR licenses (individuals), discipline flagPublic domain
VTDivision of Fire Safety, data.vermont.govElectricians, 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

FieldWhat it is
resultfound, not_found, unsupported_state, invalid_input or source_error
state, licenseNumberState and license number as the state writes it
businessName, dba, otherNamesLicense holder (legal or business name) and trade names
status, isActive, statusDetailClean status: active, expired, suspended, revoked or inactive, plus the state's own wording
licenseType, classificationsLicense type and classifications or specialties, with descriptions where the state defines them
entityTypeSole owner, corporation, LLC and so on, where published
issueDate, expirationDate, lastUpdatedDates in YYYY-MM-DD
bondsSurety, bond number, amount and dates (CA, WA, OR)
workersCompCoverage, insurer, policy and dates (CA), exemption (OR), coverage flag (NY registry)
liabilityInsuranceInsurer, policy, amount and dates (WA, OR)
disciplinaryActionflag plus details where the state publishes them (CA, MN, CO, IL, DE, NY registry); null when the state does not publish it
addressAddress 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
stateBusinessIdState business ID where published (WA UBI)
matchFor name rows: verdict, sameBusinessProbability, a level score and the evidence (name similarity, city, ZIP)
otherCandidatesUp to three other close license holders, so you can pick by hand
verifyUrlThe state's own lookup page for a manual second look
summaryOne sentence for a quick review

Fields a state does not publish stay null. Nothing is guessed.

How to verify contractor licenses step by step

  1. Open the Actor and put your list into Contractors to check, one object per contractor.
  2. Or paste STATE NUMBER lines into Quick list, for example CA 1000046, or link a CSV file.
  3. Click Start. The sample input finishes in under a minute when the state files are cached.
  4. 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

  1. 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.
  2. 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.
  3. Fixed rules in code turn that into the verdict:
VerdictMeaning
sameThe license belongs to the business in your list
uncertainCould be your business; a person should look
relatedSame owner or business family, but a different license holder
differentThe 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:

EventPriceWhen
License record$0.004A license found by its number
License record with name match$0.006A 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.00005Once 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.