← Use cases

Use case

General Building Contractors in San Diego County

Every active Class B general building contractor in San Diego County, from the official CSLB registry — a clean, structured list for outreach.

Say you sell project-management software to residential builders and your board wants a number before they will fund a San Diego rep: how many Class B general building contractors actually operate down there, how many are one-truck sole owners versus incorporated firms with an office, and where in the county they cluster. “A few thousand, probably” is not a number, and a scraped Yelp list is not a market — it is whoever pays for ads.

The one authoritative denominator is the state’s own licence registry. Every general building contractor in California who can legally bid work holds a Class B licence with CSLB, and that register is public. What you need is not a lookup; it is the whole population of a county, as rows, so you can count it.

The manual way, and what it costs

The public search form on CSLB
CSLB's "List by Classification and County" — free, manual, capped at ten classifications by ten counties, Excel only.

Be clear about the free option, because it is a good one. CSLB’s Public Data Portal has a “List by Classification and County” page: choose Class B, choose San Diego, and it emails you nothing and charges you nothing — it just hands over an .xls of the currently renewed licences. Up to ten classifications and ten counties in a single pull.

For a one-off board slide, that is the answer. Download it, count the rows, put the number on the slide. Do not build a pipeline to produce a number you need once.

The cap and the format are where it stops scaling. Ten counties per pull is fine for San Diego and awkward for the whole state; a statewide segmentation becomes a stack of Excel files you concatenate by hand, and getting them means a person clicking through the form again for every batch of ten. There is no scheduled version, no API, no way to have the same cut land in your warehouse every quarter so you can watch the population move. Market sizing is rarely a one-time question — the follow-up is always “and is it growing?”, which needs the same cut taken again, comparably, later. That is what you cannot get by hand.

The faster way

California Contractor Directory by Trade & County (CSLB) does the same search once and hands back every row at once.

{
  "licenseClass": "B",
  "county": "San Diego",
  "maxResults": 100
}

B is CSLB’s classification for General Building — the code the state issues to general building contractors, and the closest thing to a clean, official definition of “builder” you are going to find. San Diego is the county name as the live CSLB form writes it, which is what the actor matches against. maxResults: 100 is the sighting shot; for a market-size count you want it removed entirely, because a cap and a census are opposite things — the number you are after is the row count with no cap on it.

What comes back

{
  "license_number": "22726",
  "business_name": "RANSOME COMPANY",
  "business_type": "Corporation",
  "address": "1933 WILLIAMS STREET",
  "city": "SAN LEANDRO",
  "county": "Alameda",
  "zip_code": "94577",
  "phone": "(510) 686 9900",
  "classifications": [
    "A",
    "C10"
  ],
  "status": "CLEAR",
  "issue_date": "07/01/1932",
  "expiration_date": "10/31/2027",
  "surety_company": "HARCO NATIONAL INSURANCE COMPANY",
  "bond_number": "354811",
  "workers_comp_type": "Workers' Compensation Insurance",
  "workers_comp_company": "TRAVELERS PROPERTY CASUALTY COMPANY OF AMERICA",
  "source_url": "https://www.cslb.ca.gov/onlineservices/checklicenseII/LicenseDetail.aspx?LicNum=22726"
}
FieldExample valueMeaning
license_number22726CSLB license number
business_nameRANSOME COMPANYLicensed business name
business_typeCorporationSole Owner, Corporation, LLC, Partnership…
address1933 WILLIAMS STREETBusiness street address
citySAN LEANDROCity
countyAlamedaCounty

For sizing, the count of rows is the headline number, and the columns are the segmentation. business_type splits the market the way your pricing does: Sole Owner is a one-truck operator, and Corporation or LLC is a firm with someone whose job is buying software. city and zip_code show you where the builders actually are inside the county, which is the difference between an office and a territory. issue_date is a proxy for tenure — a licence issued last year is a young firm, and the age distribution tells you whether you are looking at a stable market or a churning one. classifications shows how many Class B holders also carry trade codes, which is a decent read on how much of the market self-performs versus subcontracts.

What you’d do with it

Run it with maxResults empty, export the dataset to CSV, and pivot. Count by business_type for the sole-owner-versus-firm split, count by city for the geographic clusters, and bucket issue_date by year for the tenure curve. That is the slide. Then schedule the same run quarterly and keep the datasets — because next quarter’s count against this quarter’s, keyed on license_number, is a growth rate you measured rather than one you assumed. It also survives being asked “where did this number come from?”, since every row carries a source_url back to its own CSLB licence detail page.

Worth knowing

This counts licences, not companies and not revenue. CSLB’s registry tells you who is licensed to build; it says nothing about headcount, project volume, or how much anyone bills. A large firm and a dormant licence are one row each. If your model needs revenue bands, this is the denominator you join to, not the answer.

It is CSLB’s public registry and nothing else — California only, public business-licence records under Business & Professions Code §7000 et seq., reflecting the live registry at run time and changing as it does. No email addresses, ever: CSLB does not release them (B&P Code §27). And classifications and counties both take a list, so a statewide Class B census is a single run with every county named.


Run it yourself: How to run California Contractor Directory by Trade & County (CSLB) walks the whole thing step by step.

The same cut, one trade down: All Licensed Electricians in Los Angeles County — worth reading if your next segment is a specialty trade rather than general building.

When the question is risk, not size: OSHA Violation Risk works from federal inspection and citation records — reach for it when you need to know how a contractor has behaved on site, which is a question a licence register cannot answer.

Last updated 2026-07-13