Schema Reference

Unified schema

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).

How they connect

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.

Permit → Property
Each permit is filed against one property — the location of the work. One property accumulates many permits over time.
permits.bm_property_id
Permit ↔ Contacts
Many-to-many, by role (applicant, owner, contractor, engineer…). A permit has several contacts; a contact recurs across many permits.
by role
Permit → Inspections
Many inspections per permit across its lifecycle.
inspections.bm_permit_id
Permit → Fees
Many fees per permit, by type and amount.
fees.bm_permit_id

Permits

unified.permits

The 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.

FieldTypeDescriptionPlan
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+

Properties

unified.properties

The physical location a permit is filed against — a normalized address plus geocoded coordinates. One property accumulates many permits over time.

FieldTypeDescriptionPlan
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+

Contacts

unified.contacts

The 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.

FieldTypeDescriptionPlan
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+

Inspections

unified.inspections

The inspection events in a permit's lifecycle (framing, electrical, final…) — type, outcome, and scheduled vs. actual dates. A permit usually has several.

FieldTypeDescriptionPlan
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+

Fees

unified.fees

The fees charged against a permit, by type and amount. A permit can carry multiple fees.

FieldTypeDescriptionPlan
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+