Building Permit Scraper — Roofing Solar HVAC Leads avatar

Building Permit Scraper — Roofing Solar HVAC Leads

Pricing

from $5.00 / 1,000 permits

Go to Apify Store
Building Permit Scraper — Roofing Solar HVAC Leads

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

IntelScrape

Maintained by Community

Actor stats

4

Bookmarked

104

Total users

6

Monthly active users

5 hours ago

Last modified

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[] + penapis keyword. 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.

  1. Building Permit Scraper — Roofing, Solar & HVAC Leads
  2. Skip Trace PRO — Name, Address, Phone & Email People Lookup
  3. Code Violations Scraper — City Code Enforcement Leads
  4. TruePeopleSearch Scraper — Phone & Email Matches
  5. TikTok Scraper — Emails & Influencer Leads
  6. Google Maps No-Website Leads — Local Businesses Without a Website
  7. UCC Lien Scraper — Florida & New Jersey Filings
  8. Skip Trace MCP Server — Use Skip Trace inside Claude, Cursor, ChatGPT

Use this Actor in n8n — no code

  1. Add the official Apify node in n8n.
  2. Connect your Apify API token.
  3. Run Actor ID: IntelScrape/building-permit-scraper.

Building Permit Scraper Banner

price billing API key coverage sources

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. Use demoMode for 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?

FeatureBuilding Permit ScraperThin HTML scrapers
SourcesCivic open-data APIsBrittle city homepages
Buyer filterscities[] + keyword (roof/solar/HVAC)One city dump
BillingPay per delivered permitPay for empty / junk rows
ContactsOptional enrichment (ON by default; phones/emails not guaranteed)Oversell “always phones”
OpsIncremental + HOT/WARM/COLDOne-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
}
InputWhat 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.
keywordOptional case-insensitive filter applied after scrape on description / permit type / contractor / address (roof, solar, HVAC, pool, …).
dateFrom / dateToOptional 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) + one contractor-rollup-summary row with Soft CTA → Skip Trace PRO / UCC Lien Scraper / Code Violations. Optional contractor-rollup PPE when the Store event is live (charged once per summary).

Enrichment honesty (read this)

  • Live input schema: enrichContractors defaults to true (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: false to 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:

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 / COLD
  • contractor_phone / contractor_email / contractor_website only if enrichment succeeded
  • isDemo + notice when demoMode is on

Pricing (PPE — unchanged)

EventPriceWhen it fires
Actor start$0.05Once per run
Permit (apify-default-dataset-item)$0.005Each delivered permit
Contractor enrichment$0.05Only when phone/email/website delivered

Lawful B2B use of government open-data publications only. Not a consumer reporting agency.

Fresh leads & scoring

  • lastNDays / freshLeadsOnly / onlyNewResults
  • Numeric leadScore 0–100 + leadReasons[] + leadGrade
  • filtersApplied stamp + optional socrataAppToken
  • 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.