Browse 2.2M+ HVAC permits across ~522 U.S. jurisdictions →
Every HVAC permit is a homeowner who just installed or replaced a system — a maintenance-plan, warranty, and future-replacement opportunity. Find them all by city, state, or ZIP through one daily-refreshed API.
No credit card required. 100 free requests/day.
# HVAC permits issued in Phoenix this season
curl "https://api.permit-stack.com/v1/permits/search\
?state=AZ&city=Phoenix\
&category=HVAC\
&issued_after=2026-04-01\
&per_page=100" \
-H "X-API-Key: pk_your_key_here"
# Returns address, dates, est. value,
# and contractor for every installHVAC permits are public records pulled for AC, furnace, and heat-pump installs and replacements. PermitStack normalizes 2.2M+ HVAC permits from city portals (Socrata, ArcGIS, Tyler EnerGov, Accela and more) into one schema across ~522 active jurisdictions in all 50 states. Query category=HVAC by city, state, or ZIP, filter by issued_after for fresh installs, and you have a daily lead feed and market-intel source — starting on a free 100 requests/day tier.
Shared HVAC leads cost $30-120+ each and land in five inboxes at once. A permit is a first-party public record of a system install — perfect for maintenance-plan offers, warranty follow-up, and replacement timing years later.
The HVAC category spans AC, furnace, and heat-pump installs and replacements across ~522 jurisdictions — one of 20 categories in a 51M+ permit database.
Ingest runs every day at 03:00 UTC. During a heat wave, the spike in AC-replacement permits surfaces while neighbors are still sweating through a dead unit.
100 free API requests per day, no credit card. Each request returns up to 100 permits — enough to size a market before you pay anything.
Build an automated pipeline that runs daily. No manual portal-checking, no scraping, no spreadsheets.
Query category=HVAC with city, state, or zip_code, then add issued_after to capture only recent AC and furnace installs.
Each permit returns the full property address, GPS coordinates, estimated project value, status, work description, and the contractor of record where the source provides it.
Poll /v1/permits/events for new and changed permits, or register a webhook to get pushed every fresh HVAC match — straight into your CRM or service software.
Hit the same REST endpoint from any language. Authenticate with a single X-API-Key header — no SDK required.
import requests
# Recent HVAC permits in a hot-climate ZIP
resp = requests.get(
"https://api.permit-stack.com/v1/permits/search",
headers={"X-API-Key": "pk_your_key_here"},
params={
"zip_code": "85032",
"category": "HVAC",
"issued_after": "2026-04-01",
"min_value": 5000,
"per_page": 100,
},
)
# Address comes back as components: address_street,
# address_city, address_state, address_zip.
for p in resp.json()["results"]:
print(p["address_street"], p["address_city"], p["address_zip"], p["estimated_value"], p["contractor_name"])
# Building market intel? Same params, hit
# GET /v1/permits/export for a streaming CSV.Pull every HVAC permit issued in your service ZIPs to reach homeowners who just installed a system — ideal for maintenance plans, IAQ add-ons, and warranty registration follow-up.
A condenser permitted 12-15 years ago is nearing failure. Use back-history and /v1/property/history to flag aging systems due for replacement and get ahead of the breakdown.
Spot homes with older furnaces or straight-AC installs and target them for heat-pump conversions and high-efficiency upgrades as rebates and incentives roll out.
Track HVAC install volume by ZIP and city over time to size demand, plan inventory, and decide where to open the next branch or stage seasonal crews.
Sort by contractor_name to see which HVAC companies are pulling the most permits in your territory — their volume, average project value, and geographic footprint.
Rank ZIPs and metros by install density and project value to guide M&A targeting, franchise siting, and where to concentrate marketing spend.
Every jurisdiction carries a data_status flag — active, historical_archive, or frozen — exposed in the API and on our public coverage page. You never mistake a decommissioned feed for a live one, and future-dated permits are rejected at ingest so your install dates stay trustworthy.
HVAC permits are public records pulled when a homeowner installs or replaces an AC, furnace, or heat pump. PermitStack normalizes them into one API so you can query category=HVAC by city, state, or ZIP and filter by issued_after to surface only recent installs. Each permit returns the property address, dates, estimated value, and contractor name — high-intent leads for maintenance plans, warranty follow-up, and replacement cross-sell.
PermitStack ingests from city open-data portals daily at 03:00 UTC, so most jurisdictions appear within a day of a permit being filed. Each jurisdiction carries a data_status flag (active, historical_archive, or frozen) so you always know how current a source is before you act on it.
PermitStack holds 2.2M+ HVAC permits within a database of 51M+ total permits spanning ~522 active jurisdictions across all 50 states, plus 24 historical-archive jurisdictions for back-history and aging analysis. Browse the HVAC coverage by city →
Yes. Sort and aggregate by contractor_name, city, ZIP, and estimated value to see which HVAC companies dominate each market, track install volume over time, and spot demand shifts toward heat pumps and high-efficiency systems. The /v1/permits/export endpoint streams the same data to CSV for your BI tools.
Yes. The free tier gives you 100 requests per day with no credit card. Paid plans start at $19/mo (indie) and scale to $499/mo (growth), all self-serve through Stripe with no sales call. See pricing →
51M+ permits · 2.2M+ HVAC · ~522 jurisdictions · updated daily · free tier