Aggregate Bars (OHLC)
GET
/futures/v1/aggs/{ticker}Retrieve aggregated historical OHLC (Open, High, Low, Close) and volume data for a specified futures contract ticker over a custom date range and time interval in Central Time (CT). Aggregates are constructed from all trades during the period. If no trades occur within a given timeframe, no aggregate bar is produced, indicating a period of inactivity. Users can tailor their data by adjusting the multiplier and timespan parameters (e.g., a 5-minute bar), supporting a wide range of analytical and visualization needs.
Use Cases: Market monitoring, technical analysis, backtesting, trading strategy development.
Futures Business CME$999/mo
Futures Business CBOT$999/mo
Futures Business NYMEX$999/mo
Futures Business COMEX$999/mo
Plan Accessloading..
Futures BasicFree
8-hour historical
Futures Starter$29/mo
10-minute delayed
Futures Developer$79/mo
10-minute delayed
Futures Advanced$199/mo
Real-time
Futures Business CME$999/mo
Real-time
Futures Business CBOT$999/mo
Real-time
Futures Business NYMEX$999/mo
Real-time
Futures Business COMEX$999/mo
Real-time
Plan Recencyloading..
Futures BasicFree
2 years
Futures Starter$29/mo
2 years
Futures Developer$79/mo
5 years
Futures Advanced$199/mo
All history
Futures Business CME$999/mo
All history
Futures Business CBOT$999/mo
All history
Futures Business NYMEX$999/mo
All history
Futures Business COMEX$999/mo
All history
Plan Historyloading..
Path Parameters
ticker
string
required
The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract).
Query Parameters
resolution
string
The size of each aggregate candle, specified as a number followed by a unit: `sec`, `min`, `hour`, `session`, `week`, `month`, `quarter`, or `year`.
Each unit has a maximum multiplier. For instance, minute candles go up to `59min` — after that, use `1hour`. Requesting an unsupported size returns a `400 Bad Request`.
Each unit has a maximum multiplier. For instance, minute candles go up to `59min` — after that, use `1hour`. Requesting an unsupported size returns a `400 Bad Request`.
window_start
string
Filter by the start time of each candle. Accepts a `YYYY-MM-DD` date or a nanosecond Unix timestamp. The value is snapped to the start of the matching candle interval.
When omitted, the API returns the most recent candles up to `limit`.
Use comparison suffixes to query a range: - `window_start.gte` — greater than or equal to - `window_start.gt` — greater than - `window_start.lte` — less than or equal to - `window_start.lt` — less than
**Examples** - Most recent minute candles: `/v1/aggs/ESU5?resolution=1min&limit=5` - Single daily candle: `/v1/aggs/ESU5?resolution=1session&window_start=2025-08-05` - Date range: `/v1/aggs/ESU5?resolution=1session&window_start.gte=2025-07-01&window_start.lte=2025-07-31` - After a timestamp: `/v1/aggs/ESU5?resolution=1sec&window_start.gt=1751409877000000000&limit=1000`
When omitted, the API returns the most recent candles up to `limit`.
Use comparison suffixes to query a range: - `window_start.gte` — greater than or equal to - `window_start.gt` — greater than - `window_start.lte` — less than or equal to - `window_start.lt` — less than
**Examples** - Most recent minute candles: `/v1/aggs/ESU5?resolution=1min&limit=5` - Single daily candle: `/v1/aggs/ESU5?resolution=1session&window_start=2025-08-05` - Date range: `/v1/aggs/ESU5?resolution=1session&window_start.gte=2025-07-01&window_start.lte=2025-07-31` - After a timestamp: `/v1/aggs/ESU5?resolution=1sec&window_start.gt=1751409877000000000&limit=1000`
limit
integer
The number of results to return per page (default=1000, maximum=50000, minimum=1).
sort
enum (string)
Sort results by field and direction using dotted notation (e.g., 'ticker.asc', 'name.desc').
Response Attributes
next_url
string
optional
If present, the URL to the next page of results.
results
array (object)
close
number
The last price within the timeframe.
dollar_volume
number
The total dollar volume of the transactions that occurred within the timeframe.
high
number
The highest price within the timeframe.
low
number
The lowest price within the timeframe.
open
number
The opening price within the timeframe.
session_end_date
string
Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format.
settlement_price
number
optional
The price the contract would have cost to settle for this session.
ticker
string
The ticker for the contract.
transactions
integer
The number of transactions that occurred within the timeframe.
volume
integer
The number of contracts that traded within the timeframe.
window_start
integer
The timestamp of the beginning of the candlestick’s aggregation window.
status
string
The status of the response.
Code Examples
Query URL
GET
loading...Run query unavailable
Create account or sign in to Massive
Scroll to see updated query response
Response Object