nyc, la, houston).
Coverage today
PermitCore serves 93 live jurisdictions today — the top US cities and counties by permit volume, grouping into roughly 60 metropolitan areas (CBSA) — with expansion following a defined coverage roadmap. These are two numbers on two different axes — label them, don’t conflate them:- 93 live jurisdictions — the sources we actively serve and keep current. This
is a curated figure, not a raw catalog count: it’s the set admitted to
production minus feeds that have gone fully stale, so it reflects what actually
returns fresh data rather than every source ever onboarded. A
jurisdiction(a city/county slug likenyc) is the primaryjurisdiction=filter unit. - ~60 metropolitan areas — the distinct CBSA metro areas those jurisdictions
roll up into (the axis the
metro_cbsafilter uses). Several jurisdictions can share one CBSA, so ~60 metro areas span the 93 jurisdictions — the coarser, coverage-breadth view.
The authoritative, always-current metro/jurisdiction list is the live
coverage map at permitcore.io/coverage.
Programmatically, any slug that returns
200 (rather than 404) from the
cohort-distribution endpoint is a jurisdiction PermitCore has data for.
Geographic filters
The permit endpoints accept three distinct geographic filters — they are different axes, not three spellings of one thing:
Use
jurisdiction=<slug> for city/metro filtering — it is the one supported on
every permit endpoint. state and metro_cbsa are the broader alternatives on
the /target and rollup surfaces.
Status meanings
MAPPED
The metro’s full permit feed is ingested nightly, classified to the canonical segment taxonomy, DQ-flagged at the field level, and parcel-joined to PLUTO or the local equivalent where available. API requests against a MAPPED metro return real production data.SOURCE
Bronze ingest is active — raw permits are flowing into PermitCore — but cohort classification, DQ flagging, and parcel join are queued for production promotion. API requests against a SOURCE metro return sample rows, NOT the full feed. No metros are in this state today; the bucket is preserved for future bronze-ingest metros on their way to MAPPED.DEPLOY-PENDING
The ingest pipeline code is merged but not yet running in production for this metro. API requests return no data; the cohort distribution endpoint returns404 for these slugs. ETA: coming soon — pipeline pings per-metro
on ship.
Slug list
Browse the metro pages on the live coverage map: permitcore.io/coverage. A complete machine-readable list is available in the cohort-distribution endpoint’s behavior: any slug that returns200 (vs 404) is a jurisdiction
PermitCore has data for.
Related
- Cohorts — the canonical segment taxonomy that classifies every permit
- Data freshness — nightly refresh cadence +
as_of_utcinterpretation - Data licensing — commercial-use terms + attribution