California Building Permits by Trade: Solar, Roofing, HVAC
Pricing
$4.00 / 1,000 permit results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
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
| City | Permits included | Contractor names | Valuation | Update cadence |
|---|---|---|---|---|
| Los Angeles | Building, electrical, mechanical/plumbing | No | Building permits | Weekly (Saturdays) |
| San Francisco | DBI building permits + PermitSF electrical, plumbing/mechanical, re-roofing, remodel and fire permits | Yes (DBI permits, with CSLB license #) | DBI permits | Daily |
| San Jose | All building permits issued in the last 30 days | Yes, plus applicant and owner | Yes | Daily |
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
| Field | Example |
|---|---|
| City, permit number, permit page link | Los Angeles, 26041-90000-12345, LADBS permit report |
| Issue date, status | 2026-10-10, Issued |
| Trades, primary trade | solar, battery_storage, electrical → solar |
| Work description | Roof-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 type | residential / commercial / unknown |
| Contractor, CSLB license, contractor address | San Francisco and San Jose |
| Applicant, owner | San Jose |
| Latitude/longitude | Los 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.