Building Permit Scraper — Roofing Solar HVAC Leads
Pricing
from $5.00 / 1,000 permits
Building Permit Scraper — Roofing Solar HVAC Leads
Multi-city building permits from city/county open-data APIs. cities[] + keyword. Contractor names, addresses, work type. Soft CTA → Skip Trace / UCC / Code Violations.
Pricing
from $5.00 / 1,000 permits
Rating
1.0
(1)
Developer
IntelScrape
Maintained by CommunityActor stats
4
Bookmarked
104
Total users
6
Monthly active users
a day ago
Last modified
Categories
Share
Building Permit Scraper — Roofing, Solar & HVAC Leads
🇨🇳 中文简介 (Chinese — China & Singapore): 想第一时间拿到美国城市新发建筑许可做屋顶/太阳能/暖通拓客?本 Actor 直连市政开放数据(Socrata / Accela / Tyler / ArcGIS),支持
cities[]多城 +keyword(roof / solar / HVAC)过滤,返回许可类型、造价、地址以及门户公开的业主/承包商姓名。电话与邮箱为可选 enrichment(默认开启;仅成功命中时另计 +$0.05;不保证每条都有电话/邮箱。设 enrichContractors=false 可避免 enrichment 费用)。按交付许可计费,无需 API Key。现在运行,把 HOT 许可线索同步到表格或 AI 工作流。
🇸🇬 Ringkasan Melayu (Singapore): Mahukan permit bina baharu (atap, solar, HVAC) dari bandar AS? Actor ini tarik data terbuka bandar dengan
cities[]+ penapiskeyword. Jenis permit, nilai, alamat dan nama pemilik/kontraktor bila diterbitkan. Telefon/e-mel ialah enrichment pilihan (dinyalakan secara lalai; +$0.05 hanya bila berjaya; tidak dijamin. Set enrichContractors=false untuk elak kos enrichment). Bayar per permit — tiada API key. Ideal untuk kontraktor dan lead pembinaan. Cuba di Apify.
🤖 NEW: Connect This To Your AI! (MCP)
Want permit leads and owner-phone enrichment inside Claude, Cursor, or ChatGPT? Use the Skip Trace MCP Server — Model Context Protocol access to Building Permit Scraper + Skip Trace PRO in one AI workflow. Ask your agent to multi-city scan permits, filter by keyword, then skip-trace owner phones hands-free.
🏆 Featured Bots by IntelScrape
- Building Permit Scraper — Roofing, Solar & HVAC Leads
- Skip Trace PRO — Name, Address, Phone & Email People Lookup
- Code Violations Scraper — City Code Enforcement Leads
- TruePeopleSearch Scraper — Phone & Email Matches
- TikTok Scraper — Emails & Influencer Leads
- Google Maps No-Website Leads — Local Businesses Without a Website
- UCC Lien Scraper — Florida & New Jersey Filings
- Skip Trace MCP Server — Use Skip Trace inside Claude, Cursor, ChatGPT
⚡ Use this Actor in n8n — no code
- Add the official Apify node in n8n.
- Connect your Apify API token.
- Run Actor ID:
IntelScrape/building-permit-scraper.

Contractor / solar / roofing lead buyers: pull newly issued building permits from city/county open-data portals — not fragile homepage scrapers.
Filter with cities[] (multi-city pack) + keyword (roof, solar, HVAC, pool, …). Owner + contractor names when the portal publishes them. Phone & email via optional enrichment (ON by default, +$0.05 only on successful hits — phones/emails are not guaranteed). Set enrichContractors: false to avoid enrichment spend. HOT/WARM/COLD lead score, incremental mode, dedupe.
≈ $5 / 1,000 permits. No API key required.
Honest coverage & billing (read this): Sources are municipal open-data APIs (Socrata / Accela / Tyler / ArcGIS) where available — not every US city. You are billed $0.005 per delivered permit plus $0.05 actor start. Optional
contractor-enrichment(+$0.05) fires only when a phone/email/website is actually delivered (phones are opt-in, never guaranteed). Enrichment needs the owner backend token; if unavailable you still get public-record permit fields. UsedemoModefor a fictional sample.
🧭 Built for roofing contractors, solar installers, HVAC / remodel outreach, materials suppliers, lenders, and commercial construction sales.
⭐ Store rating is driven by daily power users. Please leave an honest review if this saves you time — we do not claim a fake 5.0★.
⚖️ Lawful business use only. Returns information already published on government open-data portals. You are liable for how you use it.
📌 Names, phones, and emails in this README are fictional examples for illustration.
🕵️♂️ Why Choose Us vs. "Cheaper" Competitors?
| Feature | Building Permit Scraper | Thin HTML scrapers |
|---|---|---|
| Sources | Civic open-data APIs | Brittle city homepages |
| Buyer filters | cities[] + keyword (roof/solar/HVAC) | One city dump |
| Billing | Pay per delivered permit | Pay for empty / junk rows |
| Contacts | Optional enrichment (ON by default; phones/emails not guaranteed) | Oversell “always phones” |
| Ops | Incremental + HOT/WARM/COLD | One-shot dumps |
Quick start (single city)
{"city": "Austin","state": "TX","permitType": "Roofing","minCost": 5000,"maxResults": 50,"timePeriod": "Last 30 days","enrichContractors": true}
Demo (fictional, no live scrape):
{ "demoMode": true }
Legacy aliases still accepted: targetLocation (“Austin, TX”), minProjectCost, max_results.
Multi-city pack + filters (cities[] + keyword + dates + zipCodes)
Scan several US cities in one run with optional free-text filtering — built for contractor / solar / roofing lead packs.
{"cities": ["Chicago", "Austin", "Miami"],"keyword": "solar","maxResults": 100,"timePeriod": "Last 30 days","enrichContractors": true}
| Input | What it does |
|---|---|
cities[] | List of US city names (e.g. ["Chicago","Austin"]). Each city is discovered separately. Caps via maxCities (default 25 for this list). Leave empty to use single city. |
keyword | Optional case-insensitive filter applied after scrape on description / permit type / contractor / address (roof, solar, HVAC, pool, …). |
dateFrom / dateTo | Optional YYYY-MM-DD bounds. When either is set, they override the Time period dropdown window. |
zipCodes[] | Optional post-scrape ZIP allow-list (normalized to 5-digit). Empty = no ZIP filter. |
Single-city mode still works with city + state as before.
Contractor rollup (new)
enableContractorRollup(default ON) — groups delivered permits by contractor (top 25) + onecontractor-rollup-summaryrow with Soft CTA → Skip Trace PRO / UCC Lien Scraper / Code Violations. Optionalcontractor-rollupPPE when the Store event is live (charged once per summary).
Enrichment honesty (read this)
- Live input schema:
enrichContractorsdefaults totrue(ON by default). - Phones / emails / websites are best-effort and not guaranteed on every permit row.
- You are billed +$0.05 (
contractor-enrichment) only on successful hits. - Set
enrichContractors: falseto scrape permits without enrichment spend.
Soft CTA — next steps after permits (SOFTCTA_DEEPEN_3_7_43)
Every permit row (and contractor rollup) includes a free softCta mesh — no extra PPE:
- Google Maps Email Extractor — nearby business emails
- Google Maps No-Website Leads — contractors/owners without sites
- Website Contact Scraper — emails/phones from contractor sites
- Code Violations — distress signals in the same markets
- UCC Lien Scraper — financing / secured-party intel
- TruePeopleSearch / Skip Trace PRO — people enrichment (links only)
What you get (per permit)
- Permit number, status, issue date, description
- Estimated project value (when published)
- Address / parcel fields when published
- Owner & contractor name when published
leadScore: HOT / WARM / COLDcontractor_phone/contractor_email/contractor_websiteonly if enrichment succeededisDemo+noticewhendemoModeis on
Pricing (PPE — unchanged)
| Event | Price | When it fires |
|---|---|---|
| Actor start | $0.05 | Once per run |
Permit (apify-default-dataset-item) | $0.005 | Each delivered permit |
| Contractor enrichment | $0.05 | Only when phone/email/website delivered |
Legal
Lawful B2B use of government open-data publications only. Not a consumer reporting agency.
Fresh leads & scoring
lastNDays/freshLeadsOnly/onlyNewResults- Numeric
leadScore0–100 +leadReasons[]+leadGrade filtersAppliedstamp + optionalsocrataAppToken- Soft CTA → Skip Trace PRO / Code Violations / UCC Lien
⭐ Store review
Got useful permits from a live city run? A short Store review helps other contractors find this Actor — thanks.