Historical Futures Data Documentation.
Tick-level trades and bars from 10 seconds to 1 day in plain Parquet over HTTP. No account or API key is needed for the sample files.
Historical Futures Data Quick Start
curl -LO https://historicalfuturesdata.com/MES/bars/10s/cme.mes.bars.10s.2026.parquet
import pandas as pd
df = pd.read_parquet("cme.mes.bars.10s.2026.parquet")
import polars as pl
df = pl.read_parquet("cme.mes.bars.10s.2026.parquet")
Access Plans
Downloads are tiered. The latest-year 10-second samples are free without an account. A free account adds the latest year of 1-minute and daily bars for every instrument. The complete archive (tick data, every timeframe, full history) is a one-time 59 USD payment in BTC or LTC. Your account updates as soon as the payment confirms.
Historical Futures Data Directory Layout
data/instruments/<SYMBOL>/
contracts/ cme.<root>.tick.<CONTRACT>.parquet
continuous/ cme.<root>.tick.continuous.<YEAR>.parquet
bars/<TF>/ cme.<root>.bars.<TF>.<YEAR>.parquet
bars/tick -> ../continuous
rolls/ <ROOT>_rolls.json
Instruments: all published CME futures. Timeframes: 10s, 1m, 2m, 5m,
30m, 1h, 4h, 1D. The bars/tick symlink points at the continuous directory.
Tick-Level Futures Data Schema
Tick files are trade records. bid_sz and ask_sz
are executed volumes, not resting depth.
| Column | Type | Meaning |
|---|---|---|
| ts | timestamp[ns, UTC] | Feed receive time |
| recv_time | timestamp[ns, UTC] | Same clock as ts |
| event_time | timestamp[ns, UTC] | Null where not captured |
| price | float64 | Traded price |
| volume | uint32 | Contracts traded |
| bid_sz | uint32 | Executed bid-side volume |
| ask_sz | uint32 | Executed ask-side volume |
| trade_count | uint32 | Trades in the record |
| oi | uint32 | Zero; not available |
| symbol | string | Exchange contract code |
| exchange | string | CME, COMEX or NYMEX |
| price_raw | float64 | Continuous only: unadjusted price |
| back_adjustment | float64 | Continuous only: additive roll delta |
10-Second to Daily Bar Schema
| Column | Type | Meaning |
|---|---|---|
| ts | timestamp[ns, UTC] | Bar open time |
| open | float64 | Open price |
| high | float64 | High price |
| low | float64 | Low price |
| close | float64 | Close price |
| volume | uint32 | Contracts traded |
| trade_count | uint32 | Ticks in the bar |
Historical Futures Data Timeframes
10-second bars are available for every instrument, alongside 1m, 2m, 5m, 30m, 1h, 4h and 1D. Intraday buckets are epoch-aligned UTC. 1D bars are Chicago sessions opening at 17:00 local time, DST-aware. Empty buckets are skipped.
Historical Futures Data HTTP API
| Endpoint | Returns |
|---|---|
GET /api/inventory | JSON inventory of every instrument |
GET /<SYMBOL>/... | Direct Parquet and JSON downloads |
GET /files/ | Raw directory tree |
GET /healthz | Plain-text health check |
Byte-range requests are supported.