US Building Permits Scraper — Multi-City Construction Leads
Pricing
$2.50 / 1,000 permit scrapeds
US Building Permits Scraper — Multi-City Construction Leads
Fresh building permits from official open-data APIs of NYC, Chicago, LA, SF, Seattle & Austin, normalized into one analysis-ready schema. Built for construction lead gen: contractors, valuations, addresses, geocodes.
Pricing
$2.50 / 1,000 permit scrapeds
Rating
0.0
(0)
Developer
Vivar Bolivar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Share
US Building Permits Scraper — 12 Cities & Counties, Construction Leads
Get freshly issued building permits from 12 US cities and counties in one run, in one clean schema — New York City, Chicago, Los Angeles, San Francisco, Seattle, Austin, Mesa AZ, New Orleans, Montgomery County MD, Henderson NV, Collin County TX (Plano/Frisco/McKinney), and Baton Rouge. Solar installers, roofers, HVAC companies, pool builders, suppliers, and lead-gen teams use new permit filings to reach property owners and track contractor activity the week work is approved — weeks before traditional permit-lead brokers deliver their lists.
This Actor pulls directly from each city's official open-data API (no fragile HTML scraping, no proxies, no CAPTCHAs), normalizes every record into the same analysis-ready JSON, and returns permits issued as recently as yesterday for most sources.
Why this instead of a permit lead service?
- Freshness: lead brokers typically add a 2–4 week delay between permit issuance and list delivery. This Actor queries the live government dataset the moment you run it.
- Price: you pay per permit record (see pricing tab), not a monthly subscription per county.
- Raw + complete: full work descriptions, valuations, parcel IDs, and geocodes — not a trimmed CSV.
- Pipeline-ready: one stable JSON schema across all 12 jurisdictions; export to CSV, Excel, or JSON, or pull via API/Zapier/Make.
Coverage (v1)
| Jurisdiction | Contractor info | Geocodes | Typical freshness |
|---|---|---|---|
| New York City (DOB NOW) | ✅ name + license | ✅ | 1–3 days |
| Chicago | ✅ name | ✅ | 1–2 days |
| Los Angeles (LADBS) | — | ✅ | days–weeks (city batches) |
| San Francisco | — | ✅ | 1–2 days |
| Seattle | partial | ✅ | 1–2 days |
| Austin | ✅ name (most) | partial | 1–2 days |
| Mesa, AZ | — | ✅ | 1–2 days |
| New Orleans | ✅ name | ✅ | 1–2 days |
| Montgomery County, MD (residential) | — | ✅ | days |
| Henderson, NV | ✅ name + phone + license | partial | days |
| Collin County, TX (Plano/Frisco/McKinney) | ✅ builder name | — | days |
| Baton Rouge / EBR Parish, LA | ✅ name | — | 1–2 days |
Need another city or county? Open an issue with the jurisdiction — if it publishes machine-readable permit data, it can usually be added within days.
Input
| Field | Type | Default | Description |
|---|---|---|---|
cities | array | all 12 | Any of nyc, chicago, la, sf, seattle, austin, mesa, nola, montgomery_md, henderson, collin_tx, baton_rouge |
issuedSince | string | last 7 days | YYYY-MM-DD; only permits issued/filed on or after this date |
maxRecordsPerCity | integer | 500 | Hard cap per city, 1–5000 |
permitClass | string | all | residential / commercial; unclassified permits are always included |
Output
One JSON object per permit, identical schema across all jurisdictions:
{"permit_id": "B200473293","city": "Chicago","state": "IL","permit_type": "PERMIT - EXPRESS PERMIT PROGRAM","permit_class": "unknown","work_description": "TUCKPOINTING AND UNIT MASONRY REPAIR / REPLACEMENT: 800 SQ. FT.","status": "ACTIVE","filed_date": "2026-06-04","issued_date": "2026-06-08","address": "4700 W MONTROSE AVE","zip_code": "60641","latitude": 41.961,"longitude": -87.741,"valuation": 12000.0,"contractor_name": "ACME MASONRY LLC","contractor_license": null,"contractor_phone": null,"owner_name": "LLC 4510 CLARK","source_dataset": "https://data.cityofchicago.org/resource/ydr8-5enu","source_record_url": null,"fetched_at": "2026-06-11T05:00:00+00:00"}
Fields a city doesn't publish are null (see coverage table) — your pipeline gets a stable schema either way.
FAQ
How fresh is the data? Most jurisdictions publish within 1–2 days of issuance; the Actor reads the live dataset on every run. LA refreshes in batches on the city's schedule.
Can I get only residential (or only commercial) permits?
Yes — set permitClass. Where a city doesn't classify permits, those records are kept (never silently dropped), and the permit_class field says unknown.
Does it include contractor contact details? Where the city publishes them: NYC includes license numbers, Henderson NV includes phone numbers and state licenses, and 7 of 12 jurisdictions include contractor/builder names.
Is this legal? Yes. Every source is an official government open-data portal explicitly published for public reuse. No scraping of private websites, no ToS conflicts, no personal data beyond what governments publish.
Can you add my city/county? Usually, yes — open an issue. Jurisdictions with Socrata/ArcGIS/CKAN open-data portals can typically be added within days.
How do I export to Excel/CSV or automate weekly pulls? Every run's dataset exports to CSV/Excel/JSON from the Output tab, and the Actor works with Apify schedules, Zapier, Make, and webhooks for recurring delivery.
Known limitations
permit_classisunknownwhere a city doesn't classify permits; the filter never drops unclassified records.- SF, LA, Mesa, and Montgomery County don't publish contractor names in their permit datasets.
- Valuation is missing on permit types some cities don't cost (e.g., many trade permits).
- Data quality is the city's: occasional missing geocodes (Austin ~40%, Henderson ~50%), date quirks (a handful of Collin County records carry future-dated entries), and typos pass through as-is. We normalize structure, not truth.
- Montgomery County's open dataset covers residential permits only.
Changelog
- 0.2 (2026-06-11) — doubled coverage to 12 jurisdictions: added Mesa AZ, New Orleans, Montgomery County MD, Henderson NV, Collin County TX, Baton Rouge. New
contractor_phonefield (populated where cities publish it). FAQ added. - 0.1 (2026-06-09) — initial release: NYC, Chicago, LA, SF, Seattle, Austin; unified schema; residential/commercial filter; per-city caps with graceful partial-failure handling.