Market-data vendors for a survivorship-free US equity backtest (checked 2026-07-18)
Question: is there a free data source that can build a survivorship-bias-free single-stock backtest — i.e. delisted/bankrupt prices plus point-in-time index membership? Pricing/coverage below were read from each vendor's live page on 2026-07-18.
The one-line answer
No fully-free API can do it. Point-in-time membership is free (fja05680/sp500), but every free price source is survivorship-biased — it serves "what trades today" and drops the companies that died. Proven empirically this session (see experiments/survivorship_momentum/): Yahoo, Alpaca, IBKR = no delisted at all; stooq free bulk = only 41% of the delisted cohort (survivors 100%, but the truly-dead names — JCPenney, Heinz, Dean Foods, Big Lots, Avon, Safeway, Windstream, Molex — are absent); Tiingo free = partial (good 2013+, missing Lehman/Enron/ WorldCom/Bear) and rate-capped (50 req/hr,symbols/mo). Clean delisted prices live only behind paid/gated products.
Comparison
| Vendor | Price today | Free tier | Delisted prices | Point-in-time members | History | Fit | Link |
|---|---|---|---|---|---|---|---|
| stooq (bulk) 🟢 | $0 | bulk ASCII dl | partial (41%) | no (pair w/ fja05680) | deep | best free, but biased + JS bot-gate | db/h |
| fja05680/sp500 🟢 | $0 | — | membership only | yes (incl. delisted) | 1996+ | free PIT membership | github |
| Tiingo | Free / Power $30/mo | 50 req/hr,sym/mo | partial (2013+) | no | 30+ yr | free=rate-capped, partial | pricing |
| Alpha Vantage 🟢 | Free / prem ~$50/mo+ | 25 req/day | roster only (LISTING_STATUS) |
no | 20+ yr | delisted list, spotty prices | site |
| EODHD | $19.99/mo (All-World EOD) | 20 calls/day | yes (all paid tiers) | via separate endpoint | Ford=1972 | cheapest recurring that works | pricing |
| Sharadar / Nasdaq Data Link | ~$30/mo personal¹ | — | yes (CRSP-grade) | yes (S&P1957–present) | 1998+ | best rigor/$ | SEP |
| Norgate Data | US$630/yr (~$52/mo) | free trial | yes | yes | deep | survivorship-free, app/Python-bound | prices |
| HistoricalData.net | $299 one-time | free sample | yes (50k+ delisted) | no | 2003+ | best value, no recurring | site |
| FMP | ~$22 / ~$69 / ~$149 mo¹ | 250 calls/day | yes (delisted API) | yes (constituents w/ dates) | 30yr @ Premium | good API | pricing |
| Databento | PAYG $/GB; sub from $179/mo ($125 free credits) | trial credits | partial/unclear | no | 16+ yr | overkill (tick/intraday) | pricing |
| Intrinio | $150/mo individual | no | not specified | not specified | 50+ yr | expensive, unclear fit | pricing |
| Polygon.io → Massive | Free / $29 / $99 / $199 mo | 5 calls/min | no ("look elsewhere") | no | full @ Advanced | fails survivorship | pricing |
| CRSP / WRDS | institutional only² | — | yes (gold standard) | yes | 1925/1962+ | free if you have university WRDS | WRDS |
¹ Login/403-gated today — best-known figures, verify at signup. ² Not sold to individuals; Morningstar acquired CRSP Feb 2026, access/pricing shifting.
Recommendation
- Free & good-enough: stooq bulk + fja05680 (what we used) — but understand it's a
survivorship-inflated upper bound, not clean. Fine for a directional read; it already showed single-stock momentum ties SPY and loses to the champion.
- Cheapest that's actually clean: Sharadar ~$30/mo (CRSP-grade + PIT membership
bundled) or HistoricalData.net $299 one-time (no recurring). EODHD $20/mo also works.
- Avoid for this job: Polygon/Massive (no delisted), Databento/Intrinio (overkill/pricey).
The repo pipeline (experiments/survivorship_momentum/free_data/) runs identically against any of these — swap the price loader, keep the point-in-time engine.