How we rank Bay Area, CA contractors
The same rules apply to every contractor. Payment never enters the score. Everything below is what the code does today.
CSLB records dated Oct 16, 2026 checked Oct 18, 2026 Verify live on CSLB
Who gets listed
A contractor appears on a list only if the license is active in the CSLB file and the class fits the page: B or B-2 on home lists, B on commercial lists. A license with a suspended, expired or inactive status is not listed. We never remove a contractor for any reason CSLB's record doesn't show.
How the list is ordered
Each contractor gets a score from public records. Higher scores sit higher. These are the rules, and the numbers come straight from the code that orders the lists.
- Who is eligible (every list): an active license with a contractor bond on file. Residential lists need a B or B-2 license; commercial lists need a B (B-2 is excluded).
- Residential lists leave out (rather than rank lower) licenses that hold a single-trade class (C-39, C-43, C-10, C-20, C-36, C-46, C-4, C-38, C-16) or whose business name or DBA contains a trade word (roofing, termite and pest control, gutters, chimney, septic, paving, asphalt, demolition, signs, electric, plumbing, heating, air, HVAC, solar, pool, painting, flooring, tile, drywall, concrete, landscaping, fence, glass, window, door, cabinet, insulation), unless their permits show kitchen, bath, addition or whole-house work in that area.
- Residential lists also leave out licenses that hold an A (General Engineering) class, unless their permits show kitchen, bath, addition or whole-house work in that area.
- Commercial lists apply the same trade-class and trade-name exclusion, unless the license has 3 or more tenant improvement, restaurant, office or retail permits in that area.
- Service pages list a contractor only with 2 or more permits for that service in the area, or sourced evidence of that work.
- Order where we have permit data (San Francisco, San Jose, Bay Area-wide lists): permits in the last 24 months in the list's segment (for a service page, permits for that service), most first. Ties: more years licensed.
- Order where we have no permit data (every other city): workers' comp policy on file first (insured before exempt), then more years licensed.
- Further ties: older license number. Payment never changes the order. Each card shows the numbers it was sorted by.
Why home lists leave out single-trade shops: a roofer, electrician or HVAC firm that also holds a B license is not who most homeowners are looking for when they search for a general contractor. If their permits show kitchen, bath or addition work, they stay on the list. Years licensed only breaks ties, so a 40-year-old firm doesn't outrank a newer one that has done more local work.
Where the data comes from
-
License, class, bond, issue and expiration dates
CSLB Data Portal, License Master file, file dated Oct 16, 2026
-
Workers' comp type, carrier and policy dates
CSLB Data Portal, Workers' Compensation file, file dated Oct 17, 2026
-
Responsible managing officer and similar qualifiers, names and titles
CSLB Data Portal, Personnel file, file dated Oct 17, 2026
-
San Francisco permits, matched on license number (last 24 months)
DataSF, Building Permits with Contractor (cw8k-gwb7), file dated Oct 18, 2026
-
San Jose permits, matched on business name (last 24 months). Labeled "name-matched" because the data has no license number.
City of San Jose open data, building permits, file dated Oct 18, 2026
CSLB's free file includes licenses that are currently renewed or expired but renewable. Cancelled and revoked licenses are not in it, so we never see them. CSLB itself says status can change at any time. Every card links to the live CSLB record, and we show two dates: the CSLB file's date and the day we processed it. The file refreshes weekly.
When a page is allowed into Google
A page stays hidden from search engines (noindex) until it has enough real content. It still works for anyone with the link.
- City pages need at least 5 listed contractors, at least 3 local permit notes with a source checked in the last 180 days, and a written introduction.
- Contractor profiles need an active license, a CSLB file no more than 14 days old, a city we cover, and evidence of work: 3 or more permits, confirmation from the contractor, or 2 sourced pieces of evidence.
- Project-type pages need at least 5 contractors with evidence for that project (8 for commercial).
Sponsored placements
Sponsored placements are paid. They don't change the order of the list or any license data. A sponsored card carries a visible "Sponsored" label on the card, only active licenses can be sponsored, and the sponsor keeps its normal position in the list too. We never sell a license badge. Today there are no sponsors.
What we don't show, and why
- Street address, ZIP and phone. About half of Bay Area B licenses belong to sole owners, and many list a home address. We show the city only. Leads go through our form.
- Complaints and discipline. CSLB restricts what it discloses, and we don't buy or reinterpret that data. We make no claim either way. Every profile links to the contractor's CSLB record so you can check complaints there.
- Reviews and star ratings. We don't write them, copy them or average them. Where a contractor has Yelp or Houzz pages, we link out.
- Personal details. We list qualifier names exactly as CSLB lists them, with their CSLB title, and nothing else about them.
Something wrong?
If you run a listed company and a fact differs from your CSLB record, CSLB is the source: update it there and the next weekly file picks it up. To confirm details we can't get from CSLB, see for contractors.