California Contractor License Lookup & Verification (CSLB) Bulk avatar

California Contractor License Lookup & Verification (CSLB) Bulk

Pricing

from $2.00 / 1,000 license records

Go to Apify Store
California Contractor License Lookup & Verification (CSLB) Bulk

California Contractor License Lookup & Verification (CSLB) Bulk

Search, look up & verify California CSLB contractor licenses in bulk — status, classification, expiration, address, phone, bond & workers' comp. Official CSLB public data. Export CSV/JSON/Excel.

Pricing

from $2.00 / 1,000 license records

Rating

0.0

(0)

Developer

Steven Carleton

Steven Carleton

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

17 days ago

Last modified

Categories

Share

California CSLB Contractor License Records Scraper — Bulk Lookup & Verification

Get every active licensed contractor in a California county as a clean spreadsheet — with business phone, bond, and workers' comp status on every record. Verify a subcontractor's standing, or build a targeted list of the trades you sell to, without typing license numbers into the CSLB website one at a time.

Data comes straight from CSLB's official statewide Master List (~243,000 licenses). No login, no API key, no HTML scraping, no captchas.

See real records for 5 cents before you commit

Set maxResults to 25 and run it once. You are charged $0.002 per license record — so a 25-record look costs $0.05, and a run that matches nothing costs only Apify's fraction-of-a-cent start event. Look at the output, confirm it is the shape you need, then raise the cap.

What one record actually looks like

Real output from a live run, trimmed to the fields most people check first:

{
"licenseNumber": "1002505",
"businessName": "ENSIGN BUILT CONSTRUCTION",
"businessType": "Sole Owner",
"city": "MARKLEEVILLE",
"county": "Alpine",
"phone": "(530) 307 3427",
"primaryStatus": "CLEAR",
"classifications": "B",
"expirationDate": "2027-03-31",
"workersCompCoverageType": "Exempt",
"contractorBondCompany": "BUSINESS ALLIANCE INSURANCE COMPANY",
"contractorBondAmount": "25000"
}

Phone, bond, and workers' comp come on every record — that is what CSLB publishes, and it is why this is the strongest of the three state license datasets for underwriting and outreach work.

What a real job costs

Pricing is $2.00 per 1,000 license records ($0.002 each), charged only on records actually returned:

What you pullRecordsCost
A look at the output before buying25$0.05
One classification in one county1,000$2.00
A capped county-wide contractor list5,000$10.00 maximum
The entire California master list~243,000~$486

maxResults is a hard ceiling, so a run can never cost more than maxResults × $0.002. If your filters only match 800 licenses, you pay $1.60 — not the cap.

What data do you get?

One result per license record:

FieldExample
licenseNumber1000002
businessName / fullBusinessNameDOCKERY RANDALL MARK
businessTypeSole Owner / Corporation / Limited Liability
addressLine1, city, state, zip, countyMailing address of record
phone(925) 383 0487
primaryStatus / secondaryStatusCLEAR (in good standing) or suspension flags
classificationsA, B, C10
issueDate / expirationDate2015-01-10 / 2027-01-31
workersCompCoverageType, wcInsuranceCompany, wcExpirationDateWorkers' comp coverage
contractorBondCompany, contractorBondNumber, contractorBondAmountContractor bond

Covers general building (B), engineering (A), electrical (C10), plumbing (C36), HVAC (C20), roofing (C39), painting (C33), landscaping (C27), and every other CSLB classification.

Use cases

  • Lead generation — build county- or city-level lists of active contractors with phone numbers for insurance, building materials, SaaS, CE courses, or financial products. Combine with expiresBefore to target contractors whose renewal is coming up.
  • License verification at scale — verify that subcontractors, vendors, or marketplace signups hold a CLEAR California license with active workers' comp.
  • Insurance & lending — underwriting checks: license status, bond amount, workers' comp coverage type and insurer in one record.
  • Compliance & risk — flag partners whose license is suspended (bond, workers' comp, judgement suspensions) or expiring; the suspended status filter returns exactly the flagged population.
  • Market sizing & analytics — count C10 electricians per county, track new licensees, analyze contractor density.

How to use it

{
"classifications": ["B"],
"counties": ["Los Angeles"],
"status": "clear",
"expiresBefore": "2026-12-31",
"maxResults": 5000
}

Leave classifications, counties, cities, and zips empty for statewide, all-classification pulls. maxResults caps the run — you are only charged for records actually returned.

Data source & freshness

Records come from the CSLB Public Data Portal's Master List of California Licensed Contractors (cslb.ca.gov), which CSLB refreshes weekly. This is public information published by the State of California. The master list contains licenses that are currently renewed or expired-but-renewable; cancelled, revoked, and expired non-renewable licenses are excluded by CSLB at the source. Email addresses are not published by CSLB (B&P Code Section 27) — no actor can legitimately provide them.

Because the Actor reads CSLB's official statewide master file rather than driving a one-at-a-time search form, it is fast and does not miss records — and there is no scraping layer to break when CSLB redesigns a page.

Reliability

Whale-sized pulls are safe by design: the ~78 MB master file is processed as a stream (memory-safe at any maxResults), downloads retry automatically across proxy tiers if CSLB's CDN cuts or blocks a connection, and progress is checkpointed so a platform restart never double-charges or drops records.

Pricing

Pay per result: $0.002 per license record ($2.00 per 1,000). You are charged per record actually returned, plus Apify's small platform events: a fraction-of-a-cent Actor start event and $0.00001 per dataset item — about 0.5% on top of the per-record price. No subscription; a run that finds nothing costs only the fraction-of-a-cent start event.

FAQ

How current is the data? CSLB regenerates the master list weekly (the run log shows the streaming source). Schedule the Actor weekly to keep your lists fresh.

Can I pull all ~243,000 licenses? Yes — leave the filters empty, set maxResults to 250000, and let it stream. A full statewide scan takes several minutes because CSLB serves the file slowly; filtered county/classification pulls that hit maxResults early finish much faster. For pulls this large, check the maximum-charge setting on the run so the platform does not stop it early.

What does primaryStatus: CLEAR mean? In good standing. Suspension-type statuses (contractor bond suspension, workers' comp suspension, judgement suspension...) are included when you set status to any or suspended.

Do you have the qualifier/personnel names or workers' comp history? CSLB publishes separate Personnel and Workers' Compensation files; support is on the roadmap — open an issue on the Actor's Issues tab if you need them.