Every US building permit — roofing, solar, electrical, new construction — in one clean, normalized JSON feed, refreshed daily. Stop scraping thousands of city portals and stitching schemas together. Just call an API.
Fresh daily · normalized JSON · 26 US metros · 244,406 permits and counting
250 records/month on the free tier. Drop in your email and get a key you can use in the next minute.
Then call it:
curl -H "X-API-Key: YOUR_KEY" "https://api.vardhol.dev/permits?jurisdiction=us-il-chicago&type=roofing&limit=5"
· full docs →
Building permits are public — but they live on thousands of separate city and county portals, each with its own format, quirks, and defenses. Turning that into something usable is a project that never ends.
Every jurisdiction names fields differently, uses different statuses, different date formats. There is no standard.
Session-gated ASP.NET and Accela sites, rate limits, and layouts that change without notice break scrapers constantly.
A one-time export is out of date in days. Keeping it fresh means running and babysitting scrapers forever.
Spot fresh roofing, solar and re-roof activity by city and turn it into pipeline.
Enrich properties with permit history and new-construction signal, nationwide, one schema.
Feed contractor tools and CRMs with normalized permit records instead of PDFs.
Track where building is happening, by type and valuation, as it happens.
Catch permitted work tied to risk and property changes, fresh, not quarters late.
A stable JSON contract an agent can query directly — no brittle scraping in the loop.
Enter your email, get an instant API key. No card, no sales call. Free tier is 250 records/month.
Query /permits and filter by
jurisdiction, type, since.
Keyset pagination for bulk.
One normalized schema across every city, refreshed daily. Same fields whether it's Chicago or Nashville.
Prefer to read code first? The developer docs and the interactive OpenAPI reference have every field and filter.
"Does it cover my city and is it fresh?" is the whole question — so we publish it live. These numbers are pulled from the database on page load; a competitor can't fake a last refreshed date.
Browse coverage by city → · Raw coverage JSON → · Don't see your county? Vote for it and we prioritize by demand.
A daily refresh with a public freshness SLA per jurisdiction — sold on the coverage page, not buried.
We reach session-gated and non-open-data portals, not just the easy Socrata feeds everyone has.
Get pushed the moment a matching permit appears (Growth and up) — no polling.
Metered by records with a hard stop at your tier. No overage, no surprise five-figure bill.
Comparable depth to enterprise permit APIs at a fraction of a $599/mo starting price.
Same normalized fields across every city, so your code doesn't care which portal it came from.
Metered by records per month with a hard quota stop — you choose when to move up a tier. No overage billing, ever.
Get a free key ↑ to start. Paid plans are live on RapidAPI — it handles cards, metering and billing, same prices. (Direct on-site checkout is coming.)
Sign up here, one-click upgrade. Polar is the merchant of record: global cards, tax and invoicing handled. Get a key →
Prefer a marketplace that manages keys and billing? Get it on RapidAPI — plans map 1:1 (free Basic tier · Pro $49 · Ultra $149 · Mega $399). View on RapidAPI →
A clean OpenAPI spec and interactive reference — import it into your client or an agent. Open reference → · Docs →