Building Permit Leads - Solar, Roofing, HVAC & Windows
Pricing
from $4.00 / 1,000 results
Building Permit Leads - Solar, Roofing, HVAC & Windows
Trade-filtered building permit leads for contractors and sales teams. Pulls newly-issued permits from Chicago, LA, San Francisco, Austin & Seattle, classifies each by trade (solar, roofing, HVAC, windows), and returns one clean schema per metro.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Mazen Khalil
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Building Permit Leads Scraper — Solar, Roofing, HVAC & Windows
Get fresh, trade-filtered building permit leads from five major US metros in one run. This actor pulls newly-issued building permits from official city open-data portals (Chicago, Los Angeles, San Francisco, Austin, and Seattle), automatically classifies each permit by trade — solar, roofing, HVAC, windows, siding, EV charger — and returns one clean, consistent spreadsheet-ready feed. No more downloading five different city CSVs and filtering permit descriptions by hand.
Built for home-improvement contractors, solar installers, roofing companies, HVAC sales teams, building-material suppliers, and market analysts who want a recurring stream of permit-based leads instead of a raw, unfiltered data dump.
Why this permit scraper is different
Most building-permit actors hand you every permit a city issued and leave you to guess which rows are solar jobs, which are re-roofs, and which are HVAC replacements. This one does the sorting for you:
- Trade classification built in. A transparent keyword table tags each permit as solar, roofing, HVAC, windows, siding, or EV-charger work. Filter to just the trades you sell.
- Same schema across every city. Chicago, LA, San Francisco, Austin and Seattle each
publish permits with different column names — this actor normalizes them into one flat
schema so
issueDate,address,valuationUsdandprimaryTrademean the same thing everywhere. - Fresh by default. Returns the last 30 days of issued permits out of the box; set a
sinceDateto your last run and get only the new ones. - Public data only. Every source is an official municipal Socrata open-data API — no logins, no CAPTCHAs, no scraping behind a paywall.
Input
Runs with zero configuration — the defaults return the last 30 days of solar, roofing, HVAC and window permits across all five metros.
| Field | Type | Default | Description |
|---|---|---|---|
metros | array | all 5 | Cities to pull from: chicago, los_angeles, san_francisco, austin, seattle. |
trades | array | solar, roofing, hvac, windows | Trades to keep. Also supports siding, ev_charger. Clear it to get every permit. |
dateBasis | string | issued | Filter/sort by issued or applied date. |
lookbackDays | integer | 30 | How many days back to pull when no sinceDate is set. |
sinceDate | string | — | YYYY-MM-DD; overrides lookback. Set to your last run for deltas. |
untilDate | string | — | YYYY-MM-DD; upper bound. |
minValuationUsd | integer | 0 | Drop permits below this declared job value (0 = off). |
maxItems | integer | 500 | Total leads returned, newest first. |
maxItemsPerMetro | integer | 200 | Per-city cap so one big city can't crowd out the rest. |
socrataAppToken | string | — | Optional free Socrata token for higher rate limits. |
Sample output
Each dataset item is one permit:
{"metro": "chicago","metroLabel": "Chicago, IL","primaryTrade": "solar","trades": ["solar", "roofing"],"permitId": "chicago:B200478850","permitNumber": "B200478850","permitType": "PERMIT - EXPRESS PERMIT PROGRAM","description": "INSTALL SOLAR PANELS ON ROOF OF PRINCIPAL BUILDING. ARRAY OUTPUT: 9.43 KW. INCLUDES 15 KWH ENERGY STORAGE SYSTEM.","status": null,"issueDate": "2026-07-24","valuationUsd": null,"contractorName": "SUNRUN INSTALLATION SERVICES","address": "1234 N Example Ave","city": "Chicago","stateCode": "IL","zip": null,"latitude": 41.8226,"longitude": -87.6960,"url": "https://data.cityofchicago.org/Buildings/Building-Permits/ydr8-5enu","fetchedAt": "2026-07-26T13:00:00.000Z"}
Use cases
Solar & roofing lead generation
Pull every solar and re-roof permit issued in your service area this week, then work the list by address and ZIP. Because solar permits are frequently roof-adjacent, each item lists all detected trades so a roofer can spot solar cross-sell opportunities and vice-versa.
HVAC replacement outreach
Filter to hvac and a minValuationUsd threshold to focus on larger mechanical jobs, then
route by city and neighborhood to your reps.
Supplier & market intelligence
Track permit volume by trade and metro over time to size a market, plan inventory, or scout a new territory before opening a branch.
FAQ
Where does the data come from?
Official municipal open-data portals running on the Socrata platform: Chicago
(data.cityofchicago.org), Los Angeles (data.lacity.org), San Francisco (data.sfgov.org),
Austin (data.austintexas.gov) and Seattle (data.seattle.gov). All are public government
datasets published for civic and commercial reuse.
Is scraping building permits legal?
Yes. These are public records that each city publishes deliberately through a documented open-data API. This actor only reads public endpoints — no logins, no terms-of-service circumvention, and no personal data beyond what the city already publishes on the permit.
How fresh is the data?
As fresh as each city publishes. Portals typically refresh daily to a few times per week. Sort is
newest-first by issued date. Run the actor on an Apify schedule
and pass sinceDate to collect only new permits each run.
How do I get owner or contact details?
Owner/contact enrichment is intentionally out of scope to keep the data clean and the source strictly public. Each permit includes the property address, coordinates, and (where the city publishes it) the contractor of record.
Can you add my city?
More Socrata metros can be added on request — open an issue on the actor. Denver, NYC, Seattle-area suburbs and other portals are candidates.
Related actors & docs
- Apify Store — Lead Generation actors
- Apify scheduling docs — automate recurring pulls
- Apify API & client docs — run this actor from your own code
Changelog
0.1
- Initial release: Chicago, LA, San Francisco, Austin & Seattle; solar / roofing / HVAC / windows / siding / EV-charger classification; normalized schema; date-window and valuation filters; per-metro caps.