Vardhol · permits-api

Permits API — developer docs

One normalized JSON schema for US building permits. Base URL https://api.vardhol.dev. Authenticate with an X-API-Key header. ← back to overview

Try it now — no signup

A shared, read-only sample key is baked in. First call in under a minute:

curl -H "X-API-Key: pk_sample_readonly_permits" \
  "https://api.vardhol.dev/permits?jurisdiction=us-il-chicago&type=roofing&limit=5"

Your own key (instant, free)

curl -X POST "https://api.vardhol.dev/signup?email=you@company.com"

Returns a pk_… key on the free tier (250 records/month). Send it as the X-API-Key header on every /permits call.

GET /permits

Normalized, metered permit records. Query parameters:

ParamTypeMeaning
jurisdictionstringslug, e.g. us-il-chicago — see coverage
typestringnormalized permit_type: roofing · solar_pv · electrical · new_construction · …
statusstringnormalized status
sincedateissued_date >= YYYY-MM-DD
limitint1–1000 (default 100)
cursorintkeyset pagination — pass the previous response's next_cursor

Response: { "data": [...], "count", "next_cursor", "quota" }. Metered by records returned, with a hard quota stop (HTTP 402) — no overage, no surprise bills.

Endpoints

MethodPathAuthWhat
GET/permitskeynormalized permit records (metered)
GET/coveragepublicjurisdictions + freshness + requested counties
POST/signuppublicinstant free key
POST/request-countypublicvote for a jurisdiction we don't cover yet
GET/openapi-uipublicinteractive OpenAPI (Swagger) reference

Request a jurisdiction

curl -X POST "https://api.vardhol.dev/request-county?county=Maricopa%20AZ&email=you@company.com"

Demand is how we prioritize what to add next.

Using via RapidAPI

The same API is on RapidAPI, which handles keys, metering and billing for you. Subscribe there and call the endpoints with RapidAPI's headers — no X-API-Key needed. Plans map 1:1 to our tiers: Basic 250 · Pro $49 · Ultra $149 · Mega $399.

Interactive API reference →  ·  coverage →  ·  overview →