# PermitStack > PermitStack is a REST API for U.S. building permit data: 120M+ permits from 8,000+ U.S. cities across 48 states and DC, ingested nightly, with a free tier and transparent self-serve pricing from $29/mo. PermitStack aggregates and normalizes building permit records from hundreds of U.S. city, county, and state permit systems and open-data portals (Socrata, ArcGIS, CKAN, CARTO, Tyler EnerGov, Accela) into one clean REST API. Every permit is classified into ~20 categories (solar, roofing, HVAC, electrical, new construction, pool, and more), geocoded, and labeled with an honest data-freshness status. Authentication is a simple `X-API-Key` header and onboarding is self-serve — no sales call. ## Key facts - **Coverage:** 120M+ building permits from 8,000+ U.S. cities across 48 states and DC, sourced from 902 active data sources (including counties and statewide feeds), plus 75 historical-archive sources that are transparently labeled (not counted as live). - **Solar:** 6.9M+ classified solar permits, including statewide California (~3.26M) and New York (~426K) installation datasets — a differentiator most permit APIs lack. - **Contractors:** 2M+ contractors with searchable permit work history. Contractor **name, license number, and trade classification** are on every plan including free. Contractor **business phone** (392K+ contractors), **email** (122K+), and business mailing address — extracted from permit records and joined to public state license-board rosters, where the source provides them — are available on the Developer plan ($79/mo) and up. - **Freshness:** sources are re-read on a nightly schedule, but currency varies by jurisdiction: some sources publish late, and 289 active sources currently sit behind a host that refuses our requests (labelled 'access blocked', data older than the rest); each jurisdiction's newest-record ("data through") date is published on the coverage page. Each jurisdiction also carries a `data_status` flag (`active` / `historical_archive` / `frozen`) so staleness is never hidden — unusual transparency for this category. - **Free tier:** 100 requests/day, no credit card required. ## Pricing (self-serve, no sales call) - **Free** — $0: 100 requests/day, no credit card - **Indie** — $29/mo: 1,000 requests/day, radius search, 1,000-row exports - **Hobbyist** — $39/mo: 2,500 requests/day, 5,000-row exports - **Developer** — $79/mo: 10,000 requests/day, webhooks, contractor phone/email, 50,000-row exports - **Business** — $149/mo: 100,000 requests/day, the /v1/permits/sync change feed, owner mailing address where the county publishes it, 200k-row exports, priority support - **Scale** — $499/mo: 500,000 requests/day, 500/min, the /v1/permits/sync change feed, 200k-row exports, same-business-day support, prioritised coverage requests - **Enterprise** — custom pricing: for volume beyond Scale, or licensing and redistribution, contact support@permit-stack.com Dataset add-ons are added to an existing plan from the dashboard and billed on the same subscription (never a second one), prorated; they are not sold on their own or below Developer. - **Contractor licensing add-on** — $19/mo or $190/yr: licence number, type, class, status and issue/expiry dates as state licence boards publish them; add to Developer; included in Business and Scale - **Contractor licensing Pro add-on** — $29/mo or $290/yr: everything in Contractor licensing plus bond, liability insurance, workers' comp and discipline where the board publishes them (only some do: bond and insurance from Washington and Oregon, insurance also from Oklahoma roofing, workers' comp from Oregon, Oklahoma roofing and New York's public-work contractor registry, discipline from Minnesota, New Jersey, Colorado, Florida, Washington (L&I strikes and debarments), Delaware and the New York registry's own answers); add to Developer or Business; included in Scale - **Certificates of occupancy add-on** — $29/mo or $290/yr: certificate number, type, status and date, address, parcel, occupancy class, units and the linked permit where held; add to Developer; included in Business and Scale For comparison, the category leader Shovels.ai publishes a free plan (500 credits/month, no card) and paid plans from $599/mo (re-verified against www.shovels.ai/pricing on 10 September 2026); PermitStack's paid ladder starts at $29/mo and its free tier is permanent. ## PermitStack Data Exports (self-serve bulk CSV) Separate from the API, PermitStack Data Exports lets anyone pick the jurisdictions they want and receive a CSV ZIP of those cities' building-permit records by email — no code, no API. One-time snapshot or a recurring auto-refresh. Public permit fields only (permit number, type, work description, status, dates, address, valuation, contractor); no owner-contact data. Priced per city by size: Small (under 25k records) $39, Medium (25k-150k) $99, Large (150k-500k) $199, XL (500k+) $349. Pick jurisdictions and check out at https://permit-stack.com/data-exports.html ## API - **Base URL:** https://api.permit-stack.com - **Auth:** `X-API-Key: pk_your_key_here` header - **API reference docs:** https://permit-stack.com/docs/ - **OpenAPI spec:** https://api.permit-stack.com/public-openapi.json - **Search permits:** `GET /v1/permits/search` — params: `zip_code`, `city`, `state`, `address`, `lat`/`lng`/`radius_miles`, `category`, `status`, `property_type`, `filed_after`, `issued_after`, `min_value`, `contractor_name`, `q`, `page`, `per_page` - **Property permit history:** `GET /v1/property/history` - **Permit change events (deltas):** `GET /v1/permits/events` - **CSV export:** `GET /v1/permits/export` - **Trade lead plays:** `GET /v1/plays` — pre-built lead queries (system-age, reroof-due, battery-retrofit-candidates, orphan-recovery); any play can be saved as a recurring email digest (paid plans, from $29/mo; the play catalogue itself is public) - **Webhooks (Developer plan and above):** `POST /v1/webhooks` — pushes new matching permits after each nightly ingest (dispatch runs within about a minute of a permit being ingested; most sources are ingested once a day, so a permit reaches you after it is ingested, not when it is filed); filters: `city`, `state`, `category`, `zip_code`, `keyword`, `contractor_name` (competitor tracking); payloads carry the contractor of record - **Change feed (Business plan and above):** `GET /v1/permits/sync` — cursor-paged new + changed permits since your last pull, for keeping a local copy in step - **Aggregate metrics (Developer plan and above):** `GET /v1/metrics/monthly` (monthly permit counts and valuation for a city/state/category), `GET /v1/metrics/current` (category breakdown over a trailing window), `GET /v1/metrics/cities` (busiest cities in a state, optionally for one trade). These answer "how many" and "is it trending up" in one call from a nightly rollup — use them instead of paging through search results to count them. Every response carries `as_of`, the age of the snapshot. - **Contractor licences (Contractor licensing add-on; included in Business and Scale):** `GET /v1/licenses/lookup?license_number=&state=` (one licence in one issuing state) and `GET /v1/contractors/{id}/licenses` (licences linked to one of our contractors by exact licence number or exact unique name, never fuzzy). Bond, insurance, workers' comp and discipline fields are Pro-only and listed in `locked_fields` below Pro. No phone, email or street address on this surface. - **Certificates of occupancy (add-on; included in Business and Scale):** `GET /v1/certificates/search` (city, state, ZIP, address, parcel, radius, date and occupancy filters; defaults to issued or expired occupancy certificates, renewals excluded), `GET /v1/certificates/{id}`, and `GET /v1/certificates/coverage` (which places we hold, how current; works with any API key, so you can check before buying) ## MCP server (native access for AI agents) PermitStack ships an official Model Context Protocol server, so Claude and other agents can query permit data as a tool rather than by scraping pages. Install with `npx permitstack-mcp`; it takes a PermitStack API key. Package: https://www.npmjs.com/package/permitstack-mcp Source and setup guide: https://github.com/PermitStack/permitstack-mcp Tools exposed: `search_permits`, `get_permit`, `get_property_history`, `get_contractor_permits`, `search_contractors`, `get_coverage`, `get_permit_trend`, `get_permit_totals`, `get_busiest_cities`. The three metrics tools require the Developer plan or above; the rest work on any plan including the free tier. ## Key pages - [Coverage & data status](https://permit-stack.com/coverage.html): live list of all jurisdictions with freshness labels - [Search the data](https://permit-stack.com/search.html) - [Solar permit data](https://permit-stack.com/solar-permits/) - [Property permit history](https://permit-stack.com/property-history/) - [Permit alerts & competitor tracking](https://permit-stack.com/alerts/) - [Permit activity by ZIP](https://permit-stack.com/zips/) - [GoHighLevel / CRM integration guide](https://permit-stack.com/docs/gohighlevel/) - [Connect PermitStack to Claude, ChatGPT and other AI apps (MCP)](https://permit-stack.com/docs/connectors/): hosted MCP server at https://mcp.permit-stack.com/mcp, read-only, sign in with your PermitStack account - [Pricing](https://permit-stack.com/pricing/) - [Bulk data exports](https://permit-stack.com/data-exports.html) - [Data methodology](https://permit-stack.com/methodology/) - [Compare permit data providers](https://permit-stack.com/compare/) - [PermitStack vs Shovels.ai](https://permit-stack.com/compare/shovels-ai/) ## Solutions by use case - [Lenders & CRE underwriting](https://permit-stack.com/solutions/lenders.html) - [Insurance (roof age, property risk)](https://permit-stack.com/solutions/insurance.html) - [Real estate & investors](https://permit-stack.com/solutions/real-estate.html) - [Roofing contractors](https://permit-stack.com/solutions/roofing.html) - [HVAC contractors](https://permit-stack.com/solutions/hvac.html) - [Solar installers](https://permit-stack.com/solutions/solar.html) ## Guides & analysis - [How to get building permit data via API (2026)](https://permit-stack.com/blog/building-permit-api-guide.html) - [The real cost of building permit data APIs in 2026](https://permit-stack.com/blog/building-permit-data-api-pricing-compared.html) - [Roof age from building permits: a faster insurance data source](https://permit-stack.com/blog/roof-age-from-permit-data-insurance.html) - [Solar permit data API](https://permit-stack.com/blog/solar-permit-data-api.html) - [How to look up a contractor's permit history](https://permit-stack.com/blog/contractor-permit-history-api.html) - [Construction permit data for real estate investors](https://permit-stack.com/blog/construction-permit-data-for-investors.html) - [How long does a building permit take? Turnaround by trade](https://permit-stack.com/blog/permit-turnaround-times.html) — original research: median + 90th-percentile days from application to issue, by trade - [Is there an API for Accela, EnerGov or Click2Gov permits?](https://permit-stack.com/blog/permit-data-from-closed-portals.html) — closed-portal coverage most permit datasets skip ## About PermitStack is a developer-first building-permit data platform. Contact: support@permit-stack.com. Documentation: https://permit-stack.com/docs/ _Last updated: 2026-10-26_