California Contractor Directory by Trade & County (CSLB)
Pricing
$0.002 / dataset-item
California Contractor Directory by Trade & County (CSLB)
Every licensed California contractor in a county by trade — license #, business, contact, classifications, bond & workers' comp — from the official CSLB registry.
Pricing
$0.002 / dataset-item
Rating
0.0
(0)
Developer
ScrapeBench
Maintained by CommunityActor stats
0
Bookmarked
58
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pain points
- CSLB's data portal does export contractors, but only 10 classifications x 10 counties at a time, as a manual .xls download you cannot put on a schedule.
- Building a contractor lead list by trade means manual searching and copy-paste.
- Raw registry pages aren't structured for a CRM, outreach tool, or analysis.
What we solve
- Pull every licensed contractor in a California county, filtered by trade, in one run.
- Clean, structured rows: business, contact, license status, classifications, bond, workers' comp.
- Straight from the official CSLB registry — ready for lead-gen, CRM import, or market sizing.
- Pay per result; no charge for empty runs.
Summary
Pull every licensed contractor in a California county by trade — business name, contact details, license status, classifications, bond, and workers' comp — straight from the official CSLB registry. One run returns a clean, structured list ready for lead generation, CRM import, license verification, or market analysis.
Who it's for
- B2B sales and lead-gen teams targeting California trades
- Suppliers, SaaS, insurers, and lenders building prospect lists
- Agencies running outreach campaigns by trade and county
- Market researchers sizing the California contractor market
How to use
Set the input, run the actor, and collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API). Example input:
{"licenseClass": "C-10","county": "Los Angeles","maxResults": 1000}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
license_number | CSLB license number |
business_name | Licensed business name |
business_type | Sole Owner, Corporation, LLC, Partnership… |
address | Business street address |
city | City |
county | County |
zip_code | ZIP code |
phone | Business phone |
classifications | All classification codes held (e.g. ["A","C10"]) |
status | License status (e.g. CLEAR) |
issue_date | Original license issue date |
expiration_date | License expiration date |
surety_company | Contractor bond surety company |
bond_number | Contractor bond number |
workers_comp_type | Workers' comp coverage type (Insurance / Exempt / …) |
workers_comp_company | Workers' comp insurance carrier |
source_url | Link to the official CSLB license detail page |
Sample:
{"license_number": "22726","business_name": "RANSOME COMPANY","business_type": "Corporation","address": "1933 WILLIAMS STREET","city": "SAN LEANDRO","county": "Alameda","zip_code": "94577","phone": "(510) 686 9900","classifications": ["A","C10"],"status": "CLEAR","issue_date": "07/01/1932","expiration_date": "10/31/2027","surety_company": "HARCO NATIONAL INSURANCE COMPANY","bond_number": "354811","workers_comp_type": "Workers' Compensation Insurance","workers_comp_company": "TRAVELERS PROPERTY CASUALTY COMPANY OF AMERICA","source_url": "https://www.cslb.ca.gov/onlineservices/checklicenseII/LicenseDetail.aspx?LicNum=22726"}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
listCountiesOnly | no | boolean | false | If true, skip the scrape and just return every valid California county name (from the live CSLB form) as the dataset. Free — not charged. Use this to look up the exact county spelling before running a real scrape. |
licenseClass | no | string | "C-10" | CSLB classification code, e.g. 'B' (General Building), 'C-10' (Electrical), 'C-36' (Plumbing). Returns every active contractor holding this classification in the chosen county. Leave it out and the run returns the free county list instead of failing. |
licenseClasses | no | array | ["C-10", "C-20"] | Pull several trades in ONE run, e.g. C-10 and C-20 and C-36. Combined with 'License classification' if you fill both. Every selected trade is fetched for every selected county, and a contractor holding two of them is returned (and billed) once, not twice. |
county | no | string | "Sacramento" | California county name, e.g. 'Los Angeles', 'Sacramento County', 'orange'. Case, spacing and a trailing 'County' do not matter. If it is missing or is not a California county, the run returns the free county list instead of failing. |
counties | no | array | ["Sacramento", "Placer"] | Pull several counties in ONE run, e.g. Los Angeles and Orange and San Diego. Combined with 'County' if you fill both. Use Discovery Mode to list every valid county name first. |
maxResults | no | integer | — | Cap on the number of license records returned PER trade+county download, not per run — so adding counties can never silently truncate the ones later in the list. Leave empty to return all matches. |
proxyConfiguration | no | object | {"useApifyProxy": false} | Optional. CSLB is usually reachable directly; enable a proxy (e.g. residential) only if runs return no data because the IP is blocked. |
Pricing (Pay Per Event)
You pay per result (dataset-item) — no charge for empty runs. Example: 500 C-10 electricians in Los Angeles County at $0.002/result ≈ $1.00.
Illustrative — the final per-result price is set at publish time. Apify platform usage (compute) is billed separately per your plan.
Use cases
- B2B lead lists — suppliers, SaaS, and insurers target licensed electricians, plumbers, or builders by county.
- Agency outreach — pull a county-by-trade list, score it, and export to a CRM for campaigns.
- Market sizing — segment the California contractor market by classification and county.
- List enrichment — add license, bond, and workers'-comp data to contractors you already track.
Why this actor
- Bulk export by trade + county — not one-license-at-a-time lookups.
- Clean, structured, CRM-ready rows straight from the official CSLB registry.
- Pay per result; empty runs are free.
Limitations & updates
Covers California's CSLB public registry only (public record under Business & Professions Code §7000 et seq.). Results reflect the live registry and change as it updates. One run can cover several classifications and counties at once (every trade is pulled for every county).
FAQ
What does one run return?
Every active licensed contractor in the chosen California county for the chosen license class/trade — business, contact, classifications, bond, and workers' comp.
Where's the data from?
The official California CSLB registry — public license records.
How do I target a trade?
Use the licenseClass input (e.g. C-10 electrical, B general building, C-36 plumbing) plus the county.
How am I charged?
Pay-per-result — you only pay for the contractor rows returned, and empty runs are free.
Is this lead data compliant?
It's public, non-personal business-license data from CSLB — not consumer or PII data.
How fresh is it?
It reflects the live CSLB registry at run time.
Which actor to choose
Part of the California CSLB contractor suite — pick the one that fits your goal:
- California Contractor Directory by Trade & County (CSLB) (this actor) — You want a bulk lead list — every licensed contractor of a given trade (classification) in a county, in one run.
- California Contractor License Lookup & Verify (CSLB) — You want to verify or look up specific contractors — by license number, business name, or a person's name (owner/personnel).
Guides & use cases
Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:
- How-to: How to run California Contractor Directory by Trade & County (CSLB)
- Use case: All Licensed Electricians in Los Angeles County
- Use case: General Building Contractors in San Diego County
- Use case: Plumbing Contractors in Orange County
More actors, coverage and nightly verification results: scrapebench.dev