OrbTop

California State Contractor License Scraper (CSLB)

LEAD GENERATION

California State Contractor License Scraper (CSLB)

Scrape contractor license records from the California Contractors State License Board (CSLB) public portal at cslb.ca.gov. Supports two modes: direct lookup by license number, or enumeration by business name search. Returns full license detail for every matched record.

What you get

Each record includes:

Field Description
license_number CSLB contractor license number
business_name Contractor or business name
address Street address
city / state / zip Location
phone Business phone
entity_type Sole Ownership, Corporation, Partnership, etc.
issue_date Date license was issued
expire_date License expiration date
status Active, Inactive, Suspended, etc.
additional_status Any supplemental status notes
classifications Trade classifications (e.g. "C-7 - LOW VOLTAGE SYSTEMS")
bonding_info Bonding status summary
workers_comp Workers compensation status
license_url Direct link to the license detail page
scraped_at ISO timestamp of when the record was scraped

Input

Mode A — License number lookup (recommended for known contractors)

Provide a list of CSLB license numbers. Each number is fetched directly, returning its full detail page.

{
  "licenseNumbers": ["1000001", "963795", "856234"],
  "maxItems": 50
}

Mode B — Business name search

Provide one or more business name prefixes. The actor POSTs each term to the CSLB name-search form, paginates through all result pages, then fetches each matched license's detail page.

{
  "searchTerms": ["smith construction", "abc plumbing"],
  "maxItems": 100
}

If both licenseNumbers and searchTerms are provided, Mode A runs first. If licenseNumbers is empty or omitted, Mode B runs.

Anti-bot / CAPTCHA

The CSLB portal loads a reCAPTCHA v2 script but does not render the widget on any lookup form and does not require CAPTCHA completion for license lookups. No proxy or bypass is needed — the actor sends direct unauthenticated HTTP requests using a Chrome User-Agent.

Rate limiting

Requests are spaced 500 ms apart per government-server courtesy. Requests are sequential. For large batches, the timeoutSecs default of 14 400 s (4 hours) is sufficient for tens of thousands of records.

Performance

  • Mode A: ~2 requests/record (ViewState bootstrap + detail POST)
  • Mode B: ~3 requests/record on average (bootstrap + search + detail)

Use cases

  • Contractor due-diligence and background verification
  • Lead generation for construction-related B2B services
  • License status monitoring for compliance teams
  • Building contractor directories or databases