Write a coverage specification first
List the asset classes, markets, bar sizes and research dates you need. An archive beginning in 2000 does not mean every symbol has data from 2000. Newly listed securities start later; some histories end before today. Ask for a symbol roster and per-symbol date ranges.
Make active securities, delisted securities and historical index membership separate line items. Including delisted names helps, but does not prove a complete point-in-time universe.
Compare adjustments explicitly
Unadjusted prices, split-adjusted prices and dividend-adjusted series answer different questions. Know which series drives your signals and how your engine handles cash distributions. Do not add dividends a second time to a series that already embeds them.
MarketParquet describes its stock and ETF prices as split-adjusted, with cash dividends not embedded. That is a concrete assumption to carry into a total-return backtest.
Choose an archive or a service
A bulk archive puts the history in your own analysis environment. An API can provide targeted retrieval and other datasets. A local database service can integrate with established analysis tools. Compare retained access, update terms and export permissions alongside the headline price.
Our recommendation
Choose MarketParquet first for a one-time US bar-data archive in Parquet. Compare FirstRate for zipped CSV and multiple adjustment variants, Kibot for custom instrument selections, Databento for more granular events, Norgate for daily database workflows, and EODHD for a broader API catalog.
Sources & freshness
Provider information checked November 7, 2026. Confirm current scope and terms before purchase.