15-minute historical stock data
15-minute OHLCV bars for 6,924 US stocks back to January 2000, built from our 1-minute record. 26 bars cover a regular session: the bar size swing and intraday-trend traders use most.
What 15-minute bars look like
| Time | Open | High | Low | Close | Volume |
|---|---|---|---|---|---|
| 09:30 | 340.77 | 344.75 | 340.12 | 344.10 | 2,721,287 |
| 09:45 | 344.11 | 344.90 | 343.16 | 344.64 | 1,131,744 |
| 10:00 | 344.63 | 346.00 | 344.51 | 345.24 | 1,482,507 |
| 10:15 | 345.22 | 345.77 | 345.11 | 345.20 | 856,240 |
| 10:30 | 345.19 | 345.44 | 344.30 | 344.48 | 573,963 |
26 15-minute bars cover a regular session; AAPL had 64 on October 19, 2026 counting pre-market and after-hours. A year of regular-session 15-minute bars is about 6,552 rows per stock. Download a free sample file.
Get 15-minute bars in Python
import finzdata as yf
# yfinance-style
df = yf.Ticker("AAPL").history(start="2015-01-01", end="2015-02-01", interval="15m")
# or the client, with split- and dividend-adjusted prices
c = yf.Client()
bars = c.minutes("AAPL", start="2015-01-02", end="2015-01-31", interval="15min", adjust="all")Or call the REST API directly:
curl -H "X-API-Key: $FINZDATA_API_KEY" "https://data.finzdata.com/v1/prices/minute?symbol=AAPL&start=2024-01-02&end=2024-01-05&interval=15min&format=csv"What 15-minute bars are used for
Intraday trend and swing entries
Long enough to filter minute-by-minute noise, short enough to place entries and stops within the day.
Opening range breakouts
The first 15-minute bar (9:30 to 9:44) is the classic opening range; test breakouts across thousands of stocks and decades.
Session-segment analysis
Compare the open, midday and close: 26 bars a day split the session cleanly into quarter hours.
Multi-timeframe models
Pair 15-minute signals with daily trends, from the same API and the same adjustment rules.
Coverage
6,924 US stocks listed on the NYSE and Nasdaq have intraday history. How many start by each year:
| Intraday history starting by | US stocks |
|---|---|
| 2000 | 1,070 |
| 2005 | 1,528 |
| 2010 | 2,393 |
| 2015 | 3,103 |
| 2020 | 4,320 |
| Today | 6,924 |
Daily bars go further: every one of 16,000+ US stocks since 2000, delisted names included. See historical stock data.
How the bars are built
Every intraday bar is built from FinzData's 1-minute record. Bars are aligned to the clock and stamped at the start of the interval in US Eastern time. Open is the first minute's open, close the last minute's close, high and low the extremes, volume the sum. Minutes with no trades are left out, never forward-filled. Sessions: pre-market 4:00 to 9:30, regular 9:30 to 4:00, after-hours 4:00 to 8:00 p.m. Prices are stored as traded; ask for split- and dividend-adjusted prices with adjust="all".
Plans
1-minute, 5-minute, 15-minute and 30-minute bars come with the 25-year ($575), 30-year ($670) and Institutional ($975) history bundles, or for a single stock from $19 in the shop. Tick-level trades come with Institutional.
Frequently asked questions
How many 15-minute bars are there per day?
26 in the regular session and up to 64 with pre-market and after-hours. AAPL had 64 on October 19, 2026.
How are 15-minute bars built?
From 1-minute bars, aligned to the clock and stamped at the start: the 9:30 bar covers 9:30:00 to 9:44:59.
How far back does 15-minute data go?
To January 2000 for 1,070 stocks, 2010 for 2,393 and 2020 for 4,320.
Which plan includes 15-minute bars?
The 25-year, 30-year and Institutional bundles, or a single stock from $19 in the shop. Free samples show the exact format.
Other bar sizes
1-Minute bars · 5-Minute bars · 30-Minute bars · Hourly bars · Daily bars · Tick data