Platform · Data layer
Where the data comes from,how it moves, and whathappens when it breaks.
100+ live data feeds across 20+ named upstream sources. No synthetic data, no black boxes.
- 7Primary sources, 9 feeds, deduped
- 522Tables, unified schema
- 222M+Rows, indexed
- nightlyRefresh, + minute streams
Data sources
Data you can trust.
Every number traces back to a named, auditable source. Parsed, normalized, queryable, cited.
FMP, the foundation
Global exchange coverage, funds, FX, crypto, statements, estimates and segments, over REST and WebSocket.
SEC EDGAR, and the supporting cast
Direct EDGAR ingestion about 30 seconds behind publication; every feed on its own cadence, with its own freshness badge.
- UpstreamREST · WS · EDGAR · flat files
- Sync job288 cron entries · try/finally log
- Postgres522 tables · ticker FK spine
- DataEnvelopedata · data_as_of · sync_status
- Every surfaceterminal · Vexa · API · AI cites
How deep each feed actually goes.
Tickers, history and refresh cadence per source, checked against the live ledger.
| Source | Universe | Tickers | History | Refresh |
|---|---|---|---|---|
| FMP market data + fundamentals | Configured equity/ETF core + multi-asset upstream | 11,636 registry · 10,639 quoted core | 5 yr bars · varies by asset | REST + WS + 2-min poll |
| SEC EDGAR Form 4 | All US filers | 6,867 | 5 yr backfill · filings to 0023 | ~30s lag |
| SEC EDGAR 8-K | Russell 3000 + watchlist | 5,151 | since Sep 2015 | 3×/day sync |
| 13F whale positions | Manager-side, position-mapped | 78 funds · 284k pos | 17 qtr | quarterly |
| Congress STOCK Act PTRs | US House + Senate members | 540 tracked · 292 with trades | 12 yr | 4×/day sync |
| USPTO patents | S&P 500 issuers with mapped assignees | 97 issuers | 12 mo window | weekly upstream · daily sync |
| Greenhouse ATS + WARN layoffs | Curated public-company boards + NY WARN | 64 issuers · 2,338 WARN cos | 7 yr | daily |
| FINRA short volume | All US-listed equities | 14,786 | since Sep 2025 | daily |
| FRED macro | US macro, rates & credit | 95 series | since 1966 | daily 04:35 UTC |
Counts from each source's most recent successful run in data_sync_log; the full registry runs 100+ sync jobs across 20+ upstreams.
Every row is queryable, citable, joinable.
Each source lands in a normalized SQL table with stable columns, a ticker foreign key, and a link back to the upstream filing.
A row from insider_trades, fetched over the MCP server:
# DataEnvelope[InsiderTrade] -- one of 24 rows
{
"data": [{
"id": "sec_4_a1b2c3d4",
"ticker": "PLTR",
"insider_name": "Schultz Karen",
"insider_role": "CEO",
"transaction_type": "P", # open-market buy
"transaction_date": "2026-05-22",
"shares": 42000,
"price": 21.24,
"value_usd": 892080,
"cluster_id": "clust_8e7f", # 3-insider, 48hr
"cluster_score": 0.92,
"is_10b5_1": false,
"filing_url": "https://www.sec.gov/…"
}, …],
"meta": {
"data_as_of": "2026-05-24T07:32:47Z",
"sync_status": "healthy",
"source": "sec_edgar_form4"
}
}Cost
What it would cost a la carte.
Public list prices for the closest paid vendor of each feed, per seat, per year.
Bloomberg single-terminal list rate as widely reported after the 2025 increase, retrieved 2026-07-22; LSEG Workspace from a typical single-user quote; other vendor sites retrieved 2026-07-08. Not a feature-parity claim: the data layer underneath costs an order of magnitude less built than licensed.
Every row knows when it landed.
Every dataset writes a sync_log row on each refresh, and every freshness badge reads it. When an upstream breaks, the run logs failed, the badge flips, and the surface keeps its last good rows with their date.
| Source | Last run | Rows | Status |
|---|---|---|---|
| quotes_sync | 2m ago | +5,194 | partial |
| fred_sync | 44m ago | +664 | success ✓ |
| patent_sync | 2h ago | +43 | success ✓ |
| politician_sync | 3h ago | +4,854 | success ✓ |
| sec_edgar_form4 | 3h ago | +0 | success ✓ |
| finra_short_volume | 17h ago | +110,768 | success ✓ |
| ats_jobs | 18h ago | +11,002 | partial |
| institutional_holders | 22h ago | +0 | success ✓ |
See it running.
The same tables power the signal feed and the AI agent, and both cite. Uptime is published on the public status page.
Free plan, no card required. Founder pricing is locked for life.