Building Permit Data API
Scored, de-duplicated building permits from 19 US markets — San Francisco, Los Angeles, Chicago, Seattle, Austin, New York City, Philadelphia, Miami-Dade, Nashville, Detroit, Las Vegas, Mesa, Marin County, Northern Kentucky, Cincinnati, New Orleans, Montgomery County MD, Louisville, and Orlando — refreshed daily from each jurisdiction's public records. Every record carries the address, work description, estimated value, status, filed and issued dates, a 0–100 lead score, and, where the city publishes it, the contractor and owner named on the permit.
Get API accessIncluded with your $20/month subscription. Cancel anytime. Your key is a bearer token.
Endpoints
GET https://pingpermit.com/api/leads
?city=<slug> (see /api/leads/coverage for every live slug)
&tier=hot|warm|cool
&trade=<slug> (roofing, demolition, hvac … see "trades" on each record)
&search=<text>
&minValue=<usd>&maxValue=<usd>
&limit=100&offset=0
Authorization: Bearer <your-key>
GET https://pingpermit.com/api/leads/:id
Authorization: Bearer <your-key>
GET https://pingpermit.com/api/leads/demo-stats?city=chicago (public, aggregate only)
GET https://pingpermit.com/api/leads/coverage (public, per-city status)Example
curl -H "Authorization: Bearer $PINGPERMIT_KEY" \
"https://pingpermit.com/api/leads?city=austin&tier=hot&limit=25"Record shape
{
"id": "…", "city": "Austin", "citySlug": "austin", "permitNumber": "…",
"address": "…", "neighborhood": "…", "description": "…", "permitType": "…",
"status": "issued", "filedDate": "2026-09-08", "issuedDate": "2026-09-09",
"estimatedCost": 125000, "leadScore": 84, "tier": "hot",
"reasons": ["Remodel or renovation — tear-out and rebuild", "…"],
"trades": ["roofing", "framing"],
"contacts": [
{ "role": "General Contractor · Lic. 1012345", "name": "…",
"phone": "(512) …", "location": "Austin, TX" }
]
}Coverage & freshness
- San Francisco, CA — DBI permits with contractor, owner, and architect contacts, nightly
- Los Angeles, CA — LADBS issued permits with scope and valuation, nightly
- Chicago, IL — Dept. of Buildings permits with up to 15 named contacts, nightly
- Seattle, WA — SDCI permits, with the contractor company where the city recorded one, nightly
- Austin, TX — Issued permits with contractor company, trade, and phone, nightly
- New York City, NY — DOB NOW approved permits with the permittee business and license, nightly
- Philadelphia, PA — Licenses & Inspections permits with the contractor named on each, nightly
- Miami-Dade, FL — County permits with contractor name, license, and phone, nightly
- Nashville, TN — Metro building permits with construction cost and permit contact, nightly
- Detroit, MI — BSEED building permits with estimated contractor cost and neighborhood, nightly
- Las Vegas, NV — City permits with declared valuation and the applicant contractor, nightly
- Mesa, AZ — City permits with description of work, valuation, and contractor, nightly
- Marin County, CA — County permits with construction value and licensed contractor, nightly
- Northern Kentucky, KY — Kenton County permits plus every Cincinnati filing across the river — one Greater Cincinnati feed, nightly
- Cincinnati, OH — City permits with the neighborhood and the company that pulled them, plus Northern Kentucky, nightly
- New Orleans, LA — City permits with work description, status and project cost, nightly
- Montgomery County, MD — Residential and commercial permits with the scope the applicant wrote, nightly
- Louisville, KY — Metro construction permits with the address, permit type and project cost on nearly every filing, nightly
- Orlando, FL — City permits naming the contractor on 96% of filings, with a phone on more than half, nightly
Rolling 45-day window per city, 500 most recent permits per fetch, JSON only. Rate limits are generous for single-tenant use.
What each city publishes — free, no key
Permit records are not standardised: two cities can both publish “building permits” and disagree about whether anyone is named on them, whether the job carries a price, or whether a finished permit can be told from an open one. We measure that per market over current filings and publish it — the coverage table, and the same table as JSON, free to use with attribution (CC BY 4.0).
Building on top of an assistant rather than the API? /llms.txt is the same set of entry points in the llmstxt.org format — every market, every per-property index and every trade hub, generated from the filings in hand rather than hand-kept.