Intraday data

Hourly historical stock data

Hourly (1-hour) OHLCV bars for 6,924 US stocks back to January 2000, built from our 1-minute record and included in every history bundle.

Get a free API key See pricing Download free samples

What hourly bars look like

AAPL hourly bars, October 19, 2026 (US Eastern, start-stamped, unadjusted)
TimeOpenHighLowCloseVolume
09:00341.57344.90340.00344.644,023,103
10:00344.63346.00343.64343.993,584,034
11:00343.96344.04341.90341.962,690,468
12:00341.98342.35341.15341.791,879,356
13:00341.79343.17341.61342.891,488,605

7 hourly bars cover a regular session; AAPL had 16 on October 19, 2026 counting pre-market and after-hours. A year of regular-session hourly bars is about 1,764 rows per stock. Download a free sample file.

Get hourly bars in Python

import finzdata as yf

# yfinance-style
df = yf.Ticker("AAPL").history(start="2015-01-01", end="2015-02-01", interval="1h")

# 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="1hour", 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=1hour&format=csv"

What hourly bars are used for

Swing trading research

Hourly bars show intraday structure for trades held one to several days, at a fraction of the data size.

Overnight and pre-market moves

Hours from 4:00 a.m. to 8:00 p.m. Eastern show where the gap formed before the open and after the close.

Volatility by hour of day

Measure realized volatility for each hour across years to size positions and time execution.

A first step into intraday data

Hourly bars come with every bundle, so you can start intraday research before moving to minute bars.

Coverage

6,924 US stocks listed on the NYSE and Nasdaq have intraday history. How many start by each year:

Intraday history starting byUS stocks
20001,070
20051,528
20102,393
20153,103
20204,320
Today6,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

Hourly bars are included in every history bundle, from 5 years for $195, and for a single stock from $19 in the shop. Tick-level trades come with Institutional.

Frequently asked questions

How many hourly bars are there per day?

Up to 16 from 4:00 a.m. to 8:00 p.m. Eastern. Bars are aligned to the clock, so the 9:00 bar holds 9:00 to 9:59, which includes pre-market minutes before the 9:30 open.

Which plan includes hourly bars?

Every history bundle, from 5 years for $195, or a single stock from $19 in the shop.

How far back does hourly data go?

To January 2000 for 1,070 stocks, 2010 for 2,393 and 2020 for 4,320.

How do I get hourly bars in Python?

yf.Ticker("AAPL").history(interval="1h", start="2015-01-01"), or Client().minutes("AAPL", interval="1hour").