California Contractor License Lookup & Export
Pricing
from $9.00 / 1,000 licence records
California Contractor License Lookup & Export
Every CSLB-licensed contractor in California with phone on 99.8 % of rows, measured. Export a whole classification (roofing, electrical, plumbing, HVAC, solar) or verify a list of names or licence numbers. Status, expiry date, bond, address. Official register.
Pricing
from $9.00 / 1,000 licence records
Rating
0.0
(0)
Developer
Carlos Escanez
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
California Contractor License Lookup & Export — Contractors State License Board (CSLB)
Paste a list of names or licence numbers and get one row per matching California licence. Or export every licensed roofing contractor in California in one run. Read straight from the official register, normalised into one clean row.
See it run
Questions this answers
- Is this roofing contractor's license active in California right now, and when does it expire?
- Check these 500 subcontractor names against the California board before we put them on site.
- Export every licensed roofing, electrical, plumbing contractor in California with a phone number.
- Which California licences expire in the next 60 days?
What California actually publishes
Measured on real rows pulled from the board, not on what its documentation says. A field the board does not publish stays empty; the Actor never guesses one.
| Field | Published |
|---|---|
| Licence number, status, trade | yes |
| Expiry date | yes |
| Street address | yes |
| City and ZIP | yes |
| County | yes |
| Phone | yes |
| no | |
| Insurance or bond expiry | no |
California publishes a phone number on nearly every row. That makes this a calling list as well as a verification tool.
Trades covered
- General Building / Residential Remodeling
- Electrical
- Plumbing
- Warm-Air Heating, Ventilating, Air-Conditioning / Refrigeration
- Roofing
- Swimming Pool
- Asbestos Abatement
- Elevator
- Limited Specialty
A trade the board does not license is not in the list, and the Actor will not invent it.
Two modes
Lookup. One name or licence number per line. A licence number matches exactly; a name matches any licensee or business containing it. Every match comes back as its own row with the query it matched, so a list of 800 subcontractors comes back as a checked list.
Export. Pick a trade (or all of them) and get every licence in California, with onlyActive, onlyWithPhone and onlyExpiringSoon (next 60 days) filters and a maxResults cap.
What every row carries
state, licenseNumber, name, businessName, tradeLabel, status, isActive, expirationDate, daysToExpiry, isExpiringSoon, address, city, zip, county, phone, email, sourceUrl, scrapedAt, plus matchedQuery in lookup mode. Dates are ISO, phones are E.164, status is normalised so ACTIVE means active on every board.
Full detail: the record the bulk file cannot give
Pass licence numbers in full detail mode and each one comes back with the complete CSLB record: bond company, number, amount and effective date; workers' compensation carrier, policy number, expiry and classification codes; every classification; entity type (Corporation, Sole Ownership); and today's status in the board's own words.
Why it matters, measured 19 September 2026: the CSLB bulk file publishes active licences only. The licence page answers for the rest. Licence 400000 is `EXPIRED`, 500123 `INACTIVE`, 800000 `CANCELLED`, and 99999999 is `found: false` because it is not in the register. If you check a subcontractor before they start work, those answers are the job, and no bulk file gives them.
Every number comes back as a row: `checked: true, found: true` (charged), `checked: true, found: false` (not in the register, not charged), or `checked: false` (the board did not answer, not charged, and the run reports itself incomplete). Five licences take about five seconds. Add `withDetail` to a lookup or export to get the same record on every row found, up to 500 pages per run.
Built for verification
- Every query comes back as a row, matched or not, with
matchedQueryto join it to your list. - No match, no charge.
- Status normalised so
isActivemeans the same thing as on every other board; the board's own status text is kept. - Source URL on every row, pointing at the board's page for that licence: the primary source for a compliance file.
- Coverage printed by the run, per field, in
RUN_SUMMARY: what you actually received, not what a README promises. - Incomplete runs say so: a board that did not answer is named in the summary and the run is flagged, never passed off as clean.
- Stable ids (
CA-<licence>) for diffing between scheduled runs: schedule the same list daily and you have licence-lapse alerts on your subcontractors.
Pricing
Pay per delivered row. Filtered-out rows cost nothing. A lookup that finds nothing charges nothing beyond the start fee.
Need more states?
The same tool covers 20 states in one query, with a per-state coverage table so you know before you buy which boards publish a phone or an email: https://apify.com/wellbuilt_zythem/us-contractor-license-lookup
Data source
Contractors State License Board (CSLB). A public regulatory register published so that anyone can verify a licence; contact details are the business contacts the board publishes for that purpose.