Perch import

Access key required.

Perch Import · canonical schema

Utah Contractor Data Model

Every record that will land in Perch, and how it's shaped. One deduped company per firm, enriched with per-source facts, its provenance, aliases, and people — tagged by quality tier so the registry tail imports flagged, not hidden.
4 sources → dedup/resolve → company · 10,316 source rows → 8,768 companies · stable uuid5 ids
‹ screener
8,768
canonical companies (UT)
4,745
tier: verified
4,023
tier: license-only
10,316
source rows merged
2,115
with Procore job count
162
contacts (people)
877
with name aliases
company 8,768 rows the golden record · 1 per firm
Identity
iduuid
stable uuid5 — survives re-resolve; becomes the Perch id
name*text
100%
dbatext
"doing business as"
typeenum
35%
tierenum·new
verified license-only
confidencenum(4,3)
0–1 merge confidence (1.0 domain · 0.9 phone · 0.8 name)
Contact
phonetext
95%
emailtext
47%
websitetext
41%
domaintext
40%
linkedin_urltext
from the firm's own site
Location
address_line1text
99%
city / state / postaltext
Cedar City · UT · 84721
Firmographics
tradestext[]
40%
sectorstext[]
Commercial · Healthcare · Institutional
industrytext
CSI-division lean
employee_count_range · founded_yeartext·int
"8" · —
specialtiesjsonb
free-form tags
Provenance
source_count*int
how many source rows merged in (1–7)
first_seen_at · last_seen_attimestamptz
earliest / latest across sources
tierdecision · Jeremy + Brock 7/13
verified
Has a Procore listing or AGC membership — a real commercial / bid-platform footprint.
4,745
license-only
DOPL registry only — licensed, but no Procore/AGC footprint. The low-quality tail. Imported, flagged.
4,023
Import all, tag the tail. Nothing is dropped — Perch can work the verified ~4,745 day-to-day and keep license-only for market coverage / TAM, filterable out of any prospecting view.
reputation_datajsonb · 66% populated facts keyed by source
dopl_ut state license4,500 licensed
license10389401-5501 qualifierClassE100 — General Engineering qualifierRobert Dockstader Allred expiration11/30/2027 domainSourceemail_inferred
procore bid platform2,115 with job count
freemiumTotalProjects16 ← job volume (ranking) freemiumTotalActiveProjects11 freemiumNumOfEmployees8 freemiumAvgProjectSize$7.6M coverageAreasSalt Lake · Washington · Iron · Carbon perchFit · priorityTierlegacy sheet · 96 firms
agc_gz association619 members
agcMemberId282945 agcChapter · memberSinceUtah · 16 firms agcCategory / agcMemberTypeGeneral · Specialty · Supplier
tier_a_research hand-vetted97 firms
tierAmanually researched priority accounts
tech_signalsjsonb · 40 firms detected bid-stack
vendorsBuildingConnected · Procore · SmartBid — run on their own site prequal · bidboardbool — public sub-prequal / bid board
GC-side signal: subs receive invites, GCs run the platform — so it's sparse and surfaces the general contractors. Proof of a fit-to-pay buyer.
sources[]10,316 rows company 1 : N source
The per-source rows that merged into each company — full provenance, never collapsed away.
source procoredopl_ut agc_gztier_a
entity_id · nametext
phone · domain · city · statetext
last_seen_attimestamptz
contacts[]162 people company 1 : N contact
name · titletext
roleenum
phone · email · sourcetext
role ∈ estimator · precon · pm · owner · c_suite  —  "ask-for" priority
aliases[]877 firms company 1 : N alias
Name variants collapsed during dedup — "PRT Builders LLC" ⇆ "PRT Builders, LLC". Kept so a search hits any spelling.
→ Perch import mapping
companycompanies (row-for-row) reputation_datacompanies.reputationData jsonb tiercompanies.tier / tag contacts[]contacts (role-mapped) tech_signalsreputationData.techSignals id (uuid5)companies.id — the durable key
Ships as JSONL — one company / one contact per line, so the importer can stream, resume, and reject a bad line without poisoning the batch.
  • Stable uuid5 ids → re-imports upsert, never duplicate.
  • Poison domains (ISP / directory) already stripped — Perch's domain auto-merge must honor the same block-list, or it re-fuses split families.
  • Calls import only to the relationship edge, never overwriting canonical facts.
Perch · Utah canonical export · schema v1 8,768 companies · 4 sources · deduped 7/13/2026