Scrapers.lat logo scrapers.lat
Business

California CSLB Contractor License Scraper

Scrape licensed California contractor records from the CSLB public portal by classification and county. Extract license number, business name, status, trade classifications, issue and expiry dates, bond, workers comp, address, county and phone. Export to JSON, CSV or Excel.

17 fields per record JSON · CSV · Excel · API Pay per use
california-cslb-scraper.json 200 OK
{
  "businessName": "BECK ROOFING COMPANY INC",
  "licenseNumber": "263060",
  "status": "CLEAR",
  "url": "https://www.cslb.ca.gov/onlineservices/checkli…",
  "businessType": "Corporation",
  "classifications": ["C39"],
  "issueDate": "1970-05-14",
  "expireDate": "2027-08-31",
  "address": "PO BOX 234"
}
What you get

Every run returns clean, typed records, ready for your CRM, spreadsheet or database.

  • One clean record per result, deduped and normalized
  • Stable schema in JSON, CSV or Excel, or read it via the Apify API
  • Pay per use in the cloud, nothing to install or maintain
Fields it returns
Business NameLicense NumberStatusUrlBusiness TypeClassificationsIssue DateExpire DateAddressCityStateZipCountyPhone
Sample output

A real example record, exactly the shape you receive.

Business NameLicense NumberStatusUrl
BECK ROOFING COMPANY INC263060CLEARhttps://www.cslb.ca.gov/onlineser…
VINCENT ROOFING CO INC312749CLEARhttps://www.cslb.ca.gov/onlineser…
FRANK FIALA ROOFING INC686707CLEARhttps://www.cslb.ca.gov/onlineser…
GET /california-cslb-scraper
{
  "businessName": "BECK ROOFING COMPANY INC",
  "licenseNumber": "263060",
  "status": "CLEAR",
  "url": "https://www.cslb.ca.gov/onlineservices/checkli…",
  "businessType": "Corporation",
  "classifications": ["C39"],
  "issueDate": "1970-05-14",
  "expireDate": "2027-08-31",
  "address": "PO BOX 234"
}
The site we read — California CSLB Contractor License Scraper
The site we read

Frequently asked questions

How do I pull every electrician in Los Angeles County?

Select classification C-10 Electrical and county Los Angeles, then run the actor. It downloads the full CSLB export for that combination and returns one record per contractor. You can select up to 10 classifications and 10 counties per run.

Does it include the contractor's bond and workers' compensation details?

Yes. With Include Bond and Workers' Compensation Details enabled, each record carries the surety company and bond number plus the workers' comp coverage type. Contractors who are exempt or self-insured are labeled accordingly instead of showing an insurer.

Can I get contractors across several counties at once?

Yes. Add multiple counties to the Counties field and the export covers all of them in a single run. Use Max Items to cap how many records you collect.

Are email addresses included?

No. The CSLB does not release contractor email addresses under California Business and Professions Code Section 27, so they are not part of the data and are never invented.

What does the status field tell me?

It reflects the current standing of the license as recorded by the CSLB, such as CLEAR for a license in good standing, or EXPIRED and SUSPENDED for licenses that are not currently valid.

Ready when you are.

Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.