Contractor License Aggregator - CSLB California
Pricing
from $21.00 / 1,000 license records
Contractor License Aggregator - CSLB California
Look up licensed contractors (plumbing, electrical, HVAC and 75 other trades) by ZIP code from the California Contractors State License Board, with classifications, bonding, workers' comp and personnel.
Pricing
from $21.00 / 1,000 license records
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Contractor License Aggregator - CSLB California
What does Contractor License Aggregator do?
Contractor License Aggregator looks up licensed contractors from the California Contractors State License Board (CSLB) - the state agency that licenses every construction trade in California, from plumbing and electrical to roofing, solar and welding. Give it one or more ZIP codes and a trade classification, and it returns the licensed businesses in that area with full license detail: entity type, issue/expiration dates, status, trade classifications held, surety bond info, workers' compensation status, and the officers/qualifying individuals behind the license.
No login, no CAPTCHA-solving on your end - the actor handles CSLB's session flow itself. Runs on the Apify platform with API access, scheduling, monitoring, and CSV/Excel/JSON export.
Why use Contractor License Aggregator?
- Lead generation - find licensed plumbers, electricians, HVAC techs or any of CSLB's 78 trade classifications in a target ZIP code, with phone and address ready to call.
- Vendor/subcontractor vetting - check a contractor's license status, bond, and workers' comp before hiring them, at scale.
- Insurance & bonding research - pull the surety company and bond amount for every active license in a market.
- Compliance monitoring - track license expirations and status changes for a list of contractors you already work with.
How Contractor License Aggregator compares to alternatives
Measured against the contractor-license actors on the Apify Store (September 2026):
| This actor | Single-state license actors | |
|---|---|---|
| State coverage | Multiple state boards aggregated in one run | One board each (AZ ROC, CA CSLB, OH OCILB) |
| Billable data events | 5 | 1 |
| One schema across states | Yes, normalized fields | Different fields per actor |
| Price per 1,000 licenses | $25.00 | $2.00 to $5.00 per state actor |
Single-state alternatives are cheaper per row; this aggregator replaces stitching several actors and schemas together when you need multi-state coverage in one dataset.
How to use Contractor License Aggregator
- Go to the Input tab and enter one or more California ZIP codes.
- Pick a trade classification from the dropdown (all 78 real CSLB classifications - plumbing, electrical, HVAC, roofing, solar, and more).
- Turn on the extra data you need: classifications, bonding, workers' compensation, personnel - each is billed separately, only pay for what you use.
- Click Run. Download results as JSON, CSV, or Excel from the dataset viewer.
Input
- ZIP codes - one or more 5-digit California ZIP codes.
- Trade classification - CSLB license classification (e.g.
C-36Plumbing,C-10Electrical,C-20HVAC). - Max Items - cap on how many licenses to process (10 on free plan).
- Classifications / Bonding / Workers' compensation / Personnel - toggle which extra records to fetch per license.
Example input:
{"zipCodes": ["90210"],"classification": "C-36","maxItems": 10,"includeClassifications": true,"includeBonding": true,"includeWorkersComp": true,"includePersonnel": true}
Output
The dataset contains up to five record types per license:
- License record - business name, address, phone, entity type, issue/expire dates, status.
- Classification record - one row per trade classification the license holds.
- Bonding record - surety bond company, number, amount, effective date, or exemption.
- Workers' comp record - insurance carrier, policy dates, or exemption.
- Personnel record - officers and qualifying individuals, with their title/role.
{"licenseNumber": "996599","businessName": "MELT CONSTRUCTION INC","address": "1411 TOWER GROVE DRIVE, BEVERLY HILLS, CA 90210","phone": "(310) 993-2319","entity": "Corporation","issueDate": "09/10/2014","expireDate": "09/30/2026","status": "This license is current and active."}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data table
| Field | Description |
|---|---|
licenseNumber | CSLB license number |
businessName | Licensed business or contractor name |
address / phone | Business address and phone on file |
entity | Corporation, Sole Ownership, Partnership, LLC |
issueDate / expireDate | License issue and expiration dates |
status | Current license status (active, expired, suspended, etc. - as published by CSLB) |
code / description | Trade classification code and name (classification records) |
bonding | Surety bond details or exemption note |
workersComp | Workers' compensation insurance status or exemption |
name / title | Officer/qualifying individual name and role (personnel records) |
Pricing / Cost estimation
This actor uses Pay Per Event pricing - you only pay for the record types you actually request. The base license record is the primary event; classifications, bonding, workers' comp and personnel are each optional add-ons priced separately and only charged when you turn them on.
A search that returns 100 licenses with all extras on costs roughly 100 license records plus however many classification/bonding/workers-comp/personnel rows those licenses actually have (most licenses have 1-3 classifications and one officer).
Tips or Advanced options
- Turn on only what you need - each extra toggle is a separate billable event; if you just need business name + status, leave classifications/bonding/workers-comp/personnel off.
- One ZIP + classification per search - CSLB's public search returns a bounded list per ZIP/trade combination; run multiple ZIP codes in one input for broader coverage.
- Schedule it - combine with Apify scheduling to catch license status or expiration changes over time.
FAQ, disclaimers, and support
Is this legal? This actor only extracts publicly available license information that CSLB itself publishes for consumer protection purposes, respecting the site's normal request patterns.
Why does status vary in wording? CSLB publishes status as free text (e.g. "This license is current and active.", suspended, expired, revoked) rather than a fixed code - it's passed through as-is rather than force-mapped to an invented enum.
Found a bug or want extra fields (e.g. other states)? Open an issue in the Issues tab or contact us for a custom scraper tailored to your sourcing pipeline.