Massive vs Alpha Vantage vs yfinance: what the free tiers actually give you

Three free sources of US price history, metered in three different units and adjusted three different ways — and not one of them licensed for a product.

Three free tiers, three different units

The cards above each say "free", and the word is quoted in a different unit every time.

  • Alpha Vantage meters requests per day: 25 of them on a free key. Each daily request returns the latest 100 bars for one symbol; outputsize=full is premium. The weekly and monthly series come back in full.
  • Massive meters requests per minute: five on the free Basic plan, end-of-day data only, with two years of history and no WebSocket.
  • yfinance meters nothing you can read. Neither the library nor Yahoo publishes a quota; Yahoo's API terms reserve rate limits to its "absolute and sole discretion", and you learn where the line is from a YFRateLimitError.

None of these can be converted into another until you name the job. So take the job most readers of this page actually have: daily bars for a few hundred US stocks, going back as far as the free tier allows.

What a backfill costs on each

Massive has the endpoint that changes the arithmetic. The grouped daily call, /v2/aggs/grouped/locale/us/market/stocks/{date}, returns open, high, low, close, volume and VWAP for every US stock on one date, and it is included on the free plan. Two years is about 500 trading days, so the whole US market for two years is about 500 requests. At five a minute that is about 100 minutes, and the universe is every listed stock rather than the few hundred you asked for.

Alpha Vantage cannot produce the same thing for free at any speed. A free key gets 100 daily bars per symbol, which is under five months, and 25 symbols a day. Five hundred stocks takes 20 days of requests and still ends at 100 bars each. The free key is built for checking that your code parses a response, not for filling a database. Weekly and monthly bars are the exception: those return the full history on a free key.

yfinance hands back the most years per call. download() takes a list of tickers and a period of up to max, and it runs the downloads on threads. What it cannot tell you is whether the 500-ticker run will finish, because the ceiling is Yahoo's and unpublished. Intraday bars stop at the last 60 days whatever you ask for.

So for daily US history the order is not the one the brand names suggest. The free tier of the paid vendor gives more than the free library, provided two years is enough.

Three sources, three adjustments

This is where mixing the three goes wrong, and none of the cards can show it alone.

  • yfinance.download() has auto_adjust=True by default: every OHLC column is rescaled by Yahoo's adjusted close, which Yahoo adjusts for splits and dividends.
  • Massive's aggregates are adjusted for splits by default, and the parameter says nothing about dividends.
  • Alpha Vantage's free TIME_SERIES_DAILY is raw, as traded. The adjusted series, TIME_SERIES_DAILY_ADJUSTED, is a premium endpoint.

A four-for-one split therefore appears as a 75% overnight drop in the Alpha Vantage free series, and as nothing at all in the other two. Dividends split the other pair: every bar before an ex-dividend date sits lower in the yfinance series than in the Massive one, by the dividend as a fraction of the price, and the gap compounds with each dividend going back. A backfill stitched from two of these sources to get round one free limit contains both errors. Keep one source per series, or pull the split and dividend records and do the adjustment yourself.

When the free tier stops being enough

The two paid ladders buy different things first.

  • Massive Starter, $29 a month, removes the request cap entirely and adds flat files and the WebSocket, with five years of stocks history. The data is still 15 minutes delayed, and it stays delayed on Developer at $79. Real-time stocks data starts at Advanced, $199, which the pricing page marks for non-professionals only.
  • Alpha Vantage at $49.99 buys 75 requests a minute and 15-minute delayed US data. Realtime US data starts at $99.99, with 150 requests a minute. Alpha Vantage describes itself as a Nasdaq-licensed provider of realtime and delayed US data.

For bulk history, Massive is the cheaper next step: unlimited calls at $29 against 75 a minute at $49.99. For a live US quote on a personal budget, the order reverses, at $99.99 against $199. All of these are monthly prices. Massive offers 20% off for annual billing, and Alpha Vantage's annual plans are two months off.

None of them is a licence to ship

The part that ends most side projects is the same on all three.

  • Massive's individual plans, free and paid, are marked individual use only. The Stocks Business plan starts at $2,499 a month.
  • Alpha Vantage's terms grant personal, non-commercial use. They count as commercial any use on behalf of a company, and any activity that lets people other than you access the data directly or indirectly. Commercial use is a conversation with sales, with no published price.
  • yfinance has no licence to give you. Its README says the Yahoo Finance API is for personal use only, and Yahoo's API terms forbid deriving income from the APIs without Yahoo's written permission. The Apache-2.0 licence covers the library's code, not the prices it fetches.

A free tier is a way to find out whether the project works. It says nothing about what the project costs once other people use it, and that number is set by the business price, not by the tier you prototyped on.

Which one, and when

A notebook, a few tickers, markets outside the US: yfinance. It is the only one of the three that returns more than two years of daily bars for nothing, in the US or outside it. Treat it as something that can fail on any given morning.

Daily history for the whole US market, for free: Massive Basic and the grouped daily endpoint, as long as two years is enough. When you need more history or more speed, Starter at $29 lifts the cap before anything else does.

A small, contracted bill for live US quotes, or one key for global end-of-day data: Alpha Vantage, paid. Its free key is for testing your parser, not for backfills.

Anything other people will see: none of these tiers. Price the business plan first. The rest of the category, including providers built around non-US markets, is on the market data APIs page.

FAQ

Which free tier gets me the most daily history?

Massive's, by a wide margin, as long as two years is enough. Its free Basic plan allows five requests a minute, and one request to the grouped daily endpoint returns every US stock for one date, so two years of the whole market takes about 500 requests and about 100 minutes. A free Alpha Vantage key gets 25 requests a day and only the latest 100 daily bars per symbol. yfinance returns more years per call but publishes no limit at all.

Is any of these free in real time?

No. Massive's free plan is end-of-day, and its stocks data stays 15 minutes delayed until the $199 Advanced plan. A free Alpha Vantage key gets end-of-day quotes, with 15-minute delayed US data from $49.99 a month and realtime from $99.99. yfinance has no paid tier and no contract, so there is no real-time entitlement to buy.

Can I put data from any of these in an app other people use?

Not on the free tiers, and not on the individual paid tiers either. Massive's individual plans are marked individual use only, and its Stocks Business plan starts at $2,499 a month. Alpha Vantage's terms count anything that lets other people access the data as commercial use and send you to sales. yfinance reads Yahoo endpoints whose terms forbid deriving income from them without Yahoo's written permission.

Why does the same stock show a crash in one series and not in another?

Because the three sources adjust differently by default. yfinance's download adjusts all prices automatically, Massive adjusts for splits only, and Alpha Vantage's free daily series is raw, as traded. A four-for-one split then shows up as a 75% drop in the raw series and nowhere in the others. Pick one source per series, or re-adjust everything yourself from split and dividend records.

Report an error on this page

Quote the line and say what it should be.

The vendor’s page, filing or documentation that says otherwise.

Only if you want to hear back. Never published.

Read by a person. It fixes a fact and moves nothing else.

Anything else — a question this page leaves open, a tool it should be compared with? Write to feedback@stockmarketstack.com.