Skip to main content
By Fruit Stand Team · November 4, 2026 · Comparisons End-of-day prices for every US stock come in bulk three ways: free files such as Stooq’s (personal use only), paid bulk APIs and flat files such as EODHD, EODData and Massive, or a warehouse table on the Snowflake Marketplace. One US trading day is about 42,000 rows, and full history is about 155 million. Below are the options side by side, what “bulk” costs beyond the price, and which fits which job.
Fruit Stand publishes the Historical Stock Prices listing, one of the options below. Every provider’s price, history and terms were checked on its own site on November 4, 2026. The row counts are from our own data.

The options compared

The free Snowflake row is covered in detail in Snowflake’s Free Stock Prices vs. Paid.

How big is “every US stock”?

From the Historical Stock Prices listing, November 2026: About two-thirds of the stocks have a row on a given day. The rest are mostly OTC securities that don’t trade every day, plus securities that have stopped trading. Mutual funds are the biggest share of rows, so leave them out if you only need exchange-traded securities.

What bulk costs beyond the price

  • Backfilling history. A per-day bulk endpoint gives you one day per request. Thirty years is about 7,500 trading days. On EODHD that’s 7,500 requests at 100 calls each, or 750,000 calls, which is about 8 days at its 100,000-calls-a-day plans. Flat files and warehouse tables skip this step.
  • Keeping adjustments current. When a stock splits or pays a dividend, its adjusted history before that date changes. A daily file only gives you the new day, so your stored adjusted prices drift unless you refetch that ticker’s history or apply the adjustment factors yourself. In our own pipeline, any security with a new split or dividend has its full history refetched, and every security is restated twice a week to catch anything missed.
  • Delistings and ticker changes. Acquired and delisted companies drop out of daily files, and some sources drop their history too. Is yfinance Still Usable? shows Kenvue’s history disappearing from Yahoo two days after its acquisition closed.
  • Licensing. Stooq and Massive’s individual plans are for personal use. For a team or a product, pick a plan licensed for it.
  • Loading. Files and APIs end in your own tables, so you also build the loader, the schedule and the checks for duplicates and bad prices.

Which should you choose?

  • A personal project, free: Stooq’s daily ZIP covers it, within its personal-use terms.
  • A one-time history purchase: EODData sells each exchange’s history outright, but it’s split-adjusted only, so calculate dividend-adjusted returns yourself.
  • Your own database, updated daily: a per-day bulk API (EODHD or FMP), Massive’s flat files, or Databento if you want the official consolidated close and only need recent years. Budget time for the backfill and for re-adjusting history when corporate actions post.
  • Already on Snowflake: a Marketplace listing, such as Fruit Stand’s Historical Stock Prices, gives you the full history as tables, with nothing to load or re-adjust. To weigh it against the other eight stock price listings, including Snowflake Curated Data, CRSP, Bloomberg and EDI, Stock Price Datasets on the Snowflake Marketplace, Compared lines them up on history, update time, columns and price, with a which-listing-for-which-job guide. If you’d rather bring your own files or API into Snowflake, How to Get Historical Stock Prices into Snowflake (3 Ways) walks through each route step by step, with the SQL to check your load.

Every US stock in one query

With the listing, “every US stock” is a filter, not a download. One day for every stock and ETF that traded:
On November 3, 2026 that returned 18,038 rows. Drop the date filter for the full history. For the full list of tickers, see How to Get a List of Every US Stock and ETF Ticker in SQL.

F.A.Q.

About 42,000 in our data for November 3, 2026, including mutual funds, or about 18,000 for stocks and ETFs alone. EODHD’s documentation counts 44,376 US rows for August 18, 2026.
Usually not. Stooq says its data is for personal use only, and Yahoo-based tools carry the same limit. Commercial use needs a provider’s commercial plan or license.
It varies. EODData’s history is adjusted for splits but not dividends. Nasdaq Data Link’s North American EOD includes adjustment factors. Check whether a source restates past adjusted prices when a new split or dividend posts.
Depends on the source: EODHD’s bulk endpoint reaches 1990, Nasdaq Data Link’s North American EOD starts in 2001, Databento has 8+ years, and Massive’s plans range from 5 to 20+ years. Our listing goes back to each security’s first trading day, as early as 1962.
To get end-of-day prices for every US stock, ETF and mutual fund as tables in Snowflake, start a free 30-day trial of the Historical Stock Prices listing on the Snowflake Marketplace. The schema is in the dataset docs. Questions? Reach out at contact@fruitstand.dev.