[object Object]

← back to Re Flyer Aggregator

be-first, FREE: SEC EDGAR CRE 8-K acquisition monitor (same-week LA deals, $0, no key) wired into daily cron; dedupe by accession + new-deal alert feed (TK-10708)

effdba01fd115c3ea020b6274aa2a99bb14cc49d · 2026-08-19 13:19:07 -0700 · Steve Abrams

Files touched

Diff

commit effdba01fd115c3ea020b6274aa2a99bb14cc49d
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Wed Aug 19 13:19:07 2026 -0700

    be-first, FREE: SEC EDGAR CRE 8-K acquisition monitor (same-week LA deals, $0, no key) wired into daily cron; dedupe by accession + new-deal alert feed (TK-10708)
---
 data/edgar-seen.json                |   1 +
 out/edgar-new-deals-2026-08-19.json | 194 ++++++++++++++++++++++++++++++++++++
 scripts/dtt-cron.sh                 |  12 ++-
 scripts/edgar-cre-monitor.mjs       |  68 +++++++++++++
 4 files changed, 270 insertions(+), 5 deletions(-)

diff --git a/data/edgar-seen.json b/data/edgar-seen.json
new file mode 100644
index 0000000..2fc4692
--- /dev/null
+++ b/data/edgar-seen.json
@@ -0,0 +1 @@
+["0001364250-26-000038","0001482512-26-000064","0001628280-26-049820","0000908311-26-000096","0000034903-26-000040","0001571283-26-000037","0001037540-26-000031","0000049600-26-000040","0001360604-26-000063","0001193125-26-344730","0001307748-26-000191","0001631569-26-000039","0001193125-26-323784","0001476204-26-000030","0001193125-26-328612","0001437749-26-025519","0001286043-26-000045","0001628280-26-049346","0001193125-26-321040","0000915912-26-000018","0001717547-26-000059","0001581068-26-000027","0001095651-26-000022","0001868159-26-000038","0001193125-26-342419","0001628280-26-050409","0001539497-26-002300","0001539497-26-002258","0001539497-26-002293","0001539497-26-001974","0001539497-26-002021","0001539497-26-002210"]
\ No newline at end of file
diff --git a/out/edgar-new-deals-2026-08-19.json b/out/edgar-new-deals-2026-08-19.json
new file mode 100644
index 0000000..2f0bde1
--- /dev/null
+++ b/out/edgar-new-deals-2026-08-19.json
@@ -0,0 +1,194 @@
+[
+  {
+    "filer": "Douglas Emmett Inc  (DEI)  (CIK 0001364250)",
+    "file_date": "2026-08-04",
+    "accession": "0001364250-26-000038",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1364250/000136425026000038/0001364250-26-000038-index.htm"
+  },
+  {
+    "filer": "Hudson Pacific Properties, Inc.  (HPP, HPP-PC)  (CIK 0001482512)",
+    "file_date": "2026-08-05",
+    "accession": "0001482512-26-000064",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1482512/000148251226000064/0001482512-26-000064-index.htm"
+  },
+  {
+    "filer": "KILROY REALTY CORP  (KRC)  (CIK 0001025996)",
+    "file_date": "2026-07-27",
+    "accession": "0001628280-26-049820",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1025996/000162828026049820/0001628280-26-049820-index.htm"
+  },
+  {
+    "filer": "Creative Media & Community Trust Corp  (CMCT)  (CIK 0000908311)",
+    "file_date": "2026-08-14",
+    "accession": "0000908311-26-000096",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/908311/000090831126000096/0000908311-26-000096-index.htm"
+  },
+  {
+    "filer": "FEDERAL REALTY INVESTMENT TRUST  (FRT, FRT-PC)  (CIK 0000034903)",
+    "file_date": "2026-07-31",
+    "accession": "0000034903-26-000040",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/34903/000003490326000040/0000034903-26-000040-index.htm"
+  },
+  {
+    "filer": "Rexford Industrial Realty, Inc.  (REXR, REXR-PB, REXR-PC)  (CIK 0001571283)",
+    "file_date": "2026-07-23",
+    "accession": "0001571283-26-000037",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1571283/000157128326000037/0001571283-26-000037-index.htm"
+  },
+  {
+    "filer": "BXP, Inc.  (BXP)  (CIK 0001037540)",
+    "file_date": "2026-07-28",
+    "accession": "0001037540-26-000031",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1037540/000103754026000031/0001037540-26-000031-index.htm"
+  },
+  {
+    "filer": "EASTGROUP PROPERTIES INC  (EGP)  (CIK 0000049600)",
+    "file_date": "2026-07-22",
+    "accession": "0000049600-26-000040",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/49600/000004960026000040/0000049600-26-000040-index.htm"
+  },
+  {
+    "filer": "Healthcare Realty Trust Inc  (HR)  (CIK 0001360604)",
+    "file_date": "2026-07-30",
+    "accession": "0001360604-26-000063",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1360604/000136060426000063/0001360604-26-000063-index.htm"
+  },
+  {
+    "filer": "KILROY REALTY CORP  (KRC)  (CIK 0001025996)",
+    "file_date": "2026-08-11",
+    "accession": "0001193125-26-344730",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1025996/000119312526344730/0001193125-26-344730-index.htm"
+  },
+  {
+    "filer": "InvenTrust Properties Corp.  (IVT)  (CIK 0001307748)",
+    "file_date": "2026-08-03",
+    "accession": "0001307748-26-000191",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1307748/000130774826000191/0001307748-26-000191-index.htm"
+  },
+  {
+    "filer": "Community Healthcare Trust Inc  (CHCT)  (CIK 0001631569)",
+    "file_date": "2026-08-04",
+    "accession": "0001631569-26-000039",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1631569/000163156926000039/0001631569-26-000039-index.htm"
+  },
+  {
+    "filer": "REGENCY CENTERS CORP  (REG, REGCO, REGCP)  (CIK 0000910606)",
+    "file_date": "2026-07-29",
+    "accession": "0001193125-26-323784",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/910606/000119312526323784/0001193125-26-323784-index.htm"
+  },
+  {
+    "filer": "Phillips Edison & Company, Inc.  (PECO)  (CIK 0001476204)",
+    "file_date": "2026-07-23",
+    "accession": "0001476204-26-000030",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1476204/000147620426000030/0001476204-26-000030-index.htm"
+  },
+  {
+    "filer": "EQUITY RESIDENTIAL  (EQR)  (CIK 0000906107)",
+    "file_date": "2026-07-31",
+    "accession": "0001193125-26-328612",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/906107/000119312526328612/0001193125-26-328612-index.htm"
+  },
+  {
+    "filer": "Chatham Lodging Trust  (CLDT, CLDT-PA)  (CIK 0001476045)",
+    "file_date": "2026-08-04",
+    "accession": "0001437749-26-025519",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1476045/000143774926025519/0001437749-26-025519-index.htm"
+  },
+  {
+    "filer": "KITE REALTY GROUP TRUST  (KRG)  (CIK 0001286043)",
+    "file_date": "2026-07-30",
+    "accession": "0001286043-26-000045",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1286043/000128604326000045/0001286043-26-000045-index.htm"
+  },
+  {
+    "filer": "SL GREEN REALTY CORP  (SLG, SLG-PI)  (CIK 0001040971)",
+    "file_date": "2026-07-23",
+    "accession": "0001628280-26-049346",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1040971/000162828026049346/0001628280-26-049346-index.htm"
+  },
+  {
+    "filer": "ACADIA REALTY TRUST  (AKR)  (CIK 0000899629)",
+    "file_date": "2026-07-28",
+    "accession": "0001193125-26-321040",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/899629/000119312526321040/0001193125-26-321040-index.htm"
+  },
+  {
+    "filer": "AVALONBAY COMMUNITIES INC  (AVB)  (CIK 0000915912)",
+    "file_date": "2026-07-23",
+    "accession": "0000915912-26-000018",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/915912/000091591226000018/0000915912-26-000018-index.htm"
+  },
+  {
+    "filer": "BrightSpire Capital, Inc.  (BRSP)  (CIK 0001717547)",
+    "file_date": "2026-07-28",
+    "accession": "0001717547-26-000059",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1717547/000171754726000059/0001717547-26-000059-index.htm"
+  },
+  {
+    "filer": "Brixmor Property Group Inc.  (BRX)  (CIK 0001581068)",
+    "file_date": "2026-07-27",
+    "accession": "0001581068-26-000027",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1581068/000158106826000027/0001581068-26-000027-index.htm"
+  },
+  {
+    "filer": "Safehold Inc.  (SAFE)  (CIK 0001095651)",
+    "file_date": "2026-07-30",
+    "accession": "0001095651-26-000022",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1095651/000109565126000022/0001095651-26-000022-index.htm"
+  },
+  {
+    "filer": "Lineage, Inc.  (LINE)  (CIK 0001868159)",
+    "file_date": "2026-08-05",
+    "accession": "0001868159-26-000038",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1868159/000186815926000038/0001868159-26-000038-index.htm"
+  },
+  {
+    "filer": "Apple Hospitality REIT, Inc.  (APLE)  (CIK 0001418121)",
+    "file_date": "2026-08-10",
+    "accession": "0001193125-26-342419",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1418121/000119312526342419/0001193125-26-342419-index.htm"
+  },
+  {
+    "filer": "NEWMARK GROUP, INC.  (NMRK)  (CIK 0001690680)",
+    "file_date": "2026-07-29",
+    "accession": "0001628280-26-050409",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/1690680/000162828026050409/0001628280-26-050409-index.htm"
+  },
+  {
+    "filer": "BMO 2026-C15 Mortgage Trust  (CIK 0002063009)",
+    "file_date": "2026-08-18",
+    "accession": "0001539497-26-002300",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/2063009/000153949726002300/0001539497-26-002300-index.htm"
+  },
+  {
+    "filer": "Morgan Stanley Bank of America Merrill Lynch Trust 2026-C36  (CIK 0002145539)",
+    "file_date": "2026-08-14",
+    "accession": "0001539497-26-002258",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/2145539/000153949726002258/0001539497-26-002258-index.htm"
+  },
+  {
+    "filer": "Benchmark 2026-V23 Mortgage Trust  (CIK 0002148615)",
+    "file_date": "2026-08-18",
+    "accession": "0001539497-26-002293",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/2148615/000153949726002293/0001539497-26-002293-index.htm"
+  },
+  {
+    "filer": "Citigroup Commercial Mortgage Trust 2026-MFAM1  (CIK 0002143199)",
+    "file_date": "2026-07-17",
+    "accession": "0001539497-26-001974",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/2143199/000153949726001974/0001539497-26-001974-index.htm"
+  },
+  {
+    "filer": "Citigroup Commercial Mortgage Trust 2026-MFAM1  (CIK 0002143199)",
+    "file_date": "2026-07-29",
+    "accession": "0001539497-26-002021",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/2143199/000153949726002021/0001539497-26-002021-index.htm"
+  },
+  {
+    "filer": "BMO 2026-5C16 Mortgage Trust  (CIK 0002136643)",
+    "file_date": "2026-08-13",
+    "accession": "0001539497-26-002210",
+    "filing_url": "https://www.sec.gov/Archives/edgar/data/2136643/000153949726002210/0001539497-26-002210-index.htm"
+  }
+]
\ No newline at end of file
diff --git a/scripts/dtt-cron.sh b/scripts/dtt-cron.sh
index e556ae7..c30d0b6 100755
--- a/scripts/dtt-cron.sh
+++ b/scripts/dtt-cron.sh
@@ -1,10 +1,12 @@
 #!/bin/bash
-# TK-10708  Daily Documentary-Transfer-Tax import wrapper (launchd com.steve.dtt-import).
-# Baked PATH so bare `node`/`psql` resolve under launchd's minimal env (bare-node lesson).
+# TK-10708  Daily "closed-deal" jobs (launchd com.steve.dtt-import).
+# Baked PATH so bare node/psql resolve under launchd's minimal env (bare-node lesson).
 export PATH="/opt/homebrew/bin:/opt/homebrew/opt/postgresql@14/bin:/usr/bin:/bin:/usr/sbin:/sbin"
 cd "$(dirname "$0")/.." || exit 1
-LOG="data/dtt-cron.log"
-mkdir -p data
-echo "=== $(date '+%Y-%m-%d %H:%M:%S') DTT import run ===" >> "$LOG"
+LOG="data/dtt-cron.log"; mkdir -p data out
+echo "=== $(date '+%Y-%m-%d %H:%M:%S') daily run ===" >> "$LOG"
+# 1) FREE be-first feed: SEC EDGAR CRE acquisition 8-Ks (same-week, $0)
+node scripts/edgar-cre-monitor.mjs --loc "Los Angeles" --days 14 >> "$LOG" 2>&1
+# 2) DTT sales import (free assessor source; frozen until a fresh feed is added)
 node scripts/ingest-la-sales.mjs >> "$LOG" 2>&1
 echo "--- exit $? ---" >> "$LOG"
diff --git a/scripts/edgar-cre-monitor.mjs b/scripts/edgar-cre-monitor.mjs
new file mode 100644
index 0000000..168642f
--- /dev/null
+++ b/scripts/edgar-cre-monitor.mjs
@@ -0,0 +1,68 @@
+#!/usr/bin/env node
+// TK-10708  FREE "be first to a closed deal" monitor. SEC EDGAR full-text search for
+// recent 8-K real-estate acquisition filings -- public buyers/REITs disclose closings
+// the day they happen, often BEFORE the trade press. $0, same-day, no key, no owner names.
+//
+// Covers institutional/public-company deals (a subset, but the newsworthy big ones).
+// Dedupes by accession number so each run surfaces only what's NEW -> the alert feed.
+//
+// Usage: node scripts/edgar-cre-monitor.mjs [--loc "Los Angeles"] [--days 30]
+
+import { readFileSync, writeFileSync, existsSync } from 'node:fs';
+import { fileURLToPath } from 'node:url';
+import { dirname, join } from 'node:path';
+
+const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..');
+const args = process.argv.slice(2);
+const getArg = (f, d) => { const i = args.indexOf(f); return i >= 0 ? args[i + 1] : d; };
+const LOC = getArg('--loc', 'Los Angeles');
+const DAYS = parseInt(getArg('--days', '30'), 10);
+const UA = 'DW-research steve@designerwallcoverings.com';   // SEC requires a UA
+const SEEN_FILE = join(ROOT, 'data', 'edgar-seen.json');
+
+const today = new Date();
+const start = new Date(today.getTime() - DAYS * 864e5).toISOString().slice(0, 10);
+const end = today.toISOString().slice(0, 10);
+
+// RE-acquisition signal: property size + location + "acquired". Filters out non-RE noise.
+const q = `"square feet" "${LOC}" "acquired"`;
+const url = `https://efts.sec.gov/LATEST/search-index?q=${encodeURIComponent(q)}&forms=8-K&startdt=${start}&enddt=${end}`;
+
+const res = await fetch(url, { headers: { 'User-Agent': UA } });
+if (!res.ok) { console.error('EDGAR HTTP', res.status); process.exit(1); }
+const data = await res.json();
+const hits = data.hits?.hits || [];
+
+const parse = h => {
+  const s = h._source || {};
+  const [accn, doc] = (h._id || '').split(':');
+  const cik = (s.ciks && s.ciks[0]) ? String(s.ciks[0]).replace(/^0+/, '') : null;
+  const accnClean = (accn || '').replace(/-/g, '');
+  const filingUrl = cik && accn ? `https://www.sec.gov/Archives/edgar/data/${cik}/${accnClean}/${accn}-index.htm` : null;
+  return {
+    filer: (s.display_names || ['?'])[0],
+    file_date: s.file_date,
+    accession: accn,
+    filing_url: filingUrl,
+  };
+};
+const deals = [];
+const byAccn = new Set();
+for (const d of hits.map(parse)) { if (d.accession && !byAccn.has(d.accession)) { byAccn.add(d.accession); deals.push(d); } }
+
+const seen = existsSync(SEEN_FILE) ? new Set(JSON.parse(readFileSync(SEEN_FILE, 'utf8'))) : new Set();
+const fresh = deals.filter(d => !seen.has(d.accession));
+
+console.log(`EDGAR RE-acquisition 8-Ks for "${LOC}" (last ${DAYS}d): ${deals.length} total, ${fresh.length} NEW.`);
+for (const d of fresh.slice(0, 12)) console.log(`  NEW  ${d.file_date}  ${d.filer.slice(0, 50)}  ${d.filing_url}`);
+
+// persist seen + write the new-deal alert feed ("tell people first")
+if (!args.includes('--dry')) {
+  deals.forEach(d => seen.add(d.accession));
+  writeFileSync(SEEN_FILE, JSON.stringify([...seen], null, 0));
+  if (fresh.length) {
+    const stamp = end;
+    writeFileSync(join(ROOT, 'out', `edgar-new-deals-${stamp}.json`), JSON.stringify(fresh, null, 2));
+    console.log(`-> wrote out/edgar-new-deals-${stamp}.json (${fresh.length} new) for the alert feed.`);
+  }
+}

← 38d5d5a DTT daily cron: launchd com.steve.dtt-import runs ingest-la-  ·  back to Re Flyer Aggregator  ·  EDGAR monitor: West-footprint sweep + filing enrichment (pro dda8f01 →