Jurisdiction guide

Montgomery County building permits.

Permitline republishes public open-data records from the Montgomery County Department of Permitting Services, ingested nightly at 06:00 UTC from dataMontgomery. Montgomery publishes permit APPLICATIONS — intake date, status "Open", and a declared valuation. This page documents what we ingest, how the timestamps are defined, and the limits of our current coverage.

data as of

What we ingest

The Building Permits datasets on dataMontgomery.

Each nightly run pulls from two Socrata feeds on the Montgomery County open-data portal: m88u-pqki (Residential Permit) and i26v-w6bd(Commercial Permits). The datasets are the source of record; we map selected fields onto Permitline's Permit model.

The upstream catalog is data.montgomerycountymd.gov.

Field mapping
Upstream (Socrata)Permitline field
permitnosourceId / id (prefixed "MC-" on store; prevents collision with DC permit_number on the unique index)
applicationtype (fallback worktype, then permit_type)workType (e.g. "BUILDING RESIDENTIAL PERMIT", "COMMERCIAL BUILDING")
statusstatus (verbatim; "UNKNOWN" fallback when blank)
stno + stname + suffix + city + state + zipaddress (assembled at parse time)
addeddate (date only — see below)filedAt
declaredvaluation (USD; no fee fallback)valueCents (USD × 100; clamped to INT32_MAX ≈ $21,474,836.47 so the upsert fits Permit.valueCents Int)
(literal at parse)jurisdiction ("Montgomery County")
(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 Socrata response — not the Socrata addeddate (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 — when the application was filed upstream (Socrata addeddate), so Montgomery records carry dateBasis: "filed". DC records carry "issued" instead. Use the date, not the time of day. Montgomery's addeddate does not publish a usable clock time — the time portion of the upstream value is not meaningful, so Permitline treats the calendar date as authoritative and never renders a Montgomery time. Anything requiring hour-level precision should come from the county directly.
  • 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.
  • Latest MC ingest: data as of

Listing window

Ingest and listing are two different windows.

The nightly cron pulls a 3-day rolling window of newly filed applications from the MC Socrata feeds — deliberate overlap, so a missed night self-heals on the next run. The public listing on /permits defaults to the last 30 days, with a 7 / 30 / 90-day switcher.

Ingest window

3-day rolling pull across both MC datasets (m88u-pqki, i26v-w6bd), one cron run per night at 06:00 UTC. Upserts are idempotent, so the overlap re-writes rather than duplicates. Bounded to 5,000 rows per dataset. Pulls addeddate descending.

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

Montgomery County is live alongside Washington DC. Phase 2 remains on the roadmap.

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: Montgomery County (Department of Permitting Services, 06:00 UTC) and Washington DC (DC Department of Buildings, 07:00 UTC). Records land on /permits after the run that picks them up.
  • Not equivalent to DC: Montgomery rows are applications with a declared valuation and rich scope text; DC rows are issued permits with no application date and no valuation at all. Never read one as the other.
  • Not yet covered: Prince George's County, Fairfax, and Arlington. They remain on the Phase 2 roadmap.
  • We republish the upstream Socrata Building Permits datasets 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.