US Building Permits - Contractor Leads with Delta Mode avatar

US Building Permits - Contractor Leads with Delta Mode

Pricing

from $5.00 / 1,000 us building permits - contractor leads with delta modes

Go to Apify Store
US Building Permits - Contractor Leads with Delta Mode

US Building Permits - Contractor Leads with Delta Mode

Building permits from 9 US cities via official open-data APIs: contractor name, licence and phone, job value, GPS, trade tagged (roofing, solar, HVAC, electrical, plumbing) and a lead score. Delta mode delivers and charges only the permits that are new since your last run.

Pricing

from $5.00 / 1,000 us building permits - contractor leads with delta modes

Rating

0.0

(0)

Developer

Carlos Escanez

Carlos Escanez

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

US Building Permits — contractor leads from 9 cities, only the new ones

Every building permit a city issues is a job that just got funded, with the contractor doing it printed on the record. This actor reads those records straight from the official open-data APIs of nine US cities, normalises them into one schema, tags the trade (roofing, solar, HVAC, electrical, plumbing, remodel...), scores the lead, and, in delta mode, delivers only the permits you have not received before, so a daily schedule becomes a feed of fresh leads you pay for once.

No website scraping, no proxies, no login: the data comes from Socrata APIs the cities maintain themselves, so it does not break when a portal changes its layout.

See it run

Default input, no changes: permits issued in the last 7 days across all nine cities that have a contractor on file. About 5,000 rows.

Delta feed for a roofing sales team in Texas and Florida:

{
"cities": ["austin", "orlando"],
"trades": ["roofing", "solar"],
"onlyNew": true,
"stateStoreName": "roofing-tx-fl"
}

Run it every morning. The first run returns the last 7 days; every run after that returns only permits issued since the previous run, and charges only for those.

Two modes

Window mode (default): every permit issued in a date range, lastNDays or dateFrom/dateTo. Newest first. Use it for a one-off pull or a market study.

Delta mode (onlyNew: true): the actor keeps, per city, the highest issue date delivered and the ids delivered in the three days before it, in a key-value store on your account named stateStoreName. Next run it asks the city only for permits from that date on, drops the ones already delivered, and advances the mark. Cities publish with a lag of one to three days, which is why the three-day grace window exists. Different store names give you independent feeds (one per client, one per trade). resetState: true starts a feed over.

One thing to know about delta mode: a permit that your filters skip is not remembered, so widening trades, minValuation or keyword later will not bring back permits older than the feed's current position. Keep the filters stable while a feed runs, and use a new store name for a new set of filters.

What every row carries, normalised across cities

  • Permit: permitNumber, permitType, workClass, description, status, appliedDate, issuedDate (YYYY-MM-DD), valuation (USD, absent when the city has none), squareFootage.
  • Site: address, city, state, zip, latitude, longitude.
  • Contractor: contractorName, contractorLicense, contractorPhone (E.164, +1...), contractorPhoneRaw, contractorAddress, contractorTrade (what the city calls it).
  • Trade: trade, one of roofing, solar, hvac, electrical, plumbing, remodel, new_construction, demolition, pool, fence, other. Classified from permit type, work class and description; measured 62–99 % of rows land in a named trade depending on the city, the rest are other.
  • Lead score leadScore 0–100: contractor on file +30, phone +15, licence +10, job value over 10k +10 / over 50k +20, issued in the last 7 days +15.
  • Flags to filter on: hasContractor, hasPhone, hasLicense.
  • Provenance: source (the agency), sourceCode, sourceUrl (the permit's own page where the city offers one, otherwise the dataset), scrapedAt.

No owner names. Owners are private individuals; contractors are licensed businesses whose details the city publishes on purpose.

Example row (Austin):

{
"id": "AUSTIN-2026-115314PP",
"city": "Austin", "state": "TX",
"permitNumber": "2026-115314 PP",
"permitType": "Plumbing Permit", "workClass": "Repair", "trade": "plumbing",
"description": "Replacing angle stop supply water valve with new compression valves x6",
"status": "Active", "appliedDate": "2026-09-02", "issuedDate": "2026-09-12",
"address": "2704 Acopio Bnd", "zip": "78745",
"latitude": 30.19335061, "longitude": -97.82913434,
"contractorName": "Lugo's Plumbing Service",
"contractorPhone": "+15125074677",
"contractorAddress": "Elgin 78621",
"contractorTrade": "Plumbing Contractor",
"hasContractor": true, "hasPhone": true, "hasLicense": false,
"leadScore": 80,
"sourceUrl": "https://abc.austintexas.gov/web/permit/public-search-other?t_detail=1&t_selected_folderrsn=13766025"
}

Who runs this on a loop

  • Roofing, solar and HVAC companies calling the contractor who just pulled a permit next door, or the neighbourhood around a fresh re-roof.
  • Suppliers and distributors (materials, equipment, financing, insurance) who sell to contractors and want to know who is active this week and where.
  • Lead-gen agencies reselling fresh permit feeds by metro and trade.
  • PropTech and analytics teams tracking construction activity by zip code.
  • AI agents: the input is flat and the output is one row per permit, so it works as a tool without glue code.

Coverage, said plainly

Measured on 13 September 2026 over the previous 30 days. "Contractor" means a contractor name is on the record.

CityPermits / monthContractorPhoneLicenceJob valueGPS
New York City (DOB NOW)13,985100 %0 %100 %87 %100 %
Austin, TX4,96791 %89 %0 %7 %57 %
Chicago, IL2,86697 %0 %0 %87 %99 %
Orlando, FL2,34395 %58 %0 %91 %0 %
Seattle, WA1,90752 %0 %0 %98 %100 %
New Orleans, LA1,56680 %0 %77 %60 %0 %
Cincinnati, OH79098 %0 %0 %93 %98 %
Baton Rouge, LA592100 %0 %0 %70 %100 %
Marin County, CA36298 %0 %9 %99 %99 %
Total29,378

What that table does not hide:

  • Only Austin and Orlando publish the contractor's phone. Everywhere else you get the business name (and in New York and New Orleans the licence number), which is enough to look the company up.
  • Seattle's building permits rarely name the contractor; its trade permits (electrical, plumbing, mechanical) do, and both are included. onlyWithContractor (on by default) drops the rest at no cost.
  • Chicago records list up to 15 contacts per permit; the actor picks the first one typed as a contractor and ignores owners, architects and "owner acting as general contractor".
  • Orlando and New Orleans do not geocode their records; Chicago does not publish the site zip.
  • Trade classification is keyword based. Fire sprinklers, signs, elevators and scaffolding land in other.

Reliability, said plainly

  • Sources are government APIs with stable schemas. The actor is tested against all nine live before every release; a city that renames a column fails the test, not your run.
  • A city that is down is reported in failedCities in the run summary and skipped; the other cities still deliver. In delta mode nothing is delivered from a city that failed mid-read, so its watermark never advances on a partial read.
  • Socrata's public rate limit is shared. For very large pulls (tens of thousands of rows) pass a free socrataAppToken and you get your own quota.
  • The run summary (RUN_SUMMARY in the key-value store) lists rows read and delivered per city and the delta watermark, so you can audit every run.

Pricing

Pay per permit delivered. Filtered-out rows cost nothing, and in delta mode rows you already received cost nothing. A daily roofing-and-solar feed for Austin and Orlando is a few dozen rows a day.

Data source

Official open-data portals of the City of Orlando, City of Austin, City of New Orleans, City of Seattle, City of Cincinnati, City of Baton Rouge / East Baton Rouge Parish, County of Marin, NYC Department of Buildings (DOB NOW) and City of Chicago, all published under open-data terms. Building permits are public records in every one of these jurisdictions.