Historical stock data is not one product. Some providers sell raw, tick-by-tick trades; others sell a single adjusted daily bar, smoothed for splits and dividends before you ever see it. We ranked 19 sources of historical stock data on depth and cost, and on whether it adjusts prices and how much options history it keeps, then priced what 10 years of it actually costs at each.

We sell candles back to 2010, split-adjusted by default, with a raw format available on request. That default caused our one verified pricing dispute of 2026, below, and it’s the reason we rank second rather than first.

How did we rank the sources of historical stock data?

Each provider was scored from 0 to 10 on six criteria: how far back its history reaches and whether it includes intraday bars; its price and whether it offers unadjusted prices as a choice; bulk delivery and options history depth. Every criterion counts once, except intraday and options history, which count one and a half.

EODHD ranks first here on 40 years of history for $16.58 a month; we rank second.

Which historical stock data provider ranks best?

Sources of historical stock data ranked
RankProviderScoreBest forCost of 10+ years of daily history
1EODHD7.4Deepest, cheapest daily history here$16.58/mo (annual)
2Market Data6.3Cheap unlimited US history since 2010$30/mo (annual)
3Nasdaq Data Link6.1Cheap 28-year history, adjusted or raw$16.58/mo (annual)
3Tiingo6.1Free 30+ years of history, no optionsFree
5Finnhub5.9Deep bulk minute/tick data since 1994$49.99/mo
6Databento5.5Nanosecond tick-level backtesting, at a priceNot offered
7Massive5.320+ years of history with flat-file bulk$63.2/mo (annual)
7ThetaData5.3Tick-level options history since 2012Price not published
9ORATS4.9Deep options history, no free tier$199/mo
9Tradier4.9Free full-lifetime daily history via a brokerageFree
11Twelve Data4.4Longest daily depth, no options$66/mo (annual)
12Alpha Vantage4.3Global symbols needing adjusted daily series$41.58/mo (annual)
13Wisesheets4.2Cheap 15-year history via a Stock API$15.01/mo
14Financial Modeling Prep3.9Cheap tiered history, no options at all$59/mo
15Marketstack3.6Cheapest entry price, unreliable adjustments$8.99/mo (annual)
16Yahoo Finance3.440 years of history, consumer tier onlyNot offered
17Alpaca2.9Free but short, unreliable adjusted historyFree, partial
17Intrinio2.9Deep options history buyers with budget$150/mo
19Barchart2.4Bulk futures/options history buyers on contractPrice not published

The six highest-ranked sources, side by side:

The six highest-ranked sources of historical stock data compared
FeatureEODHDMarket DataNasdaq Data LinkTiingoFinnhubDatabento
Stock price history40+ yrs US; 20+ yrs intl 12010 onward; 1-5yr free, unlimited paidSince Jan 1998, 21,000+ companies 230+ yrs EOD; 1-min bars since 2017 3Premium; bulk data from 1994 416+ yrs L0; 1yr L1 5
Options historySince Q4 2023 (2.5+ yrs) 6EOD chains since 2010, unadjustedBasic, per-exchange EOD only 7NoNoExcellent, since 2013 8
Bulk filesYes, whole-exchange downloads 9No (multi-symbol calls only)Yes, Tables API export 10Not publishedYes (bulk downloads, SEC dataset) 11Yes, batch downloads + PCAP 5
Free tier20 calls/day, 1yr history 12100 credits/day, 1yr history, delayedYes, free key, premium is gated 131,000 req/day, DOW 30 fundamentals 14Undocumented; ~60 calls/min (3rd-party) 15No; $125 signup credit, 6mo 5
Cost of 10+ years of daily history$16.58/mo (annual) 12$30/mo (annual) 16$16.58/mo (annual) 17Free 14$49.99/mo 18Not offered 19
Cost of 5+ years of options historyNot offered 6$12/mo (annual) 16Not offered 7Not offered 3Not offered 4Price not published 8
Sources for this table, checked 2026-09-26
  1. eodhd.com/lp/historical-eod-api
  2. data.nasdaq.com/databases/SEP
  3. tiingo.com/products/
  4. finnhub.io/static/swagger.json
  5. databento.com/pricing
  6. eodhd.com/lp/us-stock-options-api
  7. data.nasdaq.com/databases/PHOTOEOD
  8. databento.com/options
  9. eodhd.com/financial-apis/api-limits
  10. data.nasdaq.com/databases/SF1
  11. finnhub.io/docs/api
  12. eodhd.com/pricing
  13. data.nasdaq.com/tools/python
  14. tiingo.com/about/pricing
  15. apicostcalc.com/finnhub.html
  16. marketdata.app/docs/account/plan-limits/index.md
  17. sharadar.com/subscribe
  18. finnhub.io/pricing
  19. databento.com/equities

EODHD

7.4/10 40+ years of US history for $16.58/month is the deepest, cheapest combination here, but its options history only reaches back to Q4 2023.

Years of daily history ×2
10/10
Intraday history ×1.5
4/10
Cost of deep history ×2
9/10
Adjustment control ×1
7/10
Bulk delivery ×1
8/10
Options history ×1
4/10

Strengths

  • 40+ years of US history, 20+ years international
  • $16.58/mo (annual) EOD tier includes adjusted and delisted-ticker data
  • Whole-exchange bulk downloads available

Weaknesses

  • Options history only since Q4 2023 (2.5+ years)
  • Intraday history depth for stocks is not clearly published outside the Extended add-on tier

EODHD reaches 40-plus years of US history, adjusted and delisted tickers included, for $16.58 a month billed annually. Its options history only reaches back to the fourth quarter of 2023, about two and a half years.

Market Data

6.3/10 Daily history back to 2010 is unlimited on Trader at $30 a month billed annually, with adjustment switchable per request and options chains back to 2010, but Starter stops at 5 years and there are no flat files.

Years of daily history ×2
6/10
Intraday history ×1.5
3/10
Cost of deep history ×2
8/10
Adjustment control ×1
9/10
Bulk delivery ×1
4/10
Options history ×1
8/10

Strengths

  • Unlimited history from Trader, $30/mo annual
  • Split and dividend adjustment can be turned off per request
  • End-of-day options chains back to 2010

Weaknesses

  • Starter caps history at 5 years
  • No flat-file bulk delivery; multi-symbol calls only

Our candles run back to 2010, unlimited depth on the Trader plan at $30 a month billed annually, split-adjusted by default with the unadjusted series available on request. We have no bulk or flat-file delivery, and our options history is unadjusted with no historical greeks.

Nasdaq Data Link

6.1/10 Sharadar prices US equities back to January 1998 with both adjusted and unadjusted series, your choice, for $16.58/month, but options coverage is fragmented single-exchange EOD with no consolidated OPRA chain.

Years of daily history ×2
7/10
Intraday history ×1.5
1/10
Cost of deep history ×2
9/10
Adjustment control ×1
9/10
Bulk delivery ×1
7/10
Options history ×1
2/10

Strengths

  • Sharadar Equity Prices: since January 1998, 21,000+ companies
  • Both adjusted and unadjusted EOD prices offered, your choice
  • Tables API export for bulk delivery
  • $16.58/mo (annual) Sharadar Prices tier reaches the 10-year bar

Weaknesses

  • Options data is fragmented, no consolidated OPRA chain
  • No intraday/minute-level history found -- Sharadar is EOD only
  • Almost every other catalog listing hides its price behind login

Nasdaq Data Link’s Sharadar tables price US equities back to January 1998, adjusted or unadjusted, your choice, for $16.58 a month billed annually. Its options coverage is fragmented, single-exchange EOD data with no consolidated OPRA chain.

Tiingo

6.1/10 30+ years of EOD history and 1-minute bars since 2017 are included on the $0 Starter free tier itself, but there is no options product at all.

Years of daily history ×2
8/10
Intraday history ×1.5
7/10
Cost of deep history ×2
10/10
Adjustment control ×1
3/10
Bulk delivery ×1
2/10
Options history ×1
0/10

Strengths

  • 30+ years of US equity history, included free on the Starter tier
  • 1-minute bars since 2017
  • 70M+ news articles indexed alongside the price history

Weaknesses

  • No options product at all, not even end-of-day
  • No bulk/flat-file delivery published
  • Full real-time TOPS feed needs a separate signed IEX Exchange agreement since 2025-02-01

Tiingo includes 30-plus years of US history and one-minute bars since 2017 on its free, $0-a-month Starter tier. It sells no options product at any price.

Finnhub

5.9/10 Bulk 1-minute/BBO/trade downloads reach back to 1994, but there is zero options endpoint anywhere in its 116-path Swagger schema.

Years of daily history ×2
8/10
Intraday history ×1.5
9/10
Cost of deep history ×2
4/10
Adjustment control ×1
4/10
Bulk delivery ×1
9/10
Options history ×1
0/10

Strengths

  • Bulk data (1-minute/BBO/trade) back to 1994-01
  • /stock/candle daily data is split-adjusted
  • Bulk downloads plus a separate SEC dataset

Weaknesses

  • Zero options endpoints found (0 of 116 Swagger paths)
  • Reaching the premium-flagged history endpoint needs the $49.99/mo marketdata-basic SKU, with no published annual discount
  • Intraday /stock/candle data is unadjusted

Finnhub’s bulk one-minute and trade downloads reach back to 1994, deeper than most on this list, but it has zero options endpoints in its own published schema.

Databento

5.5/10 16+ years of nanosecond-timestamped tick history exists on Plus/Unlimited, but the named US-equities dataset itself only reaches back to 2018, and there is no flat 10-year plan at any price -- access.history_10y is flatly 'no'.

Years of daily history ×2
6/10
Intraday history ×1.5
10/10
Cost of deep history ×2
0/10
Adjustment control ×1
2/10
Bulk delivery ×1
9/10
Options history ×1
9/10

Strengths

  • 16+ years of L0 (trade/OHLCV) history on Plus/Unlimited plans
  • Batch downloads plus PCAP bulk delivery
  • Tick-level options history since 2013

Weaknesses

  • No 10-year daily US-stock history product at any flat published price
  • The named 'Databento US Equities' dataset itself only reaches back to 2018 (DBEQ Basic: April 2023)
  • Cheapest flat real-time plan is $199/month with no free tier

Databento’s tick history is nanosecond-timestamped, but its named US-equities dataset itself only reaches back to 2018, so it’s the one provider here that doesn’t clear the 10-year bar at any price.

What does 10 years of historical stock data cost, with options history too?

Comparable access, the full plan a 10-year daily history needs:

What 10+ years of daily us stock prices through an api costs at each provider
ProviderWhat you must buyPer month, billed monthlyPer month, billed annuallyWhat it includes
Alpaca 1Free Basic plan (partial)FreeFreeFree plan: about 7 to 10 years of history; official pages disagree on the exact depth.
Tiingo 2Starter (Free)FreeFreeFree Starter tier includes 30+ years of EOD history, capped at 1,000 requests/day.
Tradier 3LiteFreeNo annual planFree with any account: daily history for a company's entire lifetime, past 10 years.
Marketstack 4Basic$9.99/mo$8.99/moBasic gives 10 years of daily EOD history; an open issue reports ETF history truncated.
Wisesheets 5Stock API ProNot published$15.01/moStock API Pro gives 15 years of history via REST API, billed annually; data is delayed.
EODHD 6EOD Historical Data - All World$19.99/mo$16.58/moCheapest paid tier includes 40+ years of US stock history, well past 10 years.
Nasdaq Data Link 7Sharadar Prices, 10-year tier$19/mo$16.58/moSharadar's direct 10-year tier gives 10+ years of daily EOD prices, personal-use license.
Market Data 8Trader$75/mo$30/moTrader gives unlimited history back to 2010; Starter caps history at 5 years.
Alpha Vantage 9Premium 1 (or any higher premium tier)$49.99/mo$41.58/moPremium 1 unlocks full history back to 1999; the free tier caps at 100 daily bars.
Finnhub 10marketdata-basic$49.99/moNo annual planCheapest paid SKU unlocks history to 1994; the exact tier and price are not published.
Financial Modeling Prep 11Professional (also called Premium)Not published$59/moProfessional/Premium ($59/mo) gives up to 30 years of daily history; Starter caps at 5.
Massive 12Stocks Developer$79/mo$63.2/moStocks Developer gives 10 years of daily history via API; live quote is 15-min delayed.
Twelve Data 13Grow (Individual)$79/mo$66/moGrow reaches full history back to about 1980; free Basic is limited to trial symbols.
Intrinio 14Individual$150/moNo annual planIndividual plan includes US EOD history; the data itself covers over 50 years.
ORATS 15Delayed Data API$199/moNo annual planDelayed Data API gives 19 years of daily stock history, bundled with the options pipeline.
Barchart 16OnDemand (API)Not publishedNot publishedOnDemand gives daily history; depth and price are not published, sales-assisted.
ThetaData 17Stocks retail tierNot publishedNot publishedStocks retail tier gives history back to 2012; price for full depth is not published.
Price sources for this table
  1. alpaca.markets/data
  2. tiingo.com/about/pricing
  3. docs.tradier.com/docs/historical-data.md
  4. marketstack.com/pricing
  5. wisesheets.io/api
  6. eodhd.com/pricing
  7. sharadar.com/subscribe
  8. marketdata.app/docs/account/plan-limits/index.md
  9. alphavantage.co/documentation/
  10. finnhub.io/pricing
  11. site.financialmodelingprep.com/developer/docs/pricing
  12. massive.com/pricing
  13. twelvedata.com/pricing
  14. intrinio.com/financial-market-data/stock-prices-eod
  15. orats.com/data-api
  16. barchart.com/ondemand/api
  17. thetadata.net/pricing

EODHD and Nasdaq Data Link both land near $16.58 a month billed annually; ours is $30. Five or more years of end-of-day options chains on top of that costs:

What 5+ years of end-of-day us options chains costs at each provider
ProviderWhat you must buyPer month, billed monthlyPer month, billed annuallyWhat it includes
Market Data 1Starter$30/mo$12/moStarter includes 5 years of unadjusted EOD options history, from data back to 2010.
Barchart 2Premier (partial)$19.99/mo$19.99/moPremier gives historical options data; years of depth and price are not published.
Alpha Vantage 3Premium 1 (or any higher premium tier)$49.99/mo$41.58/moPremium 1 unlocks historical options back to 2008; not on the free tier.
Sheets Finance 4Options$98/mo$78/moThe standalone Options product gives 20+ years of EOD OPRA history, expired included.
ThetaData 5Options Standard$80/moNo annual planOptions Standard gives 8 years of EOD and tick-level options history with full NBBO.
Cboe DataShop 6Option EOD Summary — full market$300/mo$125/moFull-market EOD options history since 2012; price is an estimate, not a published rate.
Massive 7Options Advanced$199/mo$159.2/moOptions Advanced gives 5+ years of EOD options history, bundled with real-time delivery.
ORATS 8Delayed Data API$199/moNo annual planDelayed Data API gives EOD options chains with greeks and IV back to 2007.
Databento 9Usage-based OPRA.PILLAR historyNot publishedNot publishedUsage-based OPRA history back to 2013, billed from $0.04/GB; no flat monthly price.
Intrinio 10Individual plus a bulk-history purchaseNot publishedNot publishedIndividual includes about 2 years of options history; 5+ years needs an unpriced bulk buy.
Price sources for this table
  1. marketdata.app/docs/account/plan-limits/index.md
  2. barchart.com/get-barchart-premier
  3. alphavantage.co/documentation/
  4. sheetsfinance.com/docs/pricing-and-plans-xgwqy
  5. thetadata.net/pricing
  6. datashop.cboe.com/option-eod-summary
  7. massive.com/pricing?product=options
  8. orats.com/data-api
  9. databento.com/options
  10. intrinio.com/options/eod-historical-options

Our Starter plan, $12 a month billed annually, already includes five years of options history out of data that itself runs back to 2010.

Why did our historical stock prices not match another provider’s numbers?

Our biggest verified pricing dispute of 2026 involved an institution’s software team valuing donated stock for tax purposes under IRS Publication 561. Their engineer reported our candles didn’t match other quoting services on specific dates, and a re-query of the same historical date weeks later returned different numbers than the first query had.

With our agreement, the customer withheld a subscription payment for five weeks, from mid-April to May 20, 2026, until the dispute closed.

The fix was two query parameters: adding adjustsplits=false&adjustdividends=false to the request made all five reported discrepancies disappear, because a value already adjusted for a split or dividend is not the price that traded on that date, and it changes again whenever a new corporate action occurs. We also found and disclosed a separate, real defect: a small number of OHLC values were losing their third significant decimal, filed and tracked internally as api#106.

How do we adjust historical stock prices for splits and dividends?

An adjusted price is rewritten so a chart looks continuous across a split or spin-off. We adjust daily candles for splits and corporate actions by default and never for dividends, and the as-traded, unadjusted series sits on the same endpoint, one parameter away.

When should you not use Market Data for historical stock prices?

Use another provider if you need bulk flat-file delivery or historical greeks for an options backtest. Nasdaq Data Link and EODHD sell the first; ThetaData sells the second, and we sell neither.

Our own historical stock data API documents the adjustment parameters named above, and the overall ranking of financial data providers compares all 19 sources on more than history. For options history specifically, our options data providers ranking goes deeper. The IRS’s own Publication 561 sets the valuation rule the institutional case above was built on.