← 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
A data/edgar-seen.jsonA out/edgar-new-deals-2026-08-19.jsonM scripts/dtt-cron.shA scripts/edgar-cre-monitor.mjs
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 →