Platform
Search Coverage Property History Alerts
Solutions
Solar & Energy Solar Permit Data Roofing HVAC Real Estate Insurance Contractors
Company
Pricing API Docs Blog Sign In Get API Key
Roofing

Find reroof & storm leads from permit data.

Browse 2.2M+ roofing permits across ~522 U.S. jurisdictions →

When a homeowner pulls a roofing permit, the project is real and the budget is committed. Find every reroof and storm-restoration filing by city, state, or ZIP — through one daily-refreshed API.

No credit card required. 100 free requests/day.

recent_roofing.sh
# Roofing permits issued in Dallas this quarter
curl "https://api.permit-stack.com/v1/permits/search\
?state=TX&city=Dallas\
&category=ROOFING\
&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 new roof

The short answer

Roofing permits are public records. PermitStack normalizes 2.2M+ ROOFING permits from city portals (Socrata, ArcGIS, Tyler EnerGov, Accela and more) into one schema across ~522 active jurisdictions in all 50 states. Query category=ROOFING by city, state, or ZIP, filter by issued_after to get only fresh filings, and you have a daily storm-restoration and reroof lead feed — starting on a free 100 requests/day tier.

Better roofing leads than any storm-chase list

Bought roofing leads cost $40-150+ each and get resold to five competitors. A permit is a first-party public record of a homeowner who already committed to roof work — no bidding war, no shared list.

2.2M+

Roofing permits on file

The ROOFING category spans new roofs, reroofs, tear-offs, and repairs across ~522 jurisdictions — one of 20 categories in a 51M+ permit database.

Daily

Refresh cadence

Ingest runs every day at 03:00 UTC. After a hailstorm, the wave of new roofing permits shows up while the damage is still fresh in homeowners' minds.

$0

To start

100 free API requests per day, no credit card. Each request returns up to 100 permits — enough to validate a territory before you pay anything.

From API call to qualified roofing lead

Build an automated pipeline that runs daily. No manual portal-checking, no scraping, no spreadsheets.

Filter ROOFING by location + date

Query category=ROOFING with city, state, or zip_code, then add issued_after to capture only recent storm-restoration and reroof filings.

Get address, value & contractor

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.

Automate with events & webhooks

Poll /v1/permits/events for new and changed permits, or register a webhook to get pushed every fresh roofing match — straight into your CRM or dialer.

Pull a storm-restoration territory in 12 lines

Hit the same REST endpoint from any language. Authenticate with a single X-API-Key header — no SDK required.

roofing_leads.py
import requests

# Recent roofing permits in a storm-hit ZIP
resp = requests.get(
    "https://api.permit-stack.com/v1/permits/search",
    headers={"X-API-Key": "pk_your_key_here"},
    params={
        "zip_code": "75070",
        "category": "ROOFING",
        "issued_after": "2026-04-01",
        "min_value": 8000,
        "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"])

# Need a spreadsheet instead? Same params, hit
# GET /v1/permits/export for a streaming CSV.

What roofing companies build with permit data

Storm-restoration canvassing

After a hail or wind event, pull every ROOFING permit issued in the impact ZIPs to map neighborhoods where damage repair is already underway — and door-knock the streets around them.

Reroof aging & recapture

An asphalt roof permitted 18-25 years ago is nearing end of life. Use the back-history and /v1/property/history to flag homes due for replacement in your service area.

Insurance & supplement work

Recent roofing permits signal insurance-driven restoration. Cross-reference roof age and replacement dates to position supplement and full-replacement bids.

Solar cross-sell partnerships

A brand-new roof is the ideal surface for panels. Hand qualified reroof leads to a solar partner — or run the reverse play and offer roofing to solar installers.

Competitive market intel

Sort by contractor_name to see which roofers dominate each ZIP, their permit volume, and average project value — then target the territories they underserve.

Territory & crew planning

Compare ROOFING permit volume across cities and ZIPs to allocate crews and sales reps where reroof demand is actually concentrated.

Know exactly how fresh each source is

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 dates stay trustworthy.

Roofing permit data, answered

How do roofing contractors get leads from permit data?

Roofing permits are public records filed when a homeowner reroofs or repairs a roof. PermitStack normalizes them into one API so you can query category=ROOFING by city, state, or ZIP and filter by issued_after to surface only recent filings. Each permit returns the property address, dates, estimated value, and contractor name — high-intent leads you can push straight into your CRM.

How fresh is the roofing permit data?

PermitStack ingests from city open-data portals daily at 03:00 UTC. Most jurisdictions appear within a day of a permit being filed, so you reach homeowners while the project is active. Each jurisdiction carries a data_status flag (active, historical_archive, or frozen) so you always know how current a source is.

How many roofing permits does PermitStack cover?

PermitStack holds 2.2M+ ROOFING permits within a database of 51M+ total permits spanning ~522 active jurisdictions across all 50 states, plus 24 historical-archive jurisdictions for back-history. Browse the roofing coverage by city →

Can I get notified automatically when new roofing permits appear?

Yes. Use GET /v1/permits/events to poll for new and changed roofing permits since your last sync, or register a webhook via POST /v1/webhooks to receive a callback when fresh permits match your criteria. Both let you build a hands-off daily lead pipeline. See the alerts overview →

Is there a free way to try the roofing permit API?

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 →

Start finding roofing leads today

51M+ permits · 2.2M+ roofing · ~522 jurisdictions · updated daily · free tier

Get Free API Key Browse Roofing Permits