[object Object]

← back to Commercialrealestate

doctrine refined: CREXi/Redfin = discover broker+firm ONLY; all listing DATA from the firm's own site (Steve 2026-07-31)

4de252a5ab2f461a47d3817d25c109ee902584ba · 2026-07-31 08:20:49 -0700 · steve

Files touched

Diff

commit 4de252a5ab2f461a47d3817d25c109ee902584ba
Author: steve <steve@designerwallcoverings.com>
Date:   Fri Jul 31 08:20:49 2026 -0700

    doctrine refined: CREXi/Redfin = discover broker+firm ONLY; all listing DATA from the firm's own site (Steve 2026-07-31)
---
 docs/SOURCING.md | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/docs/SOURCING.md b/docs/SOURCING.md
index af0b86a..5f6cfe3 100644
--- a/docs/SOURCING.md
+++ b/docs/SOURCING.md
@@ -62,15 +62,20 @@ doctrine classifier → the Brokerage facet. Newly-resolved brokers surface with
   suppressed → honest NULL, never fabricated.
 
 ## Hard lines
-- **An aggregator is NEVER a data SOURCE (Steve, 2026-07-31).** Redfin, Zillow, CoStar, CREXi,
-  LoopNet are portals, not the listing company. Do NOT scrape listing facts (agent, price, status)
-  off their pages/APIs to populate our catalog — "otherwise we are scraping data. no." The only
-  legitimate sources of a listing's truth are: (1) the **listing brokerage's own site/feed**, or
-  (2) a **licensed MLS/IDX/RETS feed** we are entitled to. If we can't source a field legitimately,
-  we leave it blank and honestly label it — we do not scrape a portal to fill it.
-- This kills the residential-broker-from-Redfin plan (page-scrape AND Browserbase) entirely, and
-  means the Redfin-sourced SFR/condo inventory is provisional aggregator data pending a legitimate
-  feed — not something to enrich by scraping Redfin harder.
+- **THE RULE (Steve, 2026-07-31): CREXi / Redfin may be used to DISCOVER the broker + firm ONLY —
+  no more data. Then get ALL listing info from the broker's or firm's own site.** Aggregators
+  (Redfin, Zillow, CoStar, CREXi, LoopNet) are a phone book for *who the listing broker is*, never
+  the record of *what the deal is*. Allowed from an aggregator: broker name + firm (the discovery
+  breadcrumb, + an address only as a locator to find the listing on the firm site). NOT allowed from
+  an aggregator: price, status, cap rate, units, description, specs, images — those come from the
+  **listing brokerage's own site/feed**, or a **licensed MLS/IDX/RETS feed** we're entitled to.
+- Two-layer pipeline: **discovery layer** (CREXi/Redfin → broker+firm) → **truth layer** (firm's own
+  site → the deal's real data). The broker-of-record resolution (Phase 1/2-lite) IS the allowed
+  discovery step; the CREXi deal fields (price/units/status) are aggregator data pending firm-site
+  truth, not canonical.
+- Kills the residential-broker-from-Redfin *data* scrape (page-scrape AND Browserbase); residential
+  SFR/condo detail stays provisional aggregator data until a firm-site or licensed feed supplies it.
+  If we can't source a field legitimately, leave it blank + label honestly — never scrape a portal.
 - Never present an aggregator record as canonical when a broker-of-record is known.
 - Business-contact fields only (CCPA); record `source_url` per enriched field.
 - Firm-direct scraping spend is shown per-run and gated.

← ccaba2e doctrine HARD RULE: an aggregator is never a data source — k  ·  back to Commercialrealestate  ·  research: MLS/listing data licensing — cost + B2B-use verdic a70ff5b →