Schema Reference
Field definitions for every entity in the Builders Monitor unified dataset. Each record is identified by our own stable bm_permit_id, which stays constant across re-extractions. Fields marked Basic+ are available on paid plans and include contact data (phone, email, license number).
Permits are the hub.Every other entity links back to a permit, so you can start from any permit and fan out to where it is, who's on it, how it's progressing, and what it costs.
permits.bm_property_idby roleinspections.bm_permit_idfees.bm_permit_idunified.permitsThe core record — one row per building permit: the work authorized, its type, status, declared valuation, and key dates. Every other entity links back to a permit.
bm_permit_iduuidGlobally unique Builders Monitor permit identifier. Stable across re-extractions.Free+permit_numbertextPermit number as issued by the jurisdiction.Free+permit_typetextCanonical permit type (Building, Electrical, Plumbing, Mechanical, etc.).Free+permit_subtypetextJurisdiction-specific subtype within the permit type.Free+permit_categorytextCategory grouping (Residential, Commercial, Industrial, etc.).Free+status_canonicaltextNormalized status: issued, applied, approved, expired, closed, voided.Free+descriptiontextPermit description or scope of work as filed.Free+valuationnumericDeclared project valuation in USD, where provided by the jurisdiction.Free+applied_datedateDate the permit application was submitted.Free+issued_datedateDate the permit was issued.Free+unified.propertiesThe physical location a permit is filed against — a normalized address plus geocoded coordinates. One property accumulates many permits over time.
bm_property_iduuidGlobally unique property identifier.Free+addresstextNormalized street address.Free+citytextCity name.Free+statechar(2)2-letter US state code.Free+ziptext5-digit ZIP code.Free+latitudenumeric(9,6)WGS84 latitude. Populated by the geocode pipeline.Free+longitudenumeric(9,6)WGS84 longitude. Populated by the geocode pipeline.Free+parcel_idtextAssessor Parcel Number (APN) as provided by the permit source.Basic+unified.contactsThe people and companies on a permit — applicant, owner, contractor, engineer, and more — each tagged with a role. A contact recurs across every permit they touch.
bm_contact_iduuidGlobally unique contact identifier.Basic+roletextContact role on the permit (applicant, owner, contractor, engineer, etc.).Basic+company_nametextBusiness / company name.Basic+full_nametextIndividual full name.Basic+emailtextEmail address, where available from the jurisdiction.Basic+phonetextPhone number, normalized to E.164 format where parseable.Basic+license_numbertextContractor license number as provided.Basic+unified.inspectionsThe inspection events in a permit's lifecycle (framing, electrical, final…) — type, outcome, and scheduled vs. actual dates. A permit usually has several.
bm_inspection_iduuidGlobally unique inspection identifier.Free+bm_permit_iduuidForeign key to unified.permits.Free+inspection_typetextInspection type as named by the jurisdiction (Framing, Electrical Rough, etc.).Free+statustextCanonical status: scheduled, passed, failed, approved, cancelled.Free+scheduled_datedateScheduled inspection date.Free+actual_datedateDate inspection was performed.Free+unified.feesThe fees charged against a permit, by type and amount. A permit can carry multiple fees.
bm_fee_iduuidGlobally unique fee identifier.Free+bm_permit_iduuidForeign key to unified.permits.Free+fee_typetextFee type as named by the jurisdiction.Free+amountnumeric(12,2)Fee amount in USD.Free+