US Building Permits Tracker: Solar, Roof, ADU, Pool
Pricing
Pay per usage
US Building Permits Tracker: Solar, Roof, ADU, Pool
Daily building permits from official open data in NYC, Chicago, LA, San Francisco, Austin, Seattle and Detroit. Filter solar, roofing, ADU, pool, demolition, EV charger and battery permits, with a new-since-last-run mode for contractor leads.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Open Registry Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
22 days ago
Last modified
Categories
Share
US Building Permits Scraper: Solar, Roofing, Pool, ADU & Demolition Leads
Fresh building permits from 7 large US cities, all from official open data: New York City, Chicago, Los Angeles, San Francisco, Austin, Seattle and Detroit. Filter them with ready-made project categories (solar, roof / re-roof, swimming pool, ADU / accessory dwelling unit, demolition, EV charger, heat pump, battery storage) or your own keywords. You get one normalized schema with address, ZIP, work description, estimated cost, contractor (where published) and lat/long. Diff mode returns only permits issued since your last run, which works as a daily permit-lead feed.
Keywords: building permits scraper, building permit data, permit leads, solar permits, roofing leads, re-roof permits, pool permits, ADU permits, demolition permits, EV charger permits, contractor leads, construction leads, home improvement leads, NYC DOB permits, LADBS permits, Chicago permits, Austin permits, Seattle permits, San Francisco permits, Detroit permits.
Use cases
- Solar, battery and EV-charger installers: see competitor installs and neighborhood adoption, and find homeowners who are adding a roof or ADU (good upsell timing).
- Roofers, pool builders, ADU builders and demolition/haulage firms: get a daily list of permitted projects by ZIP or cost.
- Building-material suppliers, insurers, lenders and home-service marketplaces: target new construction activity.
- Market research: track solar or ADU permit counts by city over time (the
SUMMARYrecord in the key-value store holds per-city counts).
Input examples
{ "categories": ["solar", "roof", "pool", "adu", "demolition"], "lookbackDays": 14 }{ "mode": "diff", "jurisdictions": ["los-angeles"], "categories": ["adu"], "minEstimatedCost": 100000, "stateKey": "la-adu" }{ "jurisdictions": ["austin", "seattle"], "keywords": ["generator"] }
The actor runs a broad server-side text search, then applies a precise word-boundary regex, so adu doesn't match "graduate". Each item lists its matchedCategories.
Output (one item per permit)
jurisdiction, city, permitId, issueDate, address, zip, permitType, description, estimatedCost, status, contractor, owner, parcelId, latitude, longitude, matchedCategories, source (+ raw when includeRaw is on; changeType, firstSeenAt in diff mode).
Example output (real records, Oct 2026 test run):
[{"jurisdiction": "chicago","city": "Chicago, IL","permitId": "B200514154","issueDate": "2026-10-06","address": "1725 W 99TH ST","zip": null,"permitType": "PERMIT – EXPRESS PERMIT PROGRAM / Small-Scale Solar PV System","description": "INSTALL SOLAR PANELS ON ROOF OF PRINCIPAL BUILDING. ROOF TYPE: STEEP (>5:12). INVERTER OUTPUT: 9 KW. ARRAY OUTPUT: 9.66 KW. INCLUDES 16 KWH ENERGY STORAGE SYSTEM. LOCATION: ROOF OF THE PRINCIPAL HOUSE. ICC DISTRIBUTED GENERATION INSTALLER CERT. #26-0701.","estimatedCost": 22710.0,"status": "ACTIVE","contractor": "(XRB) CONSTRUCTION SERVICES, LLC.","owner": null,"parcelId": "2507404006","latitude": 41.7137915365028,"longitude": -87.66636946458827,"matchedCategories": ["solar","roof"]},{"jurisdiction": "los-angeles","city": "Los Angeles, CA","permitId": "26016-90000-27236","issueDate": "2026-10-03","address": "3268 N BERRY DR","zip": "91604","permitType": "Bldg-Alter/Repair / 1 or 2 Family Dwelling","description": "Re-roof with Class A or B roof covering material weighing less than 6 pounds per sq. ft. over existing solid sheathing 27 Squares. Class A roof covering is required within Very High Fire Hazard Severity Zone (VHFHSZ). For residential roof replacement > 50% of the total roof area, apply Cool Roof Product labeled and certified by Cool Roof Rating Council (CRRC). Cool Roof may be required for non-residential buildings per Title 24, Part 6, Section 141.0(b)2B.","estimatedCost": 5400.0,"status": "Issued","contractor": null,"owner": null,"parcelId": "2380016017","latitude": 34.13301,"longitude": -118.3797,"matchedCategories": ["roof"]},{"jurisdiction": "austin","city": "Austin, TX","permitId": "2026-129364 EP","issueDate": "2026-10-06","address": "6409 SALCON CLIFF DR","zip": "78749","permitType": "Electrical Permit / Auxiliary Power","description": "Avery - 40-23269 - Install new 11.4kW rooftop solar system to existing residential only using backfed breaker only.","estimatedCost": null,"status": "Active","contractor": "Power Home Remodeling","owner": null,"parcelId": "0418400213","latitude": 30.20807812,"longitude": -97.8828614,"matchedCategories": ["solar","roof"]}]
Test run (14 days, solar+roof+pool+ADU+demolition, all 7 cities): 2,561 permits in about 25 s. That breaks down as NYC 681, Chicago 297, LA 1,255, SF 60, Austin 206, Seattle 35, Detroit 27.
"New since last run" (diff mode)
Set Mode = diff and schedule the actor daily or weekly. Each run looks at a rolling date window and returns only records it has never returned before, tagged changeType: "new" and firstSeenAt. Seen IDs are stored in a named key-value store (stateStoreName, separate stateKey per saved search), so the state survives between scheduled runs. On the first run you can output the whole window (flagged baselineRun: true) or store a silent baseline (firstRunBehaviour: baselineOnly). Pair it with an Apify integration (Slack, email, Google Sheets, Zapier, Make, webhook) to get a lead alert feed.
Sources
| key | Dataset |
|---|---|
nyc | NYC DOB NOW: Build – Approved Permits (rbx6-tga4) |
chicago | Chicago Building Permits (ydr8-5enu) |
los-angeles | LADBS Building Permits Issued 2020–present (pi9x-tg5x) |
san-francisco | SF DBI Building Permits (i98e-djp9) |
austin | Austin Issued Construction Permits (3syk-w9eu) |
seattle | Seattle SDCI Building Permits (76t5-zqzr) |
detroit | Detroit BSEED Building Permits (ArcGIS open data) |
Public records used under each city's open-data terms, with a source block on every item. Not affiliated with or endorsed by any city. Contractor and owner names appear only where the city publishes them. Follow TCPA/CAN-SPAM rules for any outreach.
Row cap and failure handling
maxRowsPerSource(default 5000, 0 = unlimited): per-source cap on raw rows fetched, with automatic pagination. Sources that hit the cap are listed undercappedSourcesin theOUTPUTrecord and in the run's status message.- Failures are loud: if any source fails (HTTP error, ArcGIS error, timeout), the run is marked FAILED, the status message names the failed source(s) and error, and the
OUTPUTkey-value record containsok: falseandfailedSources. Rows from a failed source are never returned partially.