Skip to main content
By Fruit Stand Team · November 4, 2026 · Comparisons Yes, yfinance still works for small, personal pulls. On November 4, 2026 it returned 10 years of daily prices for 498 of 500 US stocks in 17 seconds. But it’s unofficial, for personal use only, and rate-limited without published limits, and Yahoo dropped Kenvue’s history two days after it was acquired. For anything repeatable or commercial, use a licensed source. Below is what we tested, where yfinance breaks, what Yahoo’s own download costs now, and the alternatives by how much data you need.
Fruit Stand publishes the Historical Stock Prices listing, one of the alternatives below. The yfinance tests were run with yfinance 1.8.0 from a US home connection, and the prices were checked against our data.

What we tested

For a notebook, a class project or a personal watchlist, that’s plenty.

Where yfinance breaks

  • Rate limits with no published number. Yahoo answers too many requests with YFRateLimitError: Too Many Requests. Users in the project’s own GitHub discussion report blocks lasting more than 24 hours, worse from VPNs and cloud servers, and the maintainer’s answer is to cache and request less: “Stop spamming Yahoo.” A full-market backfill, or a scheduled job on a cloud VM, is where this hits.
  • Personal use only. yfinance’s README says it isn’t affiliated with Yahoo, is meant for research and education, and that Yahoo’s API is for personal use only. Anything client-facing or commercial needs a source licensed for it.
  • Delisted tickers vanish. Kenvue last traded on October 30, 2026 and Kimberly-Clark completed the acquisition on November 2. Two days later, yfinance returned nothing for KVUE, not even its history. A backtest that includes it now silently drops it. Our table still has all 877 of its trading days.
  • Ticker formats. Yahoo uses its own symbols for share classes, preferreds and warrants, so some tickers from another source come back empty, as IONQ-WS did.
  • “Close” is adjusted by default. yfinance sets auto_adjust=True, so its Close column is the split- and dividend-adjusted close unless you turn that off. Mixing it with as-traded prices from elsewhere gives wrong returns. Why Don’t My Historical Stock Prices Match Yahoo Finance? covers the differences in detail.
  • No guarantees. It depends on Yahoo’s web endpoints, which change without notice. When they do, it breaks until the project ships a fix.

Yahoo’s own download is now paid

The download button on Yahoo Finance’s Historical Data page is no longer free. Yahoo’s help page says downloading historical data needs a Yahoo Finance Gold subscription, which is $39.95 a month billed yearly ($479.40 a year). You can still view the table in the browser, and yfinance doesn’t use the button, so it isn’t affected. The Gold download is still one ticker at a time.

The alternatives

Prices and limits were checked on each provider’s site on November 4, 2026. How to choose:
  • A few tickers for yourself: yfinance is still fine. Cache what you download, and don’t rerun the full history every time.
  • A script across many tickers: a paid API with a clear license, such as Tiingo or EODHD, so a rate limit or a terms question doesn’t stop the job.
  • Prices in a warehouse, for a team: a Snowflake Marketplace listing puts every ticker in a table with no download or loading code. Stock Price Datasets on the Snowflake Marketplace, Compared covers the options, and Snowflake’s Free Stock Prices vs. Paid shows how the free tier’s prices differ.

Replacing a yfinance call with SQL

A typical yfinance pull:
The same data from the Historical Stock Prices listing:
close is the as-traded close and adjusted_close matches Yahoo’s Adj Close. To pull every ticker, drop the code filter: there’s no request limit, only your warehouse’s compute. For the other ways to load prices into Snowflake, see How to Get Historical Stock Prices into Snowflake (3 Ways).

F.A.Q.

Yes, as of November 4, 2026, with yfinance 1.8.0. It can stop working for hours or days when Yahoo rate-limits your IP or changes its endpoints, so don’t build anything that must run on schedule on it.
The library is free and open source. The data comes from Yahoo, whose terms limit it to personal use.
As far back as Yahoo has it, usually to the stock’s listing date. For Apple, that’s December 12, 1980. Yahoo says its historical prices usually don’t go back earlier than 1970.
Only with a Yahoo Finance Gold subscription, at $479.40 a year, one ticker at a time. Viewing the Historical Data table in the browser is still free.
No. yfinance is an open-source Python library that isn’t affiliated with Yahoo. It reads the same data Yahoo Finance’s website shows.
To query daily prices for every US stock, ETF and mutual fund in SQL, with no rate limits, 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.