Free OHLCV Data

Free OHLCV Data API

OHLCV — Open, High, Low, Close, Volume — is the standard shape for a single trading session's price action. StashGamma's free API returns exactly this, one daily bar per row, for U.S.-listed stocks going back 15 years.

$0

No card required

15 yrs

Daily OHLCV history

300/hr

Free-tier rate limit

What each field means

FieldTypeMeaning
datestringTrading date, YYYY-MM-DD.
opennumberFirst traded price of the session.
highnumberHighest traded price of the session.
lownumberLowest traded price of the session.
closenumberLast traded price of the session.
volumenumberTotal shares traded during the session.

Response shape

{
  "symbol": "QQQ",
  "from": "2026-07-01",
  "to": "2026-08-01",
  "count": 23,
  "bars": [
    { "date": "2026-07-01", "open": 611.2, "high": 614.8, "low": 609.5, "close": 613.1, "volume": 28451200 },
    { "date": "2026-07-02", "open": 613.4, "high": 615.0, "low": 611.9, "close": 614.2, "volume": 24310500 }
  ]
}

Bars are objects, not parallel arrays — index straight into bar.close without tracking a separate column-order map.

What OHLCV is used for

Candlestick charts

Open/high/low/close map directly onto a candle; volume drives the bar underneath.

Indicators & screens

Moving averages, RSI, and most technical indicators are computed directly from the close (or high/low/close) series.

Frequently asked questions

Is this OHLCV API actually free?

Yes — the free tier requires no credit card and isn't a trial. It's rate-limited (300 requests/hour, 800/day, 4,000/week per key) but usable indefinitely.

Is the OHLCV data daily, or can I get intraday bars?

Daily bars only (one row per trading session) — the endpoint takes a symbol plus a from/to date range and returns one open/high/low/close/volume bar per day. There's no intraday interval parameter on the free API.

How far back does the OHLCV history go?

15 years of daily bars for any U.S.-listed stock symbol, subject to how long that symbol has actually traded.

Can I download OHLCV data as CSV, or only JSON?

The API itself returns JSON (see the response shape below) — each bar is a plain object, not a parallel array, so it maps directly onto a CSV row or a DataFrame if you need one.

Do I need to know how to code to use this?

It's a REST API, so yes, some code (or a notebook) is expected — see the quickstart guide below for copy-paste examples in Python, Node, and other languages.

Ready to pull real bars? Start with the quickstart guide, or see the full API reference for auth, rate limits, and error codes.

Ready to pull your first bars?

Free forever, no credit card — get a key and start today.

Get Started Free