California Contractor License Lookup & Verification (CSLB) Bulk
Pricing
from $2.00 / 1,000 license records
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
Maintained by CommunityActor 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 pull | Records | Cost |
|---|---|---|
| A look at the output before buying | 25 | $0.05 |
| One classification in one county | 1,000 | $2.00 |
| A capped county-wide contractor list | 5,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:
| Field | Example |
|---|---|
licenseNumber | 1000002 |
businessName / fullBusinessName | DOCKERY RANDALL MARK |
businessType | Sole Owner / Corporation / Limited Liability |
addressLine1, city, state, zip, county | Mailing address of record |
phone | (925) 383 0487 |
primaryStatus / secondaryStatus | CLEAR (in good standing) or suspension flags |
classifications | A, B, C10 |
issueDate / expirationDate | 2015-01-10 / 2027-01-31 |
workersCompCoverageType, wcInsuranceCompany, wcExpirationDate | Workers' comp coverage |
contractorBondCompany, contractorBondNumber, contractorBondAmount | Contractor 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
expiresBeforeto 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
suspendedstatus 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.