Building Permits Multi-City
Pricing
from $5.00 / 1,000 permits
Building Permits Multi-City
Newly issued building permits from Chicago, New York, San Francisco, Los Angeles, Austin, Seattle, Dallas, New Orleans and Philadelphia in one format: permit number, type, status, description, address, coordinates, valuation, issue date and contractor. Official open-data APIs.
Pricing
from $5.00 / 1,000 permits
Rating
0.0
(0)
Developer
Carina Hatton
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
New building permits from nine large US cities, in one clean format. Pick the cities and a date range and get every permit the city issued: what's being built or repaired, where, how much it's worth, and who the contractor is (where the city publishes it).
Handy for contractors and suppliers looking for new jobs, solar and roofing sales teams, real estate investors watching neighborhoods, and anyone building market reports.
Cities and sources
| City | Source (official open-data portal) | Coordinates | Valuation | Contractor | Notes |
|---|---|---|---|---|---|
| Chicago, IL | data.cityofchicago.org, Building Permits | yes | yes | yes | updated daily |
| New York, NY | NYC Open Data, DOB NOW Approved Permits | yes | most | yes (permittee) | updated daily |
| San Francisco, CA | DataSF, Building Permits | yes | yes | no | updated daily |
| Los Angeles, CA | data.lacity.org, Building Permits | yes | yes | no | city refreshes weekly, so the last few days can be empty |
| Austin, TX | data.austintexas.gov, Issued Construction Permits | most | some | yes | links to the city's permit page |
| Seattle, WA | data.seattle.gov, Building Permits | yes | yes | sometimes | links to the city's permit page |
| Dallas, TX | dallasopendata.com, Building Permits | no | yes | yes | no coordinates or status in the source |
| New Orleans, LA | data.nola.gov, Permits | yes | yes | yes | also includes non-construction permits (signs, vacancy, etc.) |
| Philadelphia, PA | OpenDataPhilly / L&I permits (Carto API) | yes | no | yes | no job value in the source |
All data comes from official city APIs. No login, no API key, no scraping of web pages. The Actor reads each portal politely (at most one request per second per city).
Input
| Field | What it does | Default |
|---|---|---|
| Cities | Which cities to include | all nine |
| Issued from / Issued to | Issue-date range, as dates or relative ("7 days") | last 7 days |
| Permit type keywords | Match words in permit type, work type or class, e.g. new, demolition, electrical, roof | none |
| Description keywords | Match words in the work description, e.g. solar, pool, ADU | none |
| Min valuation | Only permits with a declared job value at least this high | none |
| Max permits (total) | Stop after this many | 5000 |
| Max permits per city | Cap per city | no cap |
Example: new construction worth $500k+ in Austin, Seattle and Chicago over the last 30 days:
{"cities": ["austin", "seattle", "chicago"],"dateFrom": "30 days","permitTypeKeywords": ["new"],"minValuation": 500000}
Output
Every permit has the same fields, whatever the city:
city, state, permitNumber, permitType, workType, permitClass, status, description, address, zip, latitude, longitude, valuation, issueDate, applicationDate, applicant, contractor, sourceUrl, sourceDataset, scrapedAt
Fields a city doesn't publish are null. A real record from a test run:
{"city": "Seattle","state": "WA","permitNumber": "7117265-CN","permitType": "Building","workType": "New","permitClass": "Single Family/Duplex","status": "Issued","description": "Construct SOUTH two-family dwelling per plan. [Establish use as housing for one and two attached dwelling units per land use code. Construct one- and two-family dwellings per plan. Review and processing for (2) construction records under 7117265-CN.]","address": "2222 NE 80TH ST","zip": "98115","latitude": 47.68676315,"longitude": -122.30352451,"valuation": 617735,"issueDate": "2026-10-20","applicationDate": "2026-03-25","applicant": null,"contractor": null,"sourceUrl": "https://services.seattle.gov/portal/customize/LinkToRecord.aspx?altId=7117265-CN","sourceDataset": "https://data.seattle.gov/d/76t5-zqzr","scrapedAt": "2026-10-30T19:00:00+00:00"}
sourceUrl points to the city's own permit page when it has one (Austin, Seattle, Philadelphia property history) and otherwise to the exact record in the city's API. The run's RUN_SUMMARY record shows how many permits came from each city and whether any city's portal failed.
Good to know
- Each city words things its own way. "New construction" in Chicago is
PERMIT - NEW CONSTRUCTION, in Seattle it's work typeNew, in LA it'sBldg-New. Short keywords likenewwork best. - Valuation is the job value the applicant declared, in US dollars. Zero or missing values come back as
null. - Owner names are left out on purpose. The Actor only returns business names for applicants and contractors where the city publishes them (New Orleans lists applicants as published by the city).
- If one city's portal is down, the run still finishes with the other cities and the summary tells you which one failed.
- Schedule the Actor daily with "Issued from: 2 days" to get a rolling feed of new permits.
Pricing
Pay per result. You only pay for permits saved to your dataset:
| Event | Price |
|---|---|
| Permit | $0.005 |
Some examples:
- 1,000 permits from one city costs $5.
- The default cap of 5,000 permits costs at most $25.
- Narrow with permit type keywords, description keywords or a minimum valuation to pay only for the permits you need.
Apify also charges a tiny standard Actor start fee ($0.00005 per run). You can set a maximum charge per run in Apify, and the Actor stops cleanly when it reaches that cap.
Missing a city?
Open an issue with the city name. Cities with a public permits API (Socrata, ArcGIS or CKAN) are usually quick to add. Boston is not included because its data portal's robots.txt doesn't allow automated API access.