US Building Permit Leads — Multi-City
Pricing
$4.00 / 1,000 results
US Building Permit Leads — Multi-City
Fresh, normalized building-permit leads across NYC, SF, Chicago, Austin & Seattle. Filter by city, date, cost, keyword, ZIP. One unified schema.
Pricing
$4.00 / 1,000 results
Rating
0.0
(0)
Developer
Alfredo Carranza
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Fresh, normalized building-permit leads from five major US cities in one unified schema. Filter by city, issue date, job cost, work-description keyword, and ZIP. Built for contractors, roofers, solar installers, materials suppliers, and lead-gen agencies who want a clean, current feed of who just pulled a permit — and for what.
Cities covered
| City | Source | Cost filter | Owner name | Contractor name |
|---|---|---|---|---|
| New York City | DOB NOW: Build – Approved Permits | ✅ | ✅ | ✅ |
| San Francisco | DBI Building Permits | ✅ | ❌ | ❌ |
| Chicago | Building Permits | ✅ | ❌ | ✅ (contact 1) |
| Austin | Issued Construction Permits | ❌ (not published) | ❌ | ❌ |
| Seattle | Built Environment Permits | ✅ | ❌ | ❌ |
All sources are official open-data (Socrata) APIs — no login, no CAPTCHA, no proxies. Data is refreshed by the cities themselves, so maintenance is minimal.
Input
| Field | Type | Description |
|---|---|---|
cities | array | Which cities to pull (default: all five). |
since | string | Only permits issued on/after YYYY-MM-DD. |
minCost | integer | Minimum estimated job cost (USD). |
keyword | string | Case-insensitive substring on the work description (e.g. roof, solar, pool). |
zipFilter | array | Restrict to specific 5-digit ZIPs. |
maxResultsPerCity | integer | Cap per city (default 1000). |
Output — normalized lead schema
city, permit_id, permit_type, work_description, status,issue_date, applied_date, estimated_cost,address, zip, latitude, longitude,owner_name, contractor_name, contractor_phone, source_url
Known limitations (read before buying)
- Field coverage varies by city (see table). Not every city publishes cost, owner, or contractor. Fields are
nullwhere the source doesn't provide them — never fabricated. - Austin has no job cost in its public dataset. If you set
minCost, Austin leads are excluded (can't verify the threshold). contractor_phoneis not available in the current public datasets for any city; the field exists for schema stability and forward compatibility.- Date semantics = permit issued date. "Applied" date is included where available.
- These are public records. The product's value is unification, filtering, freshness, and delivery — not exclusive data.
Pricing
Pay-per-event: one permit-lead event per delivered lead. Configure the price in the Apify Console → Publication → Monetization.
Local development
python3.11 -m venv .venv./.venv/bin/pip install -r requirements.txt# edit storage/key_value_stores/default/INPUT.jsonAPIFY_LOCAL_STORAGE_DIR=./storage ./.venv/bin/python -m src
Pure-stdlib fetch engine (src/engine.py, src/cities.py) is import-safe and testable without the SDK via test_local.py.
Roadmap
- Fix
contractor_phonesourcing where a secondary dataset exposes it. - Add cities weekly (LA needs an app token; Boston, Seattle county, Denver, Portland are candidates) — each new city widens the lead over single-city competitors.