US Building Permits: 10 cities, one schema (open data)
Pricing
from $2.00 / 1,000 permit records
US Building Permits: 10 cities, one schema (open data)
Returns recently issued building permits from the open-data portals of New York City, Chicago, San Francisco, Los Angeles, Austin, Seattle, New Orleans, Montgomery County MD, Cincinnati and Baton Rouge in one normalized schema: permit number, type, description, status, address, coordinates...
Pricing
from $2.00 / 1,000 permit records
Rating
0.0
(0)
Developer
Akshay Irudayaraj
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
US Building Permits (10 cities, one schema)
Recently issued building permits from ten US open-data portals, returned in a single normalized table. Pick the cities, a date range and optional keywords such as solar, roof, demolition or pool, and get permit number, type, work description, status, address with coordinates, applied/issued/expiry dates, estimated project cost and the contractor company where the city publishes it.
Sources (all official open-data portals, no login, no browser):
| Key | Source | Updated |
|---|---|---|
nyc | NYC DOB NOW: Build – Approved Permits | daily |
chicago | City of Chicago Building Permits | daily |
san-francisco | San Francisco Building Permits | daily |
los-angeles | LADBS Building Permits | daily |
austin | City of Austin Issued Construction Permits | daily |
seattle | Seattle Building Permits | daily |
new-orleans | City of New Orleans Building Permits | daily |
montgomery-county-md | Montgomery County MD Residential and Commercial Permits | daily |
cincinnati | City of Cincinnati Building Permits | daily |
baton-rouge | East Baton Rouge Parish Building Permits | daily |
Each city publishes different columns; this Actor maps them onto the same fields so you can build one pipeline for all of them. Need another city? Open an issue with a link to its open-data permit dataset.
What you get
{"source": "austin","sourceName": "City of Austin Issued Construction Permits","state": "TX","city": "AUSTIN","permitNumber": "2026-133771 PP","permitType": "Plumbing Permit","permitSubtype": "C-1000 Commercial Remodel / Remodel","description": "Interior renovation of a two-story multi-family building...","status": "Active","address": "1105 CLAYTON LN UNIT 207","zip": "78723","latitude": 30.3043,"longitude": -97.7013,"appliedDate": "2026-09-29T00:00:00","issuedDate": "2026-10-22T00:00:00","expiresDate": "2027-04-20T00:00:00","estimatedCost": 185000,"contractorCompany": "ABC Plumbing LLC","recordUrl": "https://abc.austintexas.gov/web/permit/public-search-other?t_detail=1&t_selected_folderrsn=...","datasetUrl": "https://data.austintexas.gov/d/3syk-w9eu","scrapedAt": "2026-10-22T19:04:11+00:00"}
Columns a city does not publish are null. Names of individuals (owners, applicants, contacts) are never included in the normalized fields; contractorCompany is filled only from columns that hold a business name.
Input
| Field | Type | Notes |
|---|---|---|
cities | array | Source keys from the table above. Empty = all. |
issuedAfter | YYYY-MM-DD | Default: 7 days ago. |
issuedBefore | YYYY-MM-DD | Exclusive upper bound. |
keywords | array | Work description contains any keyword (case-insensitive). |
minEstimatedCost | integer | Skip small jobs. Ignored by sources without a cost column. |
includeRawRecord | boolean | Attach the original row under raw. |
maxPermitsPerCity / maxPermits | integer | Caps (0 = unlimited). |
socrataAppToken | string | Optional; only needed for very large pulls. |
Example – solar and roofing leads from the last 30 days, three cities:
{"cities": ["chicago", "austin", "seattle"],"issuedAfter": "2026-09-22","keywords": ["solar", "roof", "reroof"],"minEstimatedCost": 5000}
Pricing
Pay per event: $0.002 per permit saved ($2 per 1,000), plus Apify's standard Actor start fee. Filters are applied server-side at the portal, so you are not charged for permits you filtered out. A daily run over all ten cities with a 1-day window is typically 1,000–3,000 permits, i.e. $2–6; narrow it with keywords or minEstimatedCost to pay cents.
Use cases
- Contractor and supplier lead generation: new roofs, HVAC, solar, pools, demolitions, with the address and project value.
- Real-estate and construction analytics: permit volume and value by city, ZIP or type over time.
- Property research: what work was permitted at an address.
- Proptech and insurance data pipelines: a single schema instead of ten.
How it works
Each source is a Socrata SODA endpoint (https://<portal>/resource/<id>.json). The Actor sends one SoQL query per page ($where on the issued-date column, keyword like filters, $order newest first, 1,000 rows per page) with polite rate limiting and retries, then maps the rows to the shared schema. Open-data portals occasionally lag a day or two behind the city's permit system.
FAQ
Why is status or estimatedCost missing for a city? That portal does not publish the column (for example Baton Rouge has no status field).
Can I get owner or applicant names? No. The normalized output excludes personal names by design; use includeRawRecord only if you need other city-specific columns and have a lawful basis for processing whatever the city publishes.
Dates look like 2026-10-22T00:00:00 without a timezone. They are local civil dates as published by each city.