US building-permit data

Fresh building permits, as data you can actually use.

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

Start free — no card, instant key

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 →

The problem

Permit data is a mess to get, and worse to keep.

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.

🧩

3,000+ portals, 3,000+ schemas

Every jurisdiction names fields differently, uses different statuses, different date formats. There is no standard.

🛡️

Portals fight back

Session-gated ASP.NET and Accela sites, rate limits, and layouts that change without notice break scrapers constantly.

Stale the moment you ship

A one-time export is out of date in days. Keeping it fresh means running and babysitting scrapers forever.

Build it yourself

  • Write and maintain a scraper per city
  • Chase portal changes, WAFs, and CAPTCHAs
  • Normalize a dozen schemas into one
  • Run daily jobs, alerting, backfills
  • Weeks of work before the first useful row

Use the Permits API

  • One endpoint, one JSON schema
  • Portals handled for you, refreshed daily
  • Filter by city, permit type, date
  • Live coverage & freshness you can verify
  • First real records in about five minutes
Who it's for

Teams that live on permit data — without a scraping team.

☀️

Solar & roofing lead-gen

Spot fresh roofing, solar and re-roof activity by city and turn it into pipeline.

🏙️

Proptech & real-estate data

Enrich properties with permit history and new-construction signal, nationwide, one schema.

🔧

Construction-tech & CRMs

Feed contractor tools and CRMs with normalized permit records instead of PDFs.

🛰️

Market & competitive intel

Track where building is happening, by type and valuation, as it happens.

🏛️

Insurance & inspection

Catch permitted work tied to risk and property changes, fresh, not quarters late.

🤖

AI agents & data products

A stable JSON contract an agent can query directly — no brittle scraping in the loop.

How it works

From zero to data in three steps.

Get a free key

Enter your email, get an instant API key. No card, no sales call. Free tier is 250 records/month.

Call one endpoint

Query /permits and filter by jurisdiction, type, since. Keyset pagination for bulk.

Get fresh JSON

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.

Coverage & freshness

Proof you can check, live, right now.

"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.

26US metros live
244,406permit records
2026-09-19latest issued

Browse coverage by city →  ·  Raw coverage JSON →  ·  Don't see your county? Vote for it and we prioritize by demand.

Why Vardhol

Fresher, deeper, and priced to actually adopt.

Fresh daily, not quarterly

A daily refresh with a public freshness SLA per jurisdiction — sold on the coverage page, not buried.

🔓

Portals open data misses

We reach session-gated and non-open-data portals, not just the easy Socrata feeds everyone has.

📬

New-permit webhooks

Get pushed the moment a matching permit appears (Growth and up) — no polling.

🛑

Hard quota stops

Metered by records with a hard stop at your tier. No overage, no surprise five-figure bill.

💵

4–12× cheaper

Comparable depth to enterprise permit APIs at a fraction of a $599/mo starting price.

🧱

One stable schema

Same normalized fields across every city, so your code doesn't care which portal it came from.

Pricing

Start free. Upgrade only when you need more.

Metered by records per month with a hard quota stop — you choose when to move up a tier. No overage billing, ever.

Free
$0
250 records / month
  • Instant key, no card
  • Full API + all cities
  • Coverage & freshness
Start free
Starter
$49/mo
10,000 records / month
  • Everything in Free
  • Hard quota stop
  • Email support
Subscribe →
Most popular
Growth
$149/mo
50,000 records / month
  • Everything in Starter
  • New-permit webhooks
  • Priority coverage requests
Subscribe →
Scale
$399/mo
250,000 records / month
  • Everything in Growth
  • Highest throughput
  • Bulk / historical options
Subscribe →

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.)

Integrations

Buy it the way that fits your stack.

🟣

Direct — Polar checkout

Sign up here, one-click upgrade. Polar is the merchant of record: global cards, tax and invoicing handled. Get a key →

🛒

RapidAPI marketplace

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 →

📄

OpenAPI & docs

A clean OpenAPI spec and interactive reference — import it into your client or an agent. Open reference → · Docs →