License Verification — Multi-State (Contractor & Professional) avatar

License Verification — Multi-State (Contractor & Professional)

Pricing

$40.00 / 1,000 license verifications

Go to Apify Store
License Verification — Multi-State (Contractor & Professional)

License Verification — Multi-State (Contractor & Professional)

Verify contractor and professional licenses against official state board sources (CA CSLB, TX TDLR, WA L&I, CT eLicensing, DE Professional Regulation, NYC DCWP) and get one normalized record per lookup: holder, status, issue/expiration dates, board, and source.

Pricing

$40.00 / 1,000 license verifications

Rating

0.0

(0)

Developer

Eric Trammell

Eric Trammell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Verify a contractor or professional license against the official state board source and get back one clean, normalized record — the same schema whether the license is from California, Texas, Washington, Connecticut, Delaware, or New York City.

Supported sources

StateBoardSource type
CAContractors State License Board (CSLB)Official license-check portal
TXDept. of Licensing and Regulation (TDLR) — all programsOfficial open-data API
WADept. of Labor & Industries (contractors)Official open-data API
CTDept. of Consumer Protection (eLicensing)Official open-data API
DEDivision of Professional RegulationOfficial open-data API
NYNYC Dept. of Consumer and Worker ProtectionOfficial open-data API (NYC-issued licenses only — not NY State)

Input

{
"queries": [
{ "state": "CA", "licenseNumber": "1155602" },
{ "state": "TX", "licenseNumber": "2716", "licenseType": "A/C Technician" },
{ "state": "WA", "licenseNumber": "ECOSTSC758NN" }
]
}
  • state (required): two-letter code.
  • licenseNumber (required): exact license number as issued by the board. CT also accepts the full credential code (e.g. HIC.0631057).
  • licenseType (optional): disambiguates numbers that repeat across programs — mainly TX (numbers repeat across TDLR programs) and CT (numbers repeat across credential types).

Output

One record per query:

{
"state": "CA",
"board": "California Contractors State License Board (CSLB)",
"licenseNumber": "1155602",
"licenseType": "B - GENERAL BUILDING",
"holderName": "AMERICAN RELIABLE CONSTRUCTION & REMODELING",
"status": "active",
"statusRaw": "This license is current and active. ...",
"issueDate": "2026-05-21",
"expirationDate": "2028-05-31",
"city": "LOS ANGELES",
"zip": "91430",
"found": true,
"sourceUrl": "https://www.cslb.ca.gov/OnlineServices/CheckLicenseII/LicenseDetail.aspx?LicNum=1155602",
"checkedAt": "2026-10-23T01:28:11.578Z",
"extras": { "bondAmount": 25000, "entity": "Corporation" }
}
  • status is normalized to active / expired / inactive / not_found; the board's own wording is always preserved in statusRaw.
  • TX note: the TDLR dataset publishes no status field, so TX status is derived from the expiration date and flagged in extras.statusSource.
  • Every record carries an extras object with board-specific detail (bond amount and surety for CA/WA, classifications, workers-comp status, disciplinary flags where published).

Reliability

Each state is an isolated module with its own fixture-backed smoke test (ops/smoke-test.js) that runs known licenses against the live sources and fails loudly if a portal changes shape — so a broken source is a one-file patch, never a silent bad answer.

Pricing model (when monetized)

Pay-per-event: one verification event per lookup that finds a record; misses are free. All lookups are plain HTTP (no browser automation), so platform compute per run stays minimal.

Pricing

Pay per event: $0.04 per successful verification (a lookup that finds a record). Lookups that find no record are free.