Get started
Comparison

A Yahoo Finance API alternative:
stop patching yfinance.

Yahoo Finance has no public API. yfinance and similar libraries scrape undocumented endpoints that change, rate-limit and break without notice, and Yahoo's terms forbid automated collection and commercial reuse. OHLC is a documented, supported API for stocks and ETFs in the U.S., Canada, the UK, Europe and Australia, licensed for what you are building.

Competitor details checked from their public sites.

It keeps working

Versioned endpoints, published limits and stable error types. No crumbs, cookies or overnight 429s to patch around.

You are allowed to use it

Personal, internal and customer-facing use each have a published plan. Yahoo's terms forbid automated collection and commercial reuse.

The numbers are exact

Prices arrive as decimal strings: 187.44 stays 187.44, not 187.44000244140625.

Yahoo Finance vs OHLC at a glance

Yahoo details from legal.yahoo.com, help.yahoo.com and the yfinance project as of October 4, 2026.
OHLCYahoo Finance
Official APINo. Yahoo retired its finance APIs in 2017; today's access goes through undocumented endpoints such as query1.finance.yahoo.com.
Terms of useYahoo's terms forbid collecting data by automated means without permission and reusing it for any commercial purpose. yfinance describes itself as for research and educational use.
ReliabilityNo published limits; 429 Too Many Requests errors and crumb or cookie requirements appear without notice, and libraries must be patched to keep working.
Data formatFloating-point numbers, Unix timestamps at each session's open, parallel arrays.
PriceFree to call. Yahoo's paid Bronze, Silver and Gold subscriptions do not include API access.
CoverageGlobal stocks, ETFs, funds, indices, currencies and crypto as shown on the Yahoo Finance website.
LatencyWebsite quotes are real-time or delayed by exchange.
AI and MCPNo official MCP server.

Why developers move from yfinance to OHLC

  • You are building something that has to keep working. A supported API with published limits does not change shape overnight or start returning 401 and 429 errors to unknown clients. Unofficial Yahoo endpoints have done both.
  • You need the right to use the data. Yahoo's terms forbid automated collection without permission and any commercial reuse. OHLC's plans state what you may do, from personal projects to products your customers pay for.
  • You want exact numbers. OHLC returns prices as decimal strings, so 187.44 stays 187.44; Yahoo's chart data comes back as floats such as 222.77000427246094.
  • You want control over adjustment. OHLC returns as-traded prices by default and back-adjusts with adjustment=split or adjustment=total_return, from the same endpoint.
  • Backtests that survive ticker changes. Every listing has a stable instrument_id, and as_of and symbol_at answer what was known, and which company held a ticker, on any past date. Renamed, merged and reused symbols stop silently corrupting your history.
  • You want fundamentals and filings with a contract. Financial statements, dividends, splits, earnings and SEC filings are documented endpoints on every plan, including Free.

When Yahoo Finance is still fine

For looking at a chart by hand, a one-off personal download, or international listings, the Yahoo Finance website is free and covers markets worldwide. Once code depends on the data, or anyone else will see it, use an API you are licensed to call.

Moving from yfinance to OHLC

A typical yfinance script calls yf.download or Ticker.history. The OHLC equivalent is one HTTP request that returns named rows you can load straight into pandas.

  • Daily bars. yf.download("AAPL MSFT", start=…, end=…) maps to /v1/eod?symbols=XNAS:AAPL,XNAS:MSFT&from=…&to=… (daily bars). Note that OHLC's to date is included in the range.
  • Adjusted prices. yfinance adjusts by default (auto_adjust=True). Use adjustment=total_return for the same idea, adjustment=split for split-only, or leave it off for as-traded prices.
  • Dividends and splits. Ticker.dividends and Ticker.splits map to /v1/dividends and /v1/splits.
  • Financials. Ticker.income_stmt, balance_sheet and cashflow map to /v1/financials/statements.
  • Quotes. Ticker.fast_info and quote lookups map to /v1/quotes or /v1/snapshot (snapshot), delayed at least 15 minutes.
  • Symbols. AAPL becomes XNAS:AAPL; bare U.S. tickers also resolve. Yahoo-style suffixes resolve too: VOD.L is XLON:VOD, RY.TO is XTSE:RY and BHP.AX is XASX:BHP (Pro and above). See symbols.
yf.download for two tickers, as an OHLC requestPython
import os, requests, pandas as pd

r = requests.get(
    "https://api.ohlc.io/v1/eod",
    params={"symbols": "XNAS:AAPL,XNAS:MSFT", "from": "2024-01-02", "to": "2025-12-31", "adjustment": "total_return"},
    headers={"Authorization": f"Bearer {os.environ['OHLC_API_KEY']}"},
)
df = pd.DataFrame(r.json()["data"])

Follow meta.next_cursor for ranges longer than 500 rows (pagination), or see the Python guide. Create a free key to try it on AAPL, NVDA, JNJ, PEP, MSFT, SPY and QQQ, no card required.

Details about Yahoo Finance on this page come from Yahoo's terms of service, Yahoo help pages and the yfinance project as of October 4, 2026, and may change. Yahoo does not publish API documentation. OHLC details reflect our own pricing on the same date.

Sources

Questions, answered.

Is there an official Yahoo Finance API?

No. Yahoo retired its public finance APIs in 2017 and does not publish one today. Libraries such as yfinance call undocumented endpoints and are not affiliated with Yahoo.

Why does yfinance return Too Many Requests errors?

Yahoo rate-limits its unofficial endpoints and changes cookie and crumb requirements without notice. OHLC publishes its limits per plan, and every response reports the credits used and remaining.

Can I use Yahoo Finance data in a commercial product?

Yahoo's terms forbid automated collection without permission and reusing its services for any commercial purpose. On OHLC, Pro covers internal business use and Commercial covers showing data to customers.

Is there a free OHLC plan?

Yes. The Free plan gives 12,500 credits a day on AAPL, NVDA, JNJ, PEP, MSFT, SPY and QQQ with 5 years of history and no card. Developer opens every U.S. stock and ETF for $49 a month.

Does OHLC have adjusted close like Yahoo?

Yes. adjustment=total_return adjusts for splits and dividends, and adjustment=split for splits only. See adjusted prices.

A little JSON.
A lot of possibility.

Explore the API