How local building-permit data differs by city
A field guide to municipal permit platforms, schemas, update schedules, licensing, and coverage gaps.
There is no official nationwide address-level building-permit feed. Cities and counties publish through Socrata, ArcGIS, CKAN, permitting-system exports, downloadable files, or no reusable digital feed at all.
The same concept can have different field names and meanings. One source may publish application, approval, issue, and completion dates. Another has only an issue date. Status vocabularies differ, addresses can be incomplete, and a valuation may refer to the whole job or one trade.
What a reliable adapter records
An adapter needs more than a URL. It declares expected fields and types, cursor strategy, rate limits, terms URL, cadence, and geographic scope. Normalization should retain the source record ID, raw status and description, source timestamps, ingestion time, and a stable internal ID.
What can break
Columns disappear, types change, old rows are corrected, and feeds go stale without returning an error. A source-health job should detect missing fields, volume changes, date gaps, repeated IDs, and failed records. Suspicious rows belong in quarantine, not in an alert.
Coverage should grow only after these operational facts are visible. An empty state is more honest than a thin city page built from an unreliable feed.