Building Permit Lead Scraper — Contractor Lead Generation avatar

Building Permit Lead Scraper — Contractor Lead Generation

Pricing

from $3.00 / 1,000 building permit records

Go to Apify Store
Building Permit Lead Scraper — Contractor Lead Generation

Building Permit Lead Scraper — Contractor Lead Generation

Scrape building permit data from city open-data portals for contractor lead generation. Find properties with active renovation, roofing, HVAC, and construction permits.

Pricing

from $3.00 / 1,000 building permit records

Rating

0.0

(0)

Developer

Sam Kleespies

Sam Kleespies

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

17 days ago

Last modified

Categories

Share

Building Permit Lead Scraper — Construction Permit Leads for Contractors

Turn building permit records into a steady stream of high-intent contractor leads. This actor queries official city open-data portals for freshly issued building permits, filters by trade type (roofing, HVAC, plumbing, electrical, remodel, new construction), and returns structured records ready to load into your CRM or outreach tool.

Every lead is sourced directly from the same government databases that Shovels.ai, Dodge Data, and ConstructConnect resell at enterprise prices — at a fraction of the cost.

What It Does

The actor calls the Socrata REST API used by major U.S. cities to publish building permit data. It pulls permits issued within your specified lookback window, filters by trade type, and returns normalized lead records with property address, permit details, estimated project cost, contractor on file, and GPS coordinates.

Per-lead output fields:

  • Full street address and ZIP code
  • Permit type and work description (what's being built or repaired)
  • Issue date (freshness signal)
  • Estimated project cost in USD (prioritization signal)
  • Contractor name on file (competitive intelligence)
  • Property owner name where available
  • GPS coordinates for mapping, routing, and canvassing
  • Source dataset URL for verification

Supported Cities

CityStateData Source
ChicagoILdata.cityofchicago.org
Los AngelesCAdata.lacity.org (LADBS)
New York CityNYdata.cityofnewyork.us (DOB NOW)
AustinTXdata.austintexas.gov
SeattleWAdata.seattle.gov
San FranciscoCAdata.sfgov.org (DataSF)

All six cities are queried through verified Socrata API endpoints updated continuously by the city as permits are issued.

Permit Type Filters

FilterMatchesBest For
allEvery permitFull-market prospecting
roofingRoof, re-roof, shingle permitsRoofing contractors
hvacHVAC, mechanical, furnace, ductworkHVAC companies
plumbingPlumbing, water heater, sewerPlumbers
electricalElectrical, wiring, panelElectricians
remodelRenovation, alteration, kitchen, bathroomRemodelers, GCs
new_constructionNew building, new residential, erectGCs, suppliers

Inputs

ParameterTypeDefaultRangeDescription
cityselectchicagoCity to scrape
permitTypeselectallTrade type filter
daysBackinteger301–365Lookback window in days
maxResultsinteger2001–5000Maximum permits returned

Sample Output

{
"permitNumber": "B-2025-014732",
"address": "4821 N WESTERN AVE",
"city": "Chicago",
"state": "IL",
"zipCode": "60625",
"permitType": "PERMIT - RENOVATION/ALTERATION",
"workDescription": "Install new HVAC system, replace ductwork throughout",
"issueDate": "2025-03-12T00:00:00.000",
"estimatedCost": 14500,
"contractorName": "MIDWEST COMFORT HEATING & COOLING LLC",
"ownerName": "PATRICIA KOWALSKI",
"latitude": 41.9742,
"longitude": -87.6884,
"sourceUrl": "https://data.cityofchicago.org/resource/ydr8-5enu",
"scrapedAt": "2025-03-19T14:22:05.000Z"
}

Results are downloadable as CSV, JSON, JSONL, or Excel from the Apify dataset view.

Use Cases

Roofing Contractors

Set permitType to roofing and daysBack to 7–14. Every result is a property where a homeowner already committed to a roof replacement — they pulled the permit, so the job is happening. Use the address list for door-knocking campaigns, direct mail, or neighborhood canvassing. Sort by estimatedCost to prioritize larger jobs.

HVAC Companies

Filter by hvac to find mechanical permit activity across an entire city. Homeowners replacing HVAC systems are also prime candidates for air quality add-ons, duct sealing, and smart thermostat upgrades. Check estimatedCost — a $30,000 HVAC permit is worth a different conversation than a $3,000 water heater swap.

Remodelers and General Contractors

Use remodel or new_construction to find active renovation job sites. Cross-reference contractorName — if the permit lists a plumber or electrician on a kitchen remodel, the GC slot may still be open.

Home Services (Painters, Landscapers, Cleaning)

New construction and remodel permits signal properties that will need finishing services within 60–90 days. Run weekly and build a pipeline of addresses that will hit the market primed for your services.

Construction Material Suppliers and Distributors

Bulk-export permit data weekly to build a prospect list of active job sites. Address + contractor name + estimated cost gives your sales team a cold-call list with context. A roofer pulling 40 permits in the last 30 days is worth a different conversation than one with two.

Real Estate Investors

Filter by new_construction or remodel to spot neighborhood activity. Multiple permits on a single block in a short window is a leading indicator of appreciation pressure. Pair with ZIP code filtering by adjusting maxResults and daysBack.

Cost vs. Enterprise Permit Data Services

ServicePriceCoverage
Shovels.ai~$599/monthNational
Dodge Data & Analytics~$9,000–$12,000/yearNational
ConstructConnect~$7,000–$8,000/yearNational
This actor (Apify)Pay-per-result6 major cities

If you only need one city and a rolling 30-day window of roofing permits, you do not need a $600/month subscription. Run this actor on demand and pay only for what you pull.

How It Works

  1. Select city and filters — Choose a city, permit type, lookback window, and result cap.
  2. Query the Socrata API — The actor calls the city's official open-data REST API, fetching permits issued within your daysBack window. It requests 2× your maxResults to maintain a buffer after type filtering.
  3. Normalize permit records — Each raw API response is mapped through city-specific field mappings into a consistent schema.
  4. Filter by permit type — Records are matched against keyword lists for your selected trade (e.g., "roofing" matches permits containing "roof", "reroof", "re-roof", or "shingle").
  5. Cap and push results — The loop stops once filtered results hit maxResults and the dataset is pushed to Apify storage.

The actor uses retry logic with exponential backoff for transient API errors and timeouts — runs are resilient to brief Socrata API hiccups.

Use via Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('samstorm/building-permit-lead-scraper').call({
city: 'chicago',
permitType: 'roofing',
daysBack: 30,
maxResults: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

This actor queries only official government open-data portals. All six city datasets are published under open data licenses and freely accessible to the public. No private website scraping, no CAPTCHA bypass, no rate limit violations.

The Socrata platform used by all six cities provides a public REST API explicitly designed for programmatic access. This actor uses that API as intended.

Frequently Asked Questions

How do I get a building permit leads list for my city? Select your city from the dropdown, choose the permitType matching your trade, and set daysBack to your preferred lookback window. The actor queries the city's official open-data API and returns structured permit records in under a minute — no manual portal navigation required.

How current is the building permit data? All data comes from official Socrata open-data APIs maintained by each city government, updated continuously as permits are issued — typically within 24–72 hours of issuance. Running this actor daily with daysBack: 7 gives you the freshest permit list available from any source.

How is this different from buying permit data from a lead broker? Permit lead brokers often add a 2–4 week delay between permit issuance and list delivery. This actor queries the live government API on demand — the moment a permit appears in the city dataset, your next run captures it. You pay per run, not per record.

Can I filter by ZIP code? Not yet as a direct input — but you can pull a broad result set and filter by the zipCode field in the output. ZIP-level filtering is on the roadmap.

Can I export permit leads to HubSpot or Salesforce? Yes. The actor outputs structured JSON and CSV that imports into any CRM. Each record includes address, permit type, estimated cost, issue date, and contractor name — enough to create a qualified lead record. For enriched contact data, pair this actor with a business directory lookup using the contractorName field.

Can I use this to reach homeowners before contractors do? Yes. Setting daysBack to 7 and running daily gives you permits issued in the last week — before most mail campaigns or door-knocking crews have started. The estimatedCost field helps prioritize: a $40,000 roofing permit is worth more attention than a $3,000 repair.

What permit types can I filter by? Roofing, HVAC/Mechanical, Plumbing, Electrical, Remodel/Renovation, and New Construction. Select "All" to pull every permit type and segment the export yourself by the permitType field.

To enrich contractor names found in permit records with phone numbers, emails, and websites, pair this actor with a Google Maps or business directory scraper using the contractorName as the search query.