California Contractor Directory by Trade & County (CSLB) avatar

California Contractor Directory by Trade & County (CSLB)

Pricing

$0.002 / dataset-item

Go to Apify Store
California Contractor Directory by Trade & County (CSLB)

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

5.0

(1)

Developer

ScrapeBench

ScrapeBench

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

3

Monthly active users

12 hours ago

Last modified

Share

Pain points

  • The CSLB site only checks one license at a time — there's no “give me every contractor in this county” export.
  • 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:

FieldDescription
license_numberCSLB license number
business_nameLicensed business name
business_typeSole Owner, Corporation, LLC, Partnership…
addressBusiness street address
cityCity
countyCounty
zip_codeZIP code
phoneBusiness phone
classificationsAll classification codes held (e.g. ["A","C10"])
statusLicense status (e.g. CLEAR)
issue_dateOriginal license issue date
expiration_dateLicense expiration date
surety_companyContractor bond surety company
bond_numberContractor bond number
workers_comp_typeWorkers' comp coverage type (Insurance / Exempt / …)
workers_comp_companyWorkers' comp insurance carrier
source_urlLink 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

FieldRequiredTypeDefaultDescription
listCountiesOnlynobooleanfalseIf 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.
licenseClassnostring"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. Required unless 'Discovery Mode' is on.
countynostring"Sacramento"Full California county name, e.g. 'Los Angeles', 'Sacramento', 'Orange'. Required unless 'Discovery Mode' is on.
maxResultsnointegerCap on the number of license records returned in a single run. Leave empty to return all matches.
proxyConfigurationnoobject{"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 classification + county per run.

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:

More actors, coverage and nightly verification results: scrapebench.dev