Stock API

Stock API for Python, built for backtesting

One API key for 16,000+ US stocks since January 2000, delisted names included (survivorship-free), 231 ETFs, daily, hourly, 5-minute and 1-minute bars, plus COT, 13F, short interest, fundamentals and macro. The Python client mirrors yfinance, so existing code keeps working.

Get a free API key See pricing Download free samples

Get stock prices in three lines

import finzdata as yf                     # pip install finzdata
df = yf.Ticker("AAPL").history(start="2025-01-01")   # daily OHLCV
c = yf.Client()
c.prices("LEHMQ-DELISTED", adjust="all")   # delisted names too (look-back plans)

Prices are stored as traded and adjusted on read: adjust='none', 'splits' or 'all' (splits and dividends). Responses come back as pandas DataFrames, or as JSON, CSV or Parquet over REST.

What the stock API covers

  • Daily OHLCV for every US-listed stock since 2000, including the ones that later delisted
  • Intraday bars: hourly, 5-minute and 1-minute (intraday data)
  • Splits and dividends as dated events, company profiles, sectors and industries
  • Positioning and ownership: COT, 13F holdings, short interest, insider trades
  • SEC fundamentals and financial statements, point in time; 350+ macro series with every revision

Free, then pay for history

The free key returns the last 12 months of daily bars and of every other dataset, with 1,000 calls a day. Longer history is bought once by look-back: $195 for the first 5 years, $95 for each further 5, plus $19.95 a month for daily updates. See pricing.

Frequently asked questions

Is there a free stock API?

Yes. A free FinzData key returns the last 12 months of daily US stock prices and every other dataset, 1,000 calls a day, with no card.

Does the stock API include delisted stocks?

Yes. Delisted names keep their full history, so backtests are free of survivorship bias. Older history comes with a look-back plan.

Can I use it like yfinance?

Yes. yf.Ticker("AAPL").history(), .info, .financials and other familiar calls work, with clean, licensed data and no download limits on paid plans.

What formats does the API return?

pandas DataFrames in Python; JSON, CSV and Parquet over REST.