Building Permit Lead Feed - 11 US Cities, Daily
Pricing
$5.00 / 1,000 results
Building Permit Lead Feed - 11 US Cities, Daily
New building permits from 11 official US city/county open-data portals (NYC, LA, Chicago, SF, Austin, Seattle and more) in one clean schema. Filter by work type, value and contractor; monitor mode returns only new permits.
Pricing
$5.00 / 1,000 results
Rating
0.0
(0)
Developer
Jonathan Boyd
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Categories
Share
Building Permit Lead Feed: 11 US Cities, One Clean Schema
Get newly issued building permits from 11 official city and county open-data portals in one normalized dataset. That includes NYC, Los Angeles, Chicago, San Francisco, Austin, Seattle and more. Each record carries the job value, the address, the coordinates and the contractor business. Schedule it daily with Monitor mode and you only get permits you haven't seen before. It works as a lead feed.
Who uses this
- Contractors and subcontractors (roofing, solar, HVAC, electrical, pools) find active projects and the GCs running them.
- Building-material suppliers and equipment rental reach contractors the week a big job is permitted.
- Home services and insurance spot remodels, additions and new construction in their territories.
- Investors and analysts track construction activity, valuations and hot ZIP codes.
Coverage
All data comes from official government open-data portals (Socrata SODA APIs). No login, no scraping of private sites.
| Source ID | Jurisdiction | Official dataset |
|---|---|---|
chicago_il | City of Chicago, IL | data.cityofchicago.org |
nyc_ny | New York City, NY | data.cityofnewyork.us |
los_angeles_ca | City of Los Angeles, CA | data.lacity.org |
san_francisco_ca | City and County of San Francisco, CA | data.sfgov.org |
austin_tx | City of Austin, TX | data.austintexas.gov |
seattle_wa | City of Seattle, WA | data.seattle.gov |
cincinnati_oh | City of Cincinnati, OH | data.cincinnati-oh.gov |
montgomery_county_md | Montgomery County, MD, MD | data.montgomerycountymd.gov |
new_orleans_la | City of New Orleans, LA | data.nola.gov |
cambridge_ma | City of Cambridge, MA | data.cambridgema.gov |
baton_rouge_la | East Baton Rouge Parish, LA | data.brla.gov |
Every record links back to its dataset_url, and to the city's permit page (record_url) where the city provides one.
Input
| Field | What it does |
|---|---|
sources | Which cities to query. Leave empty to query all of them. |
daysBack / dateFrom / dateTo | The issue-date window. Defaults to the last 7 days. Accepts YYYY-MM-DD or forms like 30 days. |
keywords | Matches against the description, permit type, work class and contractor (e.g. roof, solar, pool, demolition). |
propertyClass | any, residential or commercial. |
minValuation / maxValuation | Filter by declared job value in USD. |
onlyWithContractor | Keep only permits that name a contractor business. |
maxResults / maxResultsPerSource | Overall and per-city caps. Results are sorted newest first. |
monitorMode / monitorKey | Return only records not returned before for the same filters (or the same key). |
Example: solar and roofing jobs over $20k in Austin, Seattle and SF, as a daily feed:
{"sources": ["austin_tx", "seattle_wa", "san_francisco_ca"], "daysBack": 7, "keywords": ["solar", "roof"],"minValuation": 20000, "monitorMode": true, "maxResults": 500}
Output
Every city's records come out in one flat schema:
{"record_id": "2776a974158b024f","source_id": "chicago_il","source_name": "Chicago Building Permits","jurisdiction": "City of Chicago","state": "IL","permit_number": "101074874","permit_type": "PERMIT - RENOVATION/ALTERATION","work_class": null,"property_class": null,"status": "ACTIVE","description": "SPR 2019 CBRC: NEW 2ND FLOOR FRAME ADDITION IN EXISTING 1.5 BRICK BUILDING WITH BASEMENT. MECHANICAL, ELECTRICAL & PLUMBING PER PLANS.","date": "2026-10-30","issue_date": "2026-10-30","applied_date": "2025-11-11","valuation_usd": 61750.0,"address": "1511 N MONITOR AVE","city": "Chicago","zip": null,"latitude": 41.9078598250023,"longitude": -87.77177140054073,"contractor_name": "BLUE LINE ELECTRICAL CONTRACTO","contractor_trade": null,"contractor_phone": null,"owner_business_name": null,"housing_units": null,"record_url": null,"dataset_url": "https://data.cityofchicago.org/d/ydr8-5enu","scraped_at": "2026-10-31T22:10:42+00:00"}
Fields that a city doesn't publish are null. Coverage differs by city: Seattle rarely lists contractors, NYC rarely gives a residential/commercial class, and several cities don't publish ZIP codes.
Each run also writes a RUN_SUMMARY record to the key-value store. It shows each source's status (ok/failed), its error, timing and how many records it contributed, so a portal outage is visible and never silently drops data.
Pricing
Pay per result: $0.004 per permit ($4 per 1,000). The run stops cleanly at your max-charge limit, and you are never charged beyond it. In monitor mode you only pay for new permits.
For comparison, as of Oct 31, 2026 other building-permit actors on Apify charge between $0.002 and $0.03 per record, and Shovels' paid plans start at $599/month for 25,000 records.
Reliability
- Retries with exponential backoff, honours
Retry-After, and has timeouts on every request. - Sources are isolated: if one city's portal is down, the others still deliver, and the failure is reported in
RUN_SUMMARYand the status message. - Records are deduplicated across pages and runs (a stable
record_idper city and permit number). - Only portals with fresh data are included. Stale datasets were removed during development.
Privacy
Only business names are output for contractors and owners. Names that look like an individual's are dropped, and a contractor phone is only output when a contractor business is named. Applicant names and homeowners are never output.
FAQ
How fresh is the data? It is as fresh as each city's portal. Most update daily, with a lag of 1–7 days (Los Angeles typically lags about a week).
Can I get historical data? Yes. Set dateFrom, which can go back up to 10 years where the city's dataset does.
Why are some valuations null? Some permits (e.g. electrical or plumbing) don't declare a job value. If you set minValuation, permits without a value are excluded.
Do I need an API key? No. For very large pulls you can add a free Socrata app token to raise the rate limits.
Limitations
- Coverage is limited to the 11 jurisdictions above; more will be added as reliable official feeds are verified.
- Field completeness varies by city (see Output).
property_classis inferred from each city's permit class, or from the description when no class is given, and may benull.