California Building Permits by Trade: Solar, Roofing, HVAC avatar

California Building Permits by Trade: Solar, Roofing, HVAC

Pricing

$4.00 / 1,000 permit results

Go to Apify Store
California Building Permits by Trade: Solar, Roofing, HVAC

California Building Permits by Trade: Solar, Roofing, HVAC

Newly issued building, electrical and mechanical permits from Los Angeles, San Francisco and San Jose official open data, tagged by trade (solar, battery, EV charger, roofing, HVAC, ADU, pool, plumbing...). Filter by city, trade, date, valuation and ZIP.

Pricing

$4.00 / 1,000 permit results

Rating

0.0

(0)

Developer

Chaucer Labs

Chaucer Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Get newly issued building permits from California's biggest cities, normalized into one clean format and tagged by trade, so a solar installer, roofer, HVAC contractor or ADU builder can pull just the jobs that matter to them.

City permit portals each use different columns, codes and update schedules. This Actor reads the official open-data feeds, maps everything to one schema, and labels each permit with the trades it involves.

Cities covered

CityPermits includedContractor namesValuationUpdate cadence
Los AngelesBuilding, electrical, mechanical/plumbingNoBuilding permitsWeekly (Saturdays)
San FranciscoDBI building permits + PermitSF electrical, plumbing/mechanical, re-roofing, remodel and fire permitsYes (DBI permits, with CSLB license #)DBI permitsDaily
San JoseAll building permits issued in the last 30 daysYes, plus applicant and ownerYesDaily

More California cities are planned.

Trade tags

solar, battery_storage, ev_charger, roofing, hvac, adu, pool_spa, electrical, plumbing, water_heater, kitchen_bath, windows_doors, new_construction, addition, demolition, fire_protection, seismic_retrofit, foundation, sign, tenant_improvement, fence_wall, grading

Tags come from the city's own permit type and flags (for example LA's solar and EV flags) plus the work description. A permit can carry several tags. primaryTrade picks the most specific one.

What you get for each permit

FieldExample
City, permit number, permit page linkLos Angeles, 26041-90000-12345, LADBS permit report
Issue date, status2026-10-10, Issued
Trades, primary tradesolar, battery_storage, electrical → solar
Work descriptionRoof-mounted solar PV system, 32 modules with microinverters, and energy storage system
Valuation$45,000 (where the city publishes it)
Address, ZIP, parcel (APN)11359 W Biona Dr, 90066
Property typeresidential / commercial / unknown
Contractor, CSLB license, contractor addressSan Francisco and San Jose
Applicant, ownerSan Jose
Latitude/longitudeLos Angeles and San Francisco

Filters

City, trade, issue-date range (days back or start/end), minimum and maximum valuation, property type, ZIP codes, keyword (e.g. heat pump, Powerwall), only permits with a named contractor, and exclude supplemental/revision permits (on by default).

Monitor mode remembers the permits you've already received, so a weekly or daily schedule only returns new ones.

Use cases

  • Solar, battery and EV charger installers: see who just pulled a re-roof or panel upgrade, and which competitors are installing where.
  • Roofers, HVAC, plumbing and electrical contractors: follow-on work, market share and territory planning.
  • ADU and remodel builders, architects and lenders: new ADU and addition activity by ZIP.
  • Building-material suppliers and distributors: find active contractors (with license numbers in SF).
  • Pool, landscaping, window and insurance companies: reach homeowners at the moment of a project.
  • Analysts: track permit volume and job value by trade and city.

Input example

{
"cities": ["los_angeles", "san_jose"],
"trades": ["solar", "battery_storage", "roofing"],
"daysBack": 14,
"propertyTypes": ["residential"]
}

Output example (trimmed)

{
"city": "Los Angeles",
"permitNumber": "26016-30000-27716",
"permitType": "Building / Bldg-Alter/Repair",
"workDescription": "Re-roof with Class A or B material weighing less than 6 pounds per sq. ft. over existing solid sheathing 22 Squares...",
"trades": ["roofing"],
"primaryTrade": "roofing",
"issueDate": "2026-10-10",
"valuationUsd": 15000,
"address": "700-702 N WATERLOO ST",
"zip": "90026",
"propertyType": "residential",
"permitUrl": "https://www.ladbsservices2.lacity.org/OnlineServices/PermitReport/PcisPermitDetail?id1=26016&id2=30000&id3=27716"
}

Each run also saves RUN_STATS: permits fetched per city, permits returned, counts per trade, and any portal errors. If one city's portal is down, the others still return.

Pricing

You pay per permit returned. Permits removed by your filters are never charged. See the Pricing tab for the current rate.

Notes and limits

  • Freshness: Los Angeles publishes weekly, so recent days fill in after each Saturday refresh. San Francisco and San Jose update daily.
  • San Jose publishes a rolling 30-day file, so older San Jose permits aren't available.
  • Tags are keyword-based. Accuracy is high for clear descriptions, like LA's standard re-roof and solar language, but short or vague descriptions may be untagged or over-tagged.
  • Valuation is the applicant's declared job value. Many electrical/mechanical permits don't have one.
  • Source: official city open-data portals (data.lacity.org, data.sf.gov, data.sanjoseca.gov), used through their public APIs. No login and no scraping of permit-search websites.
  • Contact compliance: owner and contractor names are public records, but your outreach must follow the laws that apply to you.