Jurisdiction guide

Washington DC building permits.

Permitline republishes public open-data records from the DC Department of Buildings, ingested nightly at 07:00 UTC from the District's ArcGIS Open Data DC feed. DC publishes issued permits only — no application date and no project valuation. This page documents what we ingest, how the timestamps are defined, and the limits of our current coverage.

What we ingest

The Building Permits dataset on Open Data DC.

Each nightly run pulls the whole "Building Permits - Last 30 Days" layer from the DCRA feed service on the District government's ArcGIS open-data infrastructure. The layer is the source of record; we map selected fields onto Permitline's Permit model.

The upstream catalog is opendata.dc.gov.

Field mapping
Upstream (ArcGIS)Permitline field
PERMIT_IDsourceId / id (prefixed "DC-" on store)
PERMIT_SUBTYPE_NAME (fallback PERMIT_TYPE_NAME, then PERMIT_CATEGORY_NAME)workType
ISSUE_DATEfiledAt (with dateBasis "issued")
APPLICATION_STATUS_NAMEstatus (verbatim; "UNKNOWN" fallback when blank)
FULL_ADDRESSaddress
WARDjurisdiction ("DC — Ward N", or "Washington DC" when blank)
DESC_OF_WORKscopeText (contact details scrubbed; present on some records only)
(nothing — DC publishes no valuation)valueCents (always null for DC; FEES_PAID is a permit fee, not a project value, and is deliberately not stored here)
(cron's fetchedAt)dataAsOf

Data-as-of semantics

dataAsOf is our ingest timestamp.

Every Permit row carries a dataAsOf timestamp. This is the moment our ingest job parsed the row from the upstream ArcGIS response — not the ArcGIS ISSUE_DATE (that becomes filedAt), and not any upstream last-updated metadata.

The dataAsOf stamp is rendered per record on /permits and on the detail page for each permit.

  • filedAt — for DC this is when the permit was ISSUED (ArcGIS ISSUE_DATE). DC publishes no application date anywhere in its open data, so DC records carry dateBasis: "issued".
  • dataAsOf — when Permitline ingested the row during its nightly run. Set at parse time, never updated.
  • Re-ingestion of the same sourceId is idempotent: we update the existing row and refresh dataAsOf.

Listing window

Ingest and listing are two different windows.

The nightly cron (07:00 UTC) pulls the entire DCRA "Building Permits - Last 30 Days" layer and upserts it. The public listing on /permits defaults to the last 30 days, with a 7 / 30 / 90-day switcher.

Ingest window

Whole-layer pull, one cron run per night. The layer is already scoped to 30 days, so there is no date arithmetic and no timezone handling. Paged at the layer's 2,000-record cap; upserts are idempotent.

Public listing

Last 30 days by default. Switch to 7 or 90 days from the listing header. The filter is applied server-side in the /api/permits handler.

What is NOT covered

DC is live, Montgomery is live, others are next.

We publish Washington DC and Montgomery County building permits nightly. Prince George's County, Fairfax, and Arlington remain on the Phase 2 roadmap and are not yet ingested or listed.

  • Live coverage: Washington DC (DC Department of Buildings, 07:00 UTC) and Montgomery County (Department of Permitting Services, 06:00 UTC). Records land on /permits after the run that picks them up.
  • Not published by DC: any application date, and any project valuation. Scope-of- work text is present on some DC records and absent on many others. Montgomery County publishes all three; DC does not, and Permitline does not fill the gaps in.
  • Not yet covered: Prince George's County, Fairfax, and Arlington. They remain on the Phase 2 roadmap.
  • We republish the upstream ArcGIS Building Permits layer as-is. Any permit types the upstream feeds omit are not republished here.
  • Records are not authoritative. Always verify with the issuing jurisdiction before acting on a record — see the disclaimer below.

Disclaimer

Permitline republishes public open-data records from the issuing jurisdictions. Records are provided "as-of" the date stamped on each entry and are not authoritative. Always verify scope, valuation where the jurisdiction publishes one (DC publishes none), contractor information, and status with the issuing jurisdiction (DC Department of Buildings or Montgomery County Department of Permitting Services, depending on the record) before bidding, quoting, or performing work. Permitline never contacts permit applicants; all marketing flows go only to opted-in subscribers, with unsubscribe and physical address per CAN-SPAM.