ParseForge Scrapers

California CSLB Contractor Scraper

parseforge/cslb-california-scraper

Developer toolsLead generationAutomation

Scrape licensed contractor information from the California CSLB website, filtered by city, ZIP, or license classification. Returns license status, classification, and contact details.

Run this scraper See the API call
Total users
96
Monthly active
8
Total runs
1.4K
Bookmarked
4
Rating
5.0 (2)
Last modified
12 days ago

Overview

ParseForge

California CSLB Contractor Scraper

Scrape California licensed contractors from the CSLB public database, filtered by city, ZIP, or license classification. Each contractor record includes license status, classification, and contact details. No login or API key. Export to CSV, JSON, Excel, or XML.

The California Contractors State License Board (CSLB) keeps a public registry of every licensed contractor in the state, but browsing it manually is slow and the official search has no bulk export. This Actor reads the CSLB search results directly, filtered by city, ZIP code, or license classification, and returns each contractor as a clean, structured row.

Who uses it What they scrape CSLB for
Home service lead generators Build lists of licensed contractors in a city to sell leads or run outreach.
Market researchers Analyze the density of contractor types across California regions.
Compliance teams Verify contractor license status and classifications for vendor onboarding.
Insurance underwriters Assess the pool of licensed contractors in a geographic area for policy pricing.

What it does

This Actor collects licensed contractor information from the California CSLB website, filtered by city, ZIP code, or license classification, and returns each contractor as a flat row.

  • ๐Ÿ“ City filter: Enter a city name to get all licensed contractors in that city.
  • ๐Ÿ“ฎ ZIP code filter: Narrow results to a specific ZIP code for hyper-local lists.
  • ๐Ÿท๏ธ License classification filter: Choose from over 70 classifications, from general building to specialty trades.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with CSLB data

๐Ÿ“ˆ Build lead lists for home services.

A marketing agency runs the scraper with a city filter to collect every licensed plumber or electrician in that area, then uses the list for targeted ad campaigns.

๐Ÿ” Verify contractor licenses.

A property manager checks the license status and classification of a contractor before hiring, using the CSLB data to confirm they are active and qualified.

๐Ÿ“Š Analyze market saturation.

A business consultant pulls all contractors in a ZIP code to see how many competitors exist in a specific trade, informing market entry decisions.

๐Ÿ›ก๏ธ Screen vendors for compliance.

A construction firm's compliance officer uses the scraper to audit subcontractors, ensuring each holds the correct license classification and is in good standing.

Why choose this scraper

What you get
License status Know if a contractor is active, suspended, or revoked before you engage them.
Classification See exactly which trade the license covers, from A (General Engineering) to C-61 specialties.
Contact details Get the contractor's business name, address, and phone number for outreach.
CSLB number The unique license number for verification and record-keeping.

How it compares

This Actor focuses on bulk scraping by city, ZIP, or classification, while the competitors offer different search methods.

Feature ParseForge CSLB (Contractors State License Board) Scraper CSLB Contractor License Scraper, Lookup & Verification API
Filter by city Yes Not listed Not listed
Filter by ZIP code Yes Yes Not listed
Filter by license classification Yes Not listed Not listed
Search by license number Not listed Not listed Yes
Search by business or personnel name Not listed Not listed Yes
Includes bonds and workers' comp info Not listed Not listed Yes

Configure the run

Drive the Actor with a city, ZIP code, or license classification, alone or combined, and the scraper pulls matching contractors from the CSLB public database. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "city": "Los Angeles"
}

A larger pull:

{
  "maxItems": 200,
  "city": "Los Angeles"
}

Pricing

Pay-per-result: $0.025 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.50
1,000 results $25.00
10,000 results $250.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect more results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the California CSLB Contractor Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to CSLB through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/cslb-california-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the city name is spelled correctly and that you haven't combined filters that exclude each other. Try a broader city or remove the ZIP code filter.

The run fails with a timeout error.

Large result sets can take longer. Reduce the maximum number of contractors or narrow your filters to speed up the run.

The data seems incomplete.

Some contractors may not have all fields populated in the CSLB database. The scraper returns what is available.

Can I scrape by license number?

This Actor does not support license number search. Use the CSLB Contractor License Scraper, Lookup & Verification API for that.

FAQ

Question Answer
Do I need an API key or login to use this scraper? No, the CSLB public database is freely accessible, and this Actor reads it directly without any authentication.
Can I filter by both city and license classification at the same time? Yes, you can combine the city, ZIP code, and license classification filters in one run to narrow down results.
What data fields are returned for each contractor? The output includes the contractor's license number, business name, license status, classification, and contact information such as address and phone number.
How many contractors can I scrape in one run? You can set the maximum number of contractors per run, up to 1,000,000, depending on your plan.
Is the data up to date? The scraper pulls live data from the CSLB website at the time of the run, so it reflects the current public records.
Can I export the data to Excel? Yes, the Actor supports export to CSV, JSON, Excel, and XML formats.
What if a city has no licensed contractors? The run will return an empty dataset, and you can adjust your filters or try a different city.
Does this scraper work for all California cities? Yes, as long as the city is in the CSLB database, the scraper can find contractors there.
Are there any legal restrictions on using this data? The data is public information from a government website. You should still comply with CSLB's terms of use and applicable laws.
Can I schedule regular runs to keep my data fresh? Yes, you can schedule the Actor to run periodically using Apify's scheduler feature.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Contractors State License Board. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer Maximum number of contractors to collect per run. 10
city required string Filter results by city name. Los Angeles
licenseClassification string (78 options) Select the type of contractor license classification to search for. not set
zipCode string Filter results by ZIP code. not set

Pricing

from $21.00 per 1,000 results

Charged forWhat it isPrice each
Record Charged once per row obtained $0.021 to $0.025
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.005 to $0.0055

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~cslb-california-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

Rated 5.0 out of 5 across 2 reviews. Read them on Apify.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run California CSLB Contractor Scraper on Apify All scrapers