Building Permits Scraper - Multi-City Open Data
Pricing
from $1.00 / 1,000 results
Building Permits Scraper - Multi-City Open Data
Scrape building & construction permits from 12 US cities' official open-data portals into one clean schema: permit number, type, status, issue date, address, work description, valuation, contractor, applicant & lat/lon. Free government APIs, no key. Filter by city, issue date & permit type.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
James Scott
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Pull building & construction permits from 12 US cities into one clean, normalized schema - no API key, no account, no anti-bot. Every large US city publishes permits on its own open-data portal with its own column names; this actor translates all of them into the same record so you can query dozens of jurisdictions as one feed.
Great for contractors, roofers, solar & HVAC installers, remodelers, suppliers, and real-estate investors who want fresh permit leads and market intelligence - and for analysts tracking construction activity.
Supported cities
| City | Source | Portal |
|---|---|---|
| Chicago, IL | Socrata | data.cityofchicago.org |
| New York, NY | Socrata | data.cityofnewyork.us (DOB NOW) |
| Los Angeles, CA | Socrata | data.lacity.org |
| San Francisco, CA | Socrata | data.sfgov.org |
| Austin, TX | Socrata | data.austintexas.gov |
| Seattle, WA | Socrata | data.seattle.gov |
| Cincinnati, OH | Socrata | data.cincinnati-oh.gov |
| Mesa, AZ | Socrata | citydata.mesaaz.gov |
| Montgomery County, MD | Socrata | data.montgomerycountymd.gov |
| Baton Rouge, LA | Socrata | data.brla.gov |
| Washington, DC | ArcGIS | maps2.dcgis.dc.gov |
| West Sacramento, CA | ArcGIS | gis.cityofwestsacramento.org |
All data comes from official government open-data APIs (Socrata and ArcGIS FeatureServer). These are free, public, key-less endpoints, so runs are fast and cheap and need only Apify's default datacenter proxy.
Normalized schema (one row per permit)
{"city": "Austin, TX","permit_number": "2026-074994 BP","permit_type": "Building Permit - New","status": "Active","issue_date": "2026-07-10","application_date": "2026-04-20","address": "4102 CAT HOLLOW DR AUSTIN TX 78731","work_description": "New construction in-ground pool and spa.","valuation": 0.0,"contractor_name": "LOHR Homes","applicant": "Gil Lohr","latitude": 30.3623778,"longitude": -97.76570347,"source": "data.austintexas.gov","source_type": "socrata","source_url": "https://abc.austintexas.gov/web/permit/public-search-other?...","scraped_at": "2026-07-10T21:56:20Z"}
Not every city publishes every field (e.g. Chicago has no status column, Cincinnati has no coordinates, DC publishes fees rather than construction valuation) - missing values come back as null rather than being faked. Coordinates are populated wherever the source provides them (8 of 12 cities).
Input
| Field | Type | Description |
|---|---|---|
cities | array | Which cities to scrape (multi-select). Leave empty to scrape all supported cities. |
issuedAfter | date | Only permits issued on/after this date (YYYY-MM-DD). Applied server-side per city. |
permitType | string | Keyword filter, matched against permit type and work description - e.g. roof, solar, pool, electrical, demolition. |
maxItems | integer | Max permits per city (so 3 cities x 500 = up to 1,500 rows). Default 1,000. |
proxyConfiguration | object | Defaults to Apify datacenter proxy - no residential proxy required. |
Example input
{"cities": ["austin", "los_angeles", "baton_rouge"],"issuedAfter": "2025-01-01","permitType": "roof","maxItems": 500}
This returns every roofing permit issued since Jan 2025 across Austin, LA, and Baton Rouge - a ready-made call list for a roofing company.
Why this actor
- One schema, many cities. Stop writing a parser per portal - each city's fields are pre-mapped to the same keys.
- Fresh + filterable. Newest-first, with server-side date filtering and keyword type filtering.
- Complete records. Address, geo-coordinates, valuation, contractor/applicant, and a link back to the source record where available.
- Zero anti-bot. Public government JSON APIs - reliable and cheap.
- Export as JSON, CSV, Excel, or pull via the Apify API.
Extending it
Adding a city is a single entry in src/parser.py -> CITIES: point it at the Socrata dataset or ArcGIS FeatureServer, list the date_field, and map that portal's column names to the canonical keys. Address and permit-type can be composed from several columns. No fetch-layer changes needed.
This data is aggregated from public government records for market research and lead generation. It is not a consumer report and must not be used for any FCRA-covered purpose (credit, employment, insurance, or tenant screening).