[object Object]

← back to Commercialrealestate

CRCP: unstick crexi->broker-direct substitution + add Encore/Trinity own-site feeds

41624725fa9f4ab2e9acf7304da7e4a34844085d · 2026-08-25 11:31:14 -0700 · Steve Abrams

- Fix mergedRanked guard: 8,796 crexi rows carried _sourced:crexi-active-book and were
  wrongly skipped as broker-direct, so 74% of crexi links could never be substituted.
  Skip only rows already source_of_truth=broker-direct in-pass.
- Firm-agreement guard (exact firmKey) on substitution: prevents city-blind address
  collisions mis-linking a row to the wrong firm (removed ~58 wrong swaps).
- resolve-broker-direct.js: generic per-firm resolver (BuildOut/WP-REST adapters) that
  matches a firm's own-site inventory to THAT firm's crexi rows by address; uses the
  feed's authoritative show_link permalink (not a constructed URL). Adds Encore + Trinity.
Result: 223 firm-verified crexi links now point to the broker's own listing page, 0 mismatches.

Files touched

Diff

commit 41624725fa9f4ab2e9acf7304da7e4a34844085d
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Tue Aug 25 11:31:14 2026 -0700

    CRCP: unstick crexi->broker-direct substitution + add Encore/Trinity own-site feeds
    
    - Fix mergedRanked guard: 8,796 crexi rows carried _sourced:crexi-active-book and were
      wrongly skipped as broker-direct, so 74% of crexi links could never be substituted.
      Skip only rows already source_of_truth=broker-direct in-pass.
    - Firm-agreement guard (exact firmKey) on substitution: prevents city-blind address
      collisions mis-linking a row to the wrong firm (removed ~58 wrong swaps).
    - resolve-broker-direct.js: generic per-firm resolver (BuildOut/WP-REST adapters) that
      matches a firm's own-site inventory to THAT firm's crexi rows by address; uses the
      feed's authoritative show_link permalink (not a constructed URL). Adds Encore + Trinity.
    Result: 223 firm-verified crexi links now point to the broker's own listing page, 0 mismatches.
---
 data/encore-listings.json        |   1 +
 data/trinity-listings.json       |   1 +
 scripts/resolve-broker-direct.js | 133 +++++++++++++++++++++++++++++++++++++++
 scripts/serve.js                 |  22 ++++++-
 4 files changed, 156 insertions(+), 1 deletion(-)

diff --git a/data/encore-listings.json b/data/encore-listings.json
new file mode 100644
index 0000000..59d2e6a
--- /dev/null
+++ b/data/encore-listings.json
@@ -0,0 +1 @@
+{"firm":"Encore Real Estate Investment Services","source":"https://encoreinvestmentrealestate.com","scraped_at":"2026-08-25T18:28:41.182Z","inventory_seen":100,"crexi_rows":116,"matched":52,"count":52,"listings":[{"id":"bd-encore-17410ecorserd","address":"17410 ECORSE RD","city":"Allen Park","zip":"48101","type":"Retail","price":491472,"units":1,"cap_rate":6.25,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1620295-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1040ntowerlinerd","address":"1040 N Towerline Rd","city":"Saginaw","zip":"49601","type":"Multifamily","price":1077720,"units":1,"cap_rate":10,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1619560-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-405smichiganave","address":"405 S Michigan Ave","city":"Saginaw","zip":"48602","type":"Retail","price":1000000,"units":1,"cap_rate":7.8,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1616302-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-3475apalacheepkwy","address":"3475 APALACHEE PKWY","city":"Tallahassee","zip":"32311","type":"Retail","price":2996766,"units":1,"cap_rate":5.35,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Aliyah Rouls","broker_agents":["Aliyah Rouls"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1486877-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-13390yorkrd","address":"13390 York Road","city":"North Royalton","zip":"44133","type":"Retail","price":1158000,"units":1,"cap_rate":7.85,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Leonard Minuto","broker_agents":["Leonard Minuto"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1449970-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-11297floridablvd","address":"11297 Florida Blvd","city":"Baton Rouge","zip":"70815","type":"Retail","price":2199990,"units":1,"cap_rate":10,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1331002-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-3700willistonrd","address":"3700 Williston Rd","city":"Northwood","zip":"43619","type":"Retail","price":2658000,"units":1,"cap_rate":6.75,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Dante Hargis","broker_agents":["Dante Hargis"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1151245-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-440edixiedr","address":"440 E Dixie Dr","city":"Asheboro","zip":"27203","type":"Retail","price":2890000,"units":1,"cap_rate":5,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Dante Hargis","broker_agents":["Dante Hargis"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1044978-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1880slimestonest","address":"1880 S Limestone St","city":"Springfield","zip":"45505","type":"Retail","price":2341000,"units":1,"cap_rate":10.5,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Dante Hargis","broker_agents":["Dante Hargis"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1024576-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-5439roanrd","address":"5439 Roan Road","city":"Sylvania","zip":"43560","type":"Multifamily","price":450000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1662147-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-4765jacksonrd","address":"4765 Jackson Rd","city":"Ann Arbor","zip":"48103","type":"Retail","price":2699000,"units":1,"cap_rate":7.26,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1629829-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1408wmainst","address":"1408 W MAIN ST","city":"Fremont","zip":"49412","type":"Retail","price":2168000,"units":1,"cap_rate":6.35,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1667889-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-7536dunedinst","address":"7536 DUNEDIN ST","city":"Detroit","zip":"48206","type":"Multifamily","price":2163000,"units":1,"cap_rate":7.25,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Eric Reed","broker_agents":["Eric Reed"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1634951-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-2224woodvillerd","address":"2224 Woodville Road","city":"Oregon","zip":"43616","type":"Retail","price":1499392,"units":1,"cap_rate":6.75,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Ryan Vinco","broker_agents":["Ryan Vinco"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1666654-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-5444schultzdr","address":"5444 Schultz Dr","city":"Sylvania","zip":"43560","type":"Multifamily","price":775000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1607709-lease","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1810maplewoodave","address":"1810 Maplewood Ave","city":"Flint","zip":"48506","type":"Retail","price":1025000,"units":1,"cap_rate":8.78,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1610702-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-3989slapeerrd","address":"3989 S Lapeer Rd","city":"Metamora","zip":"48455","type":"Retail","price":1760000,"units":1,"cap_rate":3.75,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1575990-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-9566clarkdr","address":"9566 Clark Dr","city":"Rossford","zip":"43551","type":"Multifamily","price":1850000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1561075-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-8257wcentralave","address":"8257 W Central Ave","city":"Toledo","zip":"43617","type":"Multifamily","price":775000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1561074-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1727andersonrd","address":"1727 Anderson Rd","city":"Petoskey","zip":"49770","type":"Multifamily","price":1750000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Ryan Vinco","broker_agents":["Ryan Vinco"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1545145-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-623cassave","address":"623 Cass Ave","city":"Detroit","zip":"48226","type":"Retail","price":4500000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Kishon Harbert","broker_agents":["Kishon Harbert"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1537558-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-2936wsylvaniaave","address":"2936 W Sylvania Ave","city":"Toledo","zip":"43613","type":"Retail","price":1500000,"units":1,"cap_rate":6.9,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Kaleb Rupp","broker_agents":["Kaleb Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1513040-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-6235limard","address":"6235 Lima Rd","city":"Fort Wayne","zip":"46818","type":"Retail","price":11000000,"units":1,"cap_rate":5.24,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Brandon Abdelnour","broker_agents":["Brandon Abdelnour"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1502543-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-8133southernblvd","address":"8133 Southern Blvd","city":"West Palm Beach","zip":"33411","type":"Retail","price":3972602,"units":1,"cap_rate":3.6,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1451385-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-10075gratiotave","address":"10075 Gratiot Ave","city":"Detroit","zip":"48213","type":"Retail","price":125000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Kishon Harbert","broker_agents":["Kishon Harbert"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1465287-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-4875bayrd","address":"4875 Bay Rd","city":"Saginaw","zip":"48603","type":"Retail","price":1340000,"units":1,"cap_rate":7.16,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Matt Weber","broker_agents":["Matt Weber"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1465970-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-6060mergerdr","address":"6060 Merger Dr","city":"Holland","zip":"43528","type":"Multifamily","price":801000,"units":1,"cap_rate":9,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1348239-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-511sstaterd","address":"511 South State Road","city":"Davison","zip":"48423","type":"Retail","price":1607800,"units":1,"cap_rate":6.25,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1245710-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-5010millerrd","address":"5010 Miller Road","city":"Flint Township","zip":"48507","type":"Retail","price":1219700,"units":1,"cap_rate":6.25,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1245435-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-8210airporthwy","address":"8210 Airport Hwy","city":"Holland","zip":"43528","type":"Multifamily","price":1495000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1074308-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-5405telegraphrd","address":"5405 TELEGRAPH RD","city":"Toledo","zip":"43612","type":"Multifamily","price":1530000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1667731-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-5453roanrd","address":"5453 ROAN RD","city":"Sylvania","zip":"43560","type":"Multifamily","price":510366,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1656906-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-5460schultzdr","address":"5460 SCHULTZ DR","city":"Sylvania","zip":"43560","type":"Multifamily","price":450000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1656907-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-3032save","address":"3032 South Avenue","city":"Toledo","zip":"43609","type":"Multifamily","price":2370357,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1657897-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-111sbyrnerd","address":"111 S BYRNE RD","city":"Toledo","zip":"43615","type":"Multifamily","price":1467734,"units":1,"cap_rate":10,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Kaleb Rupp","broker_agents":["Kaleb Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1643843-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1225tiffinave","address":"1225 TIFFIN AVE","city":"Findlay","zip":"45840","type":"Retail","price":1325000,"units":1,"cap_rate":5.65,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1614798-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1151nottokeest","address":"1151 North Ottokee Street","city":"Wauseon","zip":"43567","type":"Multifamily","price":1495000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Hunter Rupp","broker_agents":["Hunter Rupp"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1249455-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-3170elizabethlakerd","address":"3170 ELIZABETH LAKE RD","city":"Waterford","zip":"48328","type":"Retail","price":875000,"units":1,"cap_rate":null,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1656058-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-5784wushwy10","address":"5784 W Us Highway 10","city":"Ludington","zip":"49431","type":"Retail","price":519500,"units":1,"cap_rate":7,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Brandon Kassab","broker_agents":["Brandon Kassab"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1635887-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-206cypressst","address":"206 Cypress St","city":"Manistee","zip":"49660","type":"Retail","price":513900,"units":1,"cap_rate":7,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Brandon Kassab","broker_agents":["Brandon Kassab"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1635705-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-605lemoynerd","address":"605 Lemoyne Rd","city":"Northwood","zip":"43619","type":"Multifamily","price":1350000,"units":1,"cap_rate":6.49,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Brandon Kassab","broker_agents":["Brandon Kassab"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1503289-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-172nriverave","address":"172 N RIVER AVE","city":"Holland","zip":"49424","type":"Retail","price":1077000,"units":1,"cap_rate":6.5,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Brandon Kassab","broker_agents":["Brandon Kassab"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1609619-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1204us411","address":"1204 U.S. 411","city":"Etowah","zip":"37331","type":"Retail","price":599000,"units":1,"cap_rate":7.01,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Ramzy Kizy","broker_agents":["Ramzy Kizy"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1506919-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-743emainst","address":"743 E Main St","city":"Palmyra","zip":"17078","type":"Retail","price":2272000,"units":1,"cap_rate":5.25,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Brent Hanna","broker_agents":["Brent Hanna"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1650822-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-4625merceruniversitydr","address":"4625 Mercer University Dr","city":"Macon","zip":"31210","type":"Retail","price":1615000,"units":1,"cap_rate":7.75,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Nick Yaldo","broker_agents":["Nick Yaldo"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1544964-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-3295henryst","address":"3295 HENRY ST","city":"Muskegon","zip":"49441","type":"Retail","price":3550000,"units":1,"cap_rate":7.46,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Deno Bistolarides","broker_agents":["Deno Bistolarides"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1480594-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-422swashingtonst","address":"422 S Washington St","city":"New Paris","zip":"45347","type":"Retail","price":309999,"units":1,"cap_rate":7.49,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Nick Yaldo","broker_agents":["Nick Yaldo"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1469654-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-142loudonrd","address":"142 Loudon Rd","city":"Concord","zip":"03301","type":"Retail","price":6000000,"units":1,"cap_rate":8.5,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Nick Yaldo","broker_agents":["Nick Yaldo"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1334050-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-1207ecolumbusst","address":"1207 E Columbus St","city":"Kenton","zip":"43326","type":"Multifamily","price":1375000,"units":1,"cap_rate":6.24,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Nick Yaldo","broker_agents":["Nick Yaldo"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1318507-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-11129goldct","address":"11129 GOLD CT","city":"Painesville","zip":"44077","type":"Retail","price":1759000,"units":1,"cap_rate":8,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Nick Yaldo","broker_agents":["Nick Yaldo"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1230413-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-3520wdivisionst","address":"3520 W Division St","city":"Saint Cloud","zip":"56301","type":"Retail","price":3849999,"units":1,"cap_rate":6.31,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Nick Yaldo","broker_agents":["Nick Yaldo"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1145007-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"},{"id":"bd-encore-10001custerrd","address":"10001 Custer Rd","city":"Plano","zip":"75025","type":"Retail","price":4150000,"units":1,"cap_rate":8.74,"status":"Active","firm":"Encore Real Estate Investment Services","broker_firm":"Encore Real Estate Investment Services","broker_agent":"Gino Kassab","broker_agents":["Gino Kassab"],"source":"https://encoreinvestmentrealestate.com/listings/?propertyId=1106021-sale","source_host":"encoreinvestmentrealestate.com","source_of_truth":"broker-direct","_sourced":"encore","_matchedFrom":"crexi"}]}
\ No newline at end of file
diff --git a/data/trinity-listings.json b/data/trinity-listings.json
new file mode 100644
index 0000000..cf4f6ce
--- /dev/null
+++ b/data/trinity-listings.json
@@ -0,0 +1 @@
+{"firm":"Trinity Real Estate Investment Services","source":"https://trinityreis.com","scraped_at":"2026-08-25T18:28:47.460Z","inventory_seen":155,"crexi_rows":110,"matched":96,"count":96,"listings":[{"id":"bd-trinity-1020sclintonst","address":"1020 S Clinton St","city":"Defiance","zip":"43512","type":"Retail","price":735295,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/1020-s-clinton-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-502whwy2","address":"502 W Hwy 2","city":"Floodwood","zip":"55736","type":"Retail","price":1008000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/502-w-hwy-2/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-729woceanblvd","address":"729 West Ocean Boulevard","city":"Los Fresnos","zip":"78566","type":"Retail","price":969600,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/729-w-ocean-blvd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2160epassrd","address":"2160 E Pass Rd","city":"Gulfport","zip":"39507","type":"Retail","price":2348485,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/2160-e-pass-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-725wspringfieldave","address":"725 W Springfield Ave","city":"Gerald","zip":"63037","type":"Retail","price":1650000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/725-w-springfield-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-786brittainrd","address":"786 Brittain Rd","city":"Akron","zip":"44305","type":"Retail","price":1685715,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/786-brittain-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-7916baywaydr","address":"7916 Bayway Dr","city":"Baytown","zip":"77520","type":"Retail","price":1344130,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/7916-bayway-dr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-6501wardblvd","address":"6501 Ward Boulevard","city":"Wilson","zip":"27893","type":"Retail","price":1109505,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/6501-ward-blvd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-6515westworthblvd","address":"6515 Westworth Boulevard","city":"Westworth Village","zip":"76114","type":"Retail","price":2273335,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/6515-westworth-blvd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdushwy59","address":"TBD US Highway 59","city":"Appleby","zip":null,"type":"Retail","price":2386850,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/tbd-us-highway-59/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-554meadowrd","address":"554 Meadow Rd","city":"Lehigh Acres","zip":"33973","type":"Retail","price":2321220,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/554-meadow-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2977oh132","address":"2977 OH-132","city":"Amelia","zip":null,"type":"Retail","price":1457490,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/2977-oh-132/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2783stateroute22w","address":"2783 State Route 22 W","city":"Wilmington","zip":null,"type":"Retail","price":1414115,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/2783-state-route-22-w/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2851neastmanrd","address":"2851 N Eastman Rd","city":"Longview","zip":"75605","type":"Retail","price":5266665,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/2851-n-eastman-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2404ewallisvillerd","address":"2404 E Wallisville Rd","city":"Highlands","zip":null,"type":"Retail","price":5266670,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/2404-e-wallisville-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-5243wus10","address":"5243 W US 10","city":"Ludington","zip":"49431","type":"Retail","price":933335,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/5243-w-us-10/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2101wpinest","address":"2101 W Pine St","city":"Hattiesburg","zip":null,"type":"Retail","price":1590910,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/2101-w-pine-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-109mayfairrd","address":"109 Mayfair Rd","city":"Hattiesburg","zip":"39402","type":"Retail","price":1590910,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/109-mayfair-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-5118danielsvillest","address":"5118 Danielsville Street","city":"Danielsville","zip":"30633","type":"Retail","price":1716090,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/5118-danielsville-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-409wmcintyrest","address":"409 West McIntyre Street","city":"Mullins","zip":"29574","type":"Retail","price":1363200,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/409-west-mcintyre-street/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-557ehidalgoave","address":"557 E Hidalgo Ave","city":"Raymondville","zip":"78580","type":"Retail","price":701250,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/557-e-hidalgo-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-611wbroadwayst","address":"611 W Broadway St","city":"Big Sandy","zip":"75755","type":"Retail","price":848600,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/611-w-broadway-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdlegionrdsr43","address":"TBD Legion Rd / S. R. 43","city":"Solsberry","zip":null,"type":"Retail","price":1925375,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/tbd-legion-rd-s-r-43/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdwoldrd30","address":"TBD W Old Road 30","city":"Etna Green","zip":null,"type":"Retail","price":2155895,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/tbd-w-old-road-30/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdkellyststatehwy9","address":"TBD Kelly Street / State Highway 9","city":"Rome City","zip":null,"type":"Retail","price":2174995,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/tbd-kelly-street-state-highway-9/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-155saradayrd","address":"155 Sara Day Road","city":"Erwin","zip":"37650","type":"Retail","price":800000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/155-sara-day-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-601nmainave","address":"601 North Main Avenue","city":"Erwin","zip":"37650","type":"Retail","price":700000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/601-n-main-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-35157twentrythreemilerd","address":"35157 Twentry-Three Mile Rd","city":"New Baltimore","zip":null,"type":"Retail","price":787500,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/35157-twentry-three-mile-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-839n1stst","address":"839 N 1st St","city":"Timpson","zip":null,"type":"Retail","price":723970,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/839-n-1st-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-309nlasallest","address":"309 N Lasalle St","city":"Navasota","zip":"77868","type":"Retail","price":2675465,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/309-n-lasalle-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-221ntempledr","address":"221 N Temple Dr","city":"Diboll","zip":"75941","type":"Retail","price":1909600,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/221-n-temple-dr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-100shomest","address":"100 S Home St","city":"Corrigan","zip":"75939","type":"Retail","price":1561030,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/100-s-home-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-7201etrimmierrd","address":"7201 East Trimmier Road","city":"Killeen","zip":"76542","type":"Retail","price":2308940,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/7201-e-trimmier-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-23685waltonave","address":"23685 Walton Avenue","city":"New Caney","zip":null,"type":"Retail","price":3152835,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/23685-walton-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-3601eushwy377","address":"3601 East US Highway 377","city":"Granbury","zip":null,"type":"Retail","price":1834025,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/3601-e-us-hwy-377/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-380farmrd2457","address":"380 Farm Road 2457","city":"Livingston","zip":null,"type":"Retail","price":1561065,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/380-farm-road-2457/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-6617buffalogaprd","address":"6617 Buffalo Gap Rd","city":"Abilene","zip":"79606","type":"Retail","price":867430,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/6617-buffalo-gap-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1805sgrandst","address":"1805 South Grand Street","city":"Amarillo","zip":"79103","type":"Retail","price":2465485,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/1805-s-grand-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2305texasblvd","address":"2305 Texas Boulevard","city":"Texarkana","zip":"75501","type":"Retail","price":630995,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/2305-texas-blvd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1647waterslakeblvd","address":"1647 Waters Lake Boulevard","city":"Sienna","zip":null,"type":"Retail","price":6123795,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/1647-waters-lake-blvd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2350researchforestdr","address":"2350 Research Forest Drive","city":"The Woodlands","zip":"77381","type":"Retail","price":8424000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/2350-research-forest-dr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-11801wparmerln","address":"11801 West Parmer Lane","city":"Cedar Park","zip":"78613","type":"Retail","price":10038000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/11801-w-parmer-ln/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-3812marketst","address":"3812 Market Street","city":"Denton","zip":null,"type":"Retail","price":1728575,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/3812-market-street/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-3600culverrd","address":"3600 Culver Road","city":"Tuscaloosa","zip":"35401","type":"Retail","price":1696590,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/3600-culver-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-600wstrd","address":"600 W St Rd","city":"Warminster","zip":"18974","type":"Retail","price":1229360,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/600-w-st-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-41nbayspringsr","address":"41 N Bay Springs R","city":"Dothan","zip":"36303","type":"Retail","price":1309005,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/41-n-bay-springs-r/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-69676georgia46","address":"69676 Georgia 46","city":"Metter","zip":"30439","type":"Retail","price":970500,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/69676-georgia-46/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-3317route36","address":"3317 Route 36","city":"Oliveburg","zip":"15764","type":"Retail","price":1249300,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/3317-route-36/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-603ehoustonst","address":"603 E Houston St","city":"Cleveland","zip":"77327","type":"Retail","price":2932090,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/603-e-houston-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-11902perrinbeitelrd","address":"11902 Perrin Beitel Rd","city":"San Antonio","zip":"78217","type":"Retail","price":1050000,"units":1,"cap_rate":8,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh","Gunnar Edlund"],"source":"https://trinityreis.com/listing/11902-perrin-beitel-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1202ecenterst","address":"1202 E Center St","city":"Ithaca","zip":"48847","type":"Retail","price":903390,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/1202-e-center-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-4250oldkathleenrd","address":"4250 Old Kathleen Rd","city":"Lakeland","zip":"33810","type":"Retail","price":1138800,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/4250-old-kathleen-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2800fairparkblvd","address":"2800 Fair Park Blvd.","city":"Jonesboro","zip":"72401","type":"Multifamily","price":5728000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Matt Davis","broker_agents":["Matt Davis"],"source":"https://trinityreis.com/listing/2800-fair-park-blvd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdseqholmanrdandarroyo","address":"TBD SEQ Holman Road and Arroyo","city":"Las Cruces","zip":"88012","type":"Retail","price":2380625,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/tbd-seq-holman-road-and-arroyo/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdwlisatumbleweedtr","address":"TBD West Lisa / Tumbleweed Tr","city":"Chaparral","zip":null,"type":"Retail","price":2442930,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/tbd-west-lisa-tumbleweed-tr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdhwy64e","address":"TBD Hwy 64 E","city":"Dulce","zip":null,"type":"Retail","price":2607675,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/tbd-hwy-64-e/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1610ushwy259s","address":"1610 US Hwy 259 South","city":"Diana","zip":"75640","type":"Retail","price":665505,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/1610-us-hwy-259-south/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-11433ushwy271s","address":"11433 US Hwy 271 S","city":"Gladewater","zip":"75647","type":"Retail","price":1124550,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/11433-us-highway-271-s/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2301sveteransblvd","address":"2301 South Veterans Boulevard","city":"San Juan","zip":null,"type":"Retail","price":2700450,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/tbd-s-veterans-blvd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdfm621wheatfieldln","address":"TBD FM-621 / Wheat Field Ln","city":"San Marcos","zip":null,"type":"Retail","price":2692585,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/tbd-fm-621-wheat-field-ln/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1604whebronpkwy","address":"1604 W Hebron Pkwy","city":"Carrollton","zip":"75010","type":"Retail","price":5415385,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/1604-w-hebron-pkwy/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2901brundageln","address":"2901 Brundage Ln","city":"Bakersfield","zip":"93304","type":"Retail","price":900000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/2901-brundage-ln/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2010billowenspkwy","address":"2010 Bill Owens Pkwy","city":"Longview","zip":"75604","type":"Retail","price":1800335,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/2010-bill-owens-pkwy/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-9254w159thst","address":"9254 W 159th St","city":"Orland Park","zip":null,"type":"Retail","price":1750000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/9254-w-159th-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-6187hwy178w","address":"6187 Hwy 178 W","city":"Lakeview","zip":null,"type":"Retail","price":1411200,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/6187-hwy-178-w/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-102willowspringsdr","address":"102 Willow Springs Dr","city":"San Marcos","zip":null,"type":"Retail","price":1152875,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/102-willow-springs-dr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-521emainst","address":"521 E Main St","city":"Jackson","zip":"95642","type":"Retail","price":3999500,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/521-e-main-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-810jeffersonave","address":"810 Jefferson Ave","city":"Alamogordo","zip":null,"type":"Retail","price":550000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/810-jefferson-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-215ewalnutst","address":"215 East Walnut St","city":"West Union","zip":"45693","type":"Retail","price":313118,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/215-east-walnut-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2515wjeffersonblvd300","address":"2515 W Jefferson Blvd 300","city":"Dallas","zip":"75211","type":"Retail","price":8244115,"units":1,"cap_rate":6,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist","Eric Kelley","Matt Davis","Branson Blackburn"],"source":"https://trinityreis.com/listing/2515-w-jefferson-blvd-300/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-190nfosterrd","address":"190 N Foster Rd","city":"San Antonio","zip":"78219","type":"Retail","price":3119710,"units":1,"cap_rate":6,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist","Eric Kelley","Matt Davis","Branson Blackburn"],"source":"https://trinityreis.com/listing/190-n-foster-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-tbdefm1518wiedersteinrd","address":"TBD E FM 1518 / Wiederstein Rd","city":"Selma","zip":null,"type":"Retail","price":3320550,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/tbd-e-fm-1518-wiederstein-rd/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-309nchurchave","address":"309 N Church Ave","city":"Dyersburg","zip":"38024","type":"Retail","price":2999999,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/309-n-church-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-23780tx494loop","address":"23780 TX-494 Loop","city":"Porter","zip":null,"type":"Retail","price":6204880,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/23780-tx-494-loop/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1624spencerhwy","address":"1624 Spencer Hwy","city":"South Houston","zip":"77587","type":"Retail","price":1779130,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/1624-spencer-hwy/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2046us258","address":"2046 US 258","city":"Kinston","zip":"28504","type":"Retail","price":765000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/2046-us-258/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-430spinest","address":"430 S Pine St","city":"Vivian","zip":"71082","type":"Retail","price":535335,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/430-s-pine-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-803collegeave","address":"803 College Ave","city":"Jackson","zip":null,"type":"Retail","price":355000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/803-college-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2115wgriffinpkwy","address":"2115 W Griffin Pkwy","city":"Palmview","zip":"78572","type":"Retail","price":825000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/2115-w-griffin-pkwy/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-712mainstne","address":"712 Main St NE","city":"Hanceville","zip":"35077","type":"Retail","price":844800,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/712-main-st-ne/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2902commercialave","address":"2902 Commercial Ave","city":"San Antonio","zip":"78221","type":"Retail","price":325000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/2902-commercial-ave/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2605nushwy281","address":"2605 N US Hwy 281","city":"Marble Falls","zip":"78654","type":"Retail","price":1000000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/2605-n-us-hwy-281/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-901carterst","address":"901 Carter St","city":"Mason","zip":"76856","type":"Retail","price":969430,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/901-carter-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-6130atlantahwy","address":"6130 Atlanta Hwy","city":"Alpharetta","zip":"30004","type":"Retail","price":2522400,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/6130-atlanta-hwy/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-405smainst","address":"405 South Main St","city":"Monahans","zip":"79756","type":"Retail","price":2376685,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/405-south-main-st-2/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-s14thst","address":"S 14th St","city":"Kingsville","zip":null,"type":"Retail","price":1750000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/s-14th-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-2wrossln","address":"2 W Ross Ln","city":"Tilton","zip":"61833","type":"Multifamily","price":250000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Austin Walsh","broker_agents":["Austin Walsh"],"source":"https://trinityreis.com/listing/2-w-ross-ln/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-103millenniumparkdr","address":"103 Millennium Park Drive","city":"Bismarck","zip":"71929","type":"Retail","price":4541000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/103-millennium-park-dr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-611wchambersdr","address":"611 W Chambers Dr","city":"Booneville","zip":null,"type":"Retail","price":698225,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/611-w-chambers-dr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-5581hwy71s","address":"5581 Hwy 71 S","city":"Cove","zip":"71937","type":"Retail","price":921465,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/5581-hwy-71-s/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-225ntempledr","address":"225 N Temple Dr","city":"Diboll","zip":"75941","type":"Retail","price":640000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/225-n-temple-dr/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1003emilamst","address":"1003 E Milam St","city":"Mexia","zip":"76667","type":"Retail","price":648310,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Cody Crist","broker_agents":["Cody Crist"],"source":"https://trinityreis.com/listing/1003-e-milam-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1510nmainst","address":"1510 N Main St","city":"Benton","zip":null,"type":"Retail","price":300000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Gunnar Edlund","broker_agents":["Gunnar Edlund"],"source":"https://trinityreis.com/listing/1510-n-main-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-28nky3438","address":"28 N KY 3438","city":"Barbourville","zip":"40906","type":"Retail","price":1076125,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/28-n-ky-3438/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-306wjeffersonst","address":"306 W Jefferson St","city":"Jackson","zip":null,"type":"Retail","price":636740,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/306-w-jefferson-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"},{"id":"bd-trinity-1008sbrooksst","address":"1008 South Brooks Street","city":"Brazoria","zip":"77422","type":"Retail","price":800000,"units":1,"cap_rate":null,"status":"Active","firm":"Trinity Real Estate Investment Services","broker_firm":"Trinity Real Estate Investment Services","broker_agent":"Branson Blackburn","broker_agents":["Branson Blackburn"],"source":"https://trinityreis.com/listing/1008-s-brooks-st/","source_host":"trinityreis.com","source_of_truth":"broker-direct","_sourced":"trinity","_matchedFrom":"crexi"}]}
\ No newline at end of file
diff --git a/scripts/resolve-broker-direct.js b/scripts/resolve-broker-direct.js
new file mode 100644
index 0000000..7da327b
--- /dev/null
+++ b/scripts/resolve-broker-direct.js
@@ -0,0 +1,133 @@
+#!/usr/bin/env node
+// resolve-broker-direct.js — GENERIC "use Crexi for the address, then link the broker's OWN listing"
+// resolver (Steve 2026-08-25). For each configured firm we fetch that firm's OWN active inventory from
+// its own site's structured feed (BuildOut plugin JSON or a WordPress REST `listing` endpoint), then
+// CROSS-REFERENCE it against THAT FIRM's crexi-sourced rows in data/ranked.json by canonical address.
+// We emit a broker-direct feed row ONLY for a confirmed firm+address match — so serve.js's address-keyed
+// substitution (mergedRanked) swaps the crexi link for the firm's own listing page, and can never
+// mis-link across firms (the feed only ever contains that firm's real, matched addresses).
+//
+// Why match here (not in serve.js): ranked rows have no `state`, and serve.js matches address-only.
+// Loading a firm's whole NATIONAL book and letting address-only matching run would risk same-street
+// collisions. Matching against the firm's OWN crexi rows makes each substitution firm-correct with no
+// serve.js change and no geo guessing.
+//
+// Output: one data/<slug>-listings.json per firm (auto-discovered + substituted by serve.js). $0,
+// feed-first, no browser. Usage: node scripts/resolve-broker-direct.js [firmSlug]   (omit = all firms)
+'use strict';
+const fs = require('fs');
+const path = require('path');
+const DATA = path.join(__dirname, '..', 'data');
+const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36';
+
+// ── Canonical address key — MUST match serve.js mergedRanked() addrKey exactly so feed rows align. ──
+const SUF = { boulevard: 'blvd', avenue: 'ave', street: 'st', drive: 'dr', road: 'rd', place: 'pl',
+  court: 'ct', lane: 'ln', terrace: 'ter', parkway: 'pkwy', highway: 'hwy', square: 'sq', circle: 'cir',
+  north: 'n', south: 's', east: 'e', west: 'w' };
+const addrKey = a => String(a || '').toLowerCase()
+  .replace(/\b(boulevard|avenue|street|drive|road|place|court|lane|terrace|parkway|highway|square|circle|north|south|east|west)\b/g, m => SUF[m])
+  .replace(/[^a-z0-9]/g, '');
+
+// Normalize a firm name for fuzzy matching against ranked broker_firm (office suffixes / legal noise stripped).
+const firmKey = s => String(s || '').toLowerCase()
+  .replace(/\s*[-–|].*$/, '')                                   // drop "- Los Angeles", "| Americas HQ"
+  .replace(/\b(inc|llc|lp|corp|company|co|group|brokerage|services|service|investment|investments|real estate|realty|partners|advisors|commercial|the)\b/g, ' ')
+  .replace(/[^a-z0-9]/g, '');
+const clean = s => String(s == null ? '' : s).replace(/\s+/g, ' ').trim();
+const num = s => { const n = parseFloat(String(s == null ? '' : s).replace(/[^0-9.]/g, '')); return isNaN(n) ? null : n; };
+
+// ── Per-firm adapters. Each returns a list of {address, city, zip, price, url, type, units, cap_rate}. ──
+async function buildoutAdapter(key, ownDomain) {
+  const r = await fetch(`https://buildout.com/plugins/${key}/inventory.json`,
+    { headers: { 'User-Agent': UA, Accept: 'application/json', Referer: 'https://www.google.com/' } });
+  if (!r.ok) throw new Error('buildout inventory HTTP ' + r.status);
+  const j = await r.json();
+  const inv = Array.isArray(j.inventory) ? j.inventory : [];
+  const attr = (ia, label) => Array.isArray(ia)
+    ? ((ia.find(x => Array.isArray(x) && String(x[0]).toLowerCase() === label.toLowerCase()) || [])[1] || null) : null;
+  return inv.filter(it => it.address && it.id && !/true/i.test(String(it.closed)) && !/true/i.test(String(it.under_contract)))
+    .map(it => ({
+      address: clean(it.address),
+      city: clean(it.city), zip: clean(it.zip),
+      price: (() => { const m = String(attr(it.index_attributes, 'Price') || '').match(/([0-9][0-9,]*)/); return m ? num(m[1]) : null; })(),
+      cap_rate: (() => { const c = attr(it.index_attributes, 'Cap Rate'); return c ? num(c) : null; })(),
+      units: (() => { const u = attr(it.index_attributes, 'Units') || attr(it.index_attributes, '# of Units'); return u ? parseInt(u, 10) || null : null; })(),
+      type: clean(it.property_sub_type_name) || null,
+      // Use the feed's OWN authoritative deep-link (it.show_link = the firm's own-site listing page,
+      // e.g. https://<firm>/listings/?propertyId=<realId>-sale). NEVER construct from it.id — that is the
+      // inventory item id, NOT the propertyId in show_link, so a constructed URL lands on the generic
+      // listings index (Cody-caught 2026-08-25). Only fall back to a constructed URL if show_link is absent.
+      url: clean(it.show_link) || clean(it.also_for_sale_or_lease_url) ||
+        (ownDomain ? `https://${ownDomain}/listings/?propertyId=${it.id}-sale` : `https://buildout.com/plugins/${key}/inventory/${it.id}-sale`),
+      broker: clean(it.broker) || null,
+    }));
+}
+
+async function wpRestAdapter(base) {
+  const out = [];
+  for (let page = 1; page <= 20; page++) {
+    const r = await fetch(`${base}?per_page=100&page=${page}`, { headers: { 'User-Agent': UA, Accept: 'application/json' } });
+    if (!r.ok) break;
+    const j = await r.json();
+    if (!Array.isArray(j) || !j.length) break;
+    for (const it of j) {
+      const address = clean((it.title && (it.title.rendered || it.title)) || it.slug || '').replace(/&#8211;|&#8217;|&amp;/g, ' ');
+      const url = clean(it.link);
+      if (address && url) out.push({ address, city: '', zip: '', price: null, cap_rate: null, units: null, type: null, url, broker: null });
+    }
+    if (j.length < 100) break;
+  }
+  return out;
+}
+
+// ── Firm registry. Add a firm = add one row. ──
+const FIRMS = [
+  { slug: 'encore', firm: 'Encore Real Estate Investment Services', match: /encore/i,
+    domain: 'encoreinvestmentrealestate.com', adapter: () => buildoutAdapter('041108eca33c6111d9c012e0a6cac482accb601b', 'encoreinvestmentrealestate.com') },
+  { slug: 'trinity', firm: 'Trinity Real Estate Investment Services', match: /trinity real estate/i,
+    domain: 'trinityreis.com', adapter: () => wpRestAdapter('https://trinityreis.com/wp-json/wp/v2/listing') },
+];
+
+(async () => {
+  const only = process.argv[2];
+  const { ranked } = JSON.parse(fs.readFileSync(path.join(DATA, 'ranked.json'), 'utf8'));
+  const isCrexi = r => /crexi\.com/.test(r.source || '');
+  let grand = 0;
+  for (const F of FIRMS) {
+    if (only && only !== F.slug) continue;
+    // This firm's crexi rows, indexed by canonical address.
+    const fk = firmKey(F.firm);
+    const crx = ranked.filter(r => isCrexi(r) && firmKey(r.broker_firm) === fk);
+    const byAddr = new Map();
+    crx.forEach(r => { const k = addrKey(r.address); if (k) byAddr.set(k, r); });
+    let inv;
+    try { inv = await F.adapter(); } catch (e) { console.error(`  ${F.firm}: adapter FAILED — ${e.message}`); continue; }
+    const listings = [], usedKeys = new Set();
+    for (const it of inv) {
+      const k = addrKey(it.address);
+      if (!k || !byAddr.has(k) || usedKeys.has(k)) continue;   // confirmed firm+address match only
+      usedKeys.add(k);
+      const cr = byAddr.get(k);
+      listings.push({
+        id: `bd-${F.slug}-${k.slice(0, 40)}`,
+        address: cr.address, city: it.city || cr.city || '', zip: it.zip || cr.zip || null,
+        type: cr.type || it.type || 'Commercial',
+        price: cr.price != null ? cr.price : it.price,
+        units: cr.units != null ? cr.units : it.units,
+        cap_rate: cr.cap_rate != null ? cr.cap_rate : it.cap_rate,
+        status: 'Active',
+        firm: F.firm, broker_firm: F.firm,
+        broker_agent: it.broker || cr.broker_agent || null,
+        broker_agents: it.broker ? [it.broker] : (cr.broker_agents || []),
+        source: it.url, source_host: F.domain, source_of_truth: 'broker-direct',
+        _sourced: F.slug, _matchedFrom: 'crexi',
+      });
+    }
+    const payload = { firm: F.firm, source: `https://${F.domain}`, scraped_at: new Date().toISOString(),
+      inventory_seen: inv.length, crexi_rows: crx.length, matched: listings.length, count: listings.length, listings };
+    fs.writeFileSync(path.join(DATA, `${F.slug}-listings.json`), JSON.stringify(payload));
+    console.log(`${F.firm}: inventory=${inv.length}, crexi rows=${crx.length}, MATCHED+substituted=${listings.length} -> data/${F.slug}-listings.json`);
+    grand += listings.length;
+  }
+  console.log(`\nTotal broker-direct substitutions written: ${grand}`);
+})().catch(e => { console.error('resolve-broker-direct FAILED:', e.message); process.exit(1); });
diff --git a/scripts/serve.js b/scripts/serve.js
index dbce874..cd0a49d 100644
--- a/scripts/serve.js
+++ b/scripts/serve.js
@@ -2232,6 +2232,12 @@ function mergedRanked() {
     .replace(/[^a-z0-9]/g, '');
   const idxByAddr = new Map();
   ranked.forEach((r, i) => { const k = addrKey(r); if (k && !idxByAddr.has(k)) idxByAddr.set(k, i); });
+  // Firm key for the substitution firm-agreement guard: office suffixes + legal noise stripped so
+  // "Marcus & Millichap - Encino" and "Marcus & Millichap" collapse equal, but two DIFFERENT firms stay apart.
+  const firmKey = s => String(s || '').toLowerCase()
+    .replace(/\s*[-–|].*$/, '')
+    .replace(/\b(inc|llc|lp|corp|company|co|group|brokerage|services|service|investment|investments|real estate|realty|partners|advisors|commercial|the)\b/g, ' ')
+    .replace(/[^a-z0-9]/g, '');
 
   // Steve 2026-08-18: "sub out crexi if found in data" — a broker-DIRECT listing (the firm's own site,
   // real permalink + attribution, higher trust) SUBSTITUTES the aggregator row for the same property
@@ -2244,7 +2250,21 @@ function mergedRanked() {
       const k = addrKey(row); if (!k) continue;
       if (idxByAddr.has(k)) {
         const i = idxByAddr.get(k); const ex = ranked[i];
-        if (ex._sourced) continue;                 // already a broker-direct row → don't double-sub
+        // Only skip a row ALREADY made broker-direct in this pass (real double-sub guard). NOT any
+        // _sourced marker: crexi-origin rows carry _sourced:'crexi-active-book' (from the crawl-broker
+        // active-book pass) while their source is still a Crexi link — the old `if(ex._sourced)` skip
+        // wrongly treated those ~8.8k rows as broker-direct, so they could NEVER be substituted. (Steve
+        // 2026-08-25: "still see a ton of crexi … get listing from broker site".)
+        if (ex.source_of_truth === 'broker-direct') continue;
+        // Firm-agreement guard (Cody-gated 2026-08-25): only swap the link when the broker-direct feed's
+        // firm agrees with the crexi row's LISTED firm (or the crexi row has no firm). Without this, a
+        // city-blind address collision mis-links e.g. a KW-Hollywood-Hills row to Lyon Stahl's page — a
+        // WRONG broker link, worse than a Crexi link. Removed ~58 mismatched swaps (20% of substitutions).
+        // EXACT firm-key equality only (Cody/codex-gated 2026-08-25): substring matching false-matched
+        // distinct firms ("national" ⊂ "nationalassociation…"). firmKey already collapses office variants
+        // ("Marcus & Millichap - Encino" → "marcusmillichap") via the dash-strip, so exact-equality suffices.
+        const cf = firmKey(ex.broker_firm), ff = firmKey(row.broker_firm || row.firm);
+        if (cf && ff && cf !== ff) continue;
         ranked[i] = { ...ex,
           source: row.source, source_host: row.source_host, source_of_truth: 'broker-direct',
           broker_firm: row.broker_firm || ex.broker_firm, firm: row.firm || ex.firm,

← 71519a5 chore: v0.24.0 (session close) — broker-phone list column [l  ·  back to Commercialrealestate  ·  auto-data-snapshot: 2026-08-25T11:28:19 (1 data files) — dat e6592c6 →