Historical Futures Data by Contract
OHLC data for major energy futures contracts with source and freshness metadata where available. Availability and fields vary by contract and source.
Brent Crude Futures
ICE Brent Crude Oil Futures
WTI Crude Futures
NYMEX WTI Crude Oil Futures
Gas Oil Futures
ICE Gas Oil (Heating Oil) Futures
Natural Gas Futures
NYMEX Henry Hub Natural Gas
What is OHLC Data?
OHLC (Open, High, Low, Close) is the standard format for historical price data in financial markets. Each trading day includes four critical price points that traders and analysts use for technical analysis, charting, and backtesting.
OHLC Components
- Open: First traded price of the day
- High: Highest traded price during the session
- Low: Lowest traded price during the session
- Close: Final settlement price at day's end
Additional Fields
- Volume: Total contracts traded
- Settlement: Official exchange settlement price
- Date: Trading date in ISO 8601 format
- Contract: Specific contract month identifier
Real-World Use Cases
1. Trading Algorithm Backtesting
Validate your trading strategies with historical data before risking capital
Before deploying a trading algorithm in live markets, quant teams backtest strategies using historical OHLC data. The API is designed for testing moving average crossovers, mean reversion strategies, momentum indicators, and futures spreads while preserving contract-month context.
Example: A trading desk can compare Brent and WTI historical contracts, check the contract month being analyzed, and keep strategy results separate from spot or continuous-series assumptions.
2. Risk Analysis and VaR Calculations
Calculate portfolio risk metrics using historical volatility
Risk managers use historical futures data to calculate Value at Risk (VaR), Expected Shortfall, and volatility metrics. Our OHLC data provides the foundation for Monte Carlo simulations and stress testing energy portfolios.
Example: An energy trading desk calculates 30-day rolling volatility for Natural Gas futures using our historical data. This helps them size positions appropriately and set stop-loss levels based on actual market volatility patterns.
3. Spread Trading Strategies
Analyze historical spreads between different contracts and maturities
Spread traders profit from price differentials between related contracts. Our historical data enables analysis of Brent-WTI spreads, calendar spreads (nearby vs. deferred months), and crack spreads (crude oil vs. refined products).
Example: A commodity hedge fund identifies that the Brent-WTI spread historically widens during geopolitical tensions in the Middle East. Using 2 years of our historical data, they built a predictive model that generates trade signals when the spread deviates from its statistical mean.
4. Research and Academic Analysis
Publish research papers with credible, exchange-sourced data
Researchers studying energy markets need structured historical data for econometric analysis, charting, and reproducible notebooks. API responses include fields that help preserve the source, date, and contract context used in the analysis.
Example: A research workflow can pull historical futures observations around policy announcements, normalize by contract month, and export the results into a reproducible analysis environment.
API Request & Response Examples
Example: Fetch 2 Years of Brent Futures Data
cURL Request:
curl "https://api.oilpriceapi.com/v1/futures/ice-brent/historical?from=2022-11-01&to=2024-11-11" \ -H "Authorization: Token YOUR_API_KEY" \ -H "Content-Type: application/json"
Python Example:
from oilpriceapi import Client
from datetime import datetime, timedelta
client = Client(api_key="YOUR_API_KEY")
# Fetch 2 years of historical data
end_date = datetime.now()
start_date = end_date - timedelta(days=730)
data = client.get_futures_historical(
contract="brent",
start_date=start_date.isoformat(),
end_date=end_date.isoformat()
)
print(f"Retrieved {len(data['data'])} trading days")
print(f"First day: {data['data'][0]}")
# Output shows OHLC data for each dayResponse Format:
{
"status": "success",
"data": [
{
"date": "2024-11-11",
"contract": "BRENT_JAN25",
"open": 76.45,
"high": 77.82,
"low": 76.12,
"close": 77.34,
"settlement": 77.30,
"volume": 185420,
"currency": "USD",
"unit": "barrel"
},
// ... additional observations for the selected route and date range
],
"count": 523
}Historical Data vs. Live Prices
| Feature | Historical Data | Live Prices |
|---|---|---|
| Data Format | Daily OHLC + Volume | Single current price |
| Update Frequency | Daily (end of day) | Every 1-5 minutes |
| Data Coverage | Route, contract, and package dependent | Current day only |
| Best For | Backtesting, analysis, research | Live trading, monitoring |
| Pricing | Paid plans ($15/month+) | Free tier available |
Frequently Asked Questions
How much historical data is available?
Historical data is available for Brent, WTI, ICE Gasoil, Henry Hub, EUA carbon, TTF gas, and JKM LNG futures contracts where available. Each day can include OHLC prices, volume, and source metadata depending on the contract.
What futures contracts are supported?
We support Brent Crude, WTI Crude, Henry Hub Natural Gas, ICE Gasoil, EUA carbon, TTF gas, and JKM LNG futures routes. JKM is a 12-contract delayed/reference curve and is not official CME settlement data.
What is OHLC data?
OHLC stands for Open, High, Low, Close - the four standard price points for each trading day. This format is essential for technical analysis, charting, and backtesting trading strategies.
Can I download CSV format?
The API returns JSON by default. Teams commonly convert responses to CSV in Python, Node.js, spreadsheets, or internal ETL jobs.
How far back does data go?
Historical futures coverage varies by route, contract, and package. Use response metadata and the returned date range to confirm the available history for your workflow.
Is there intraday data?
Daily OHLC data is the primary historical workflow. Intraday availability depends on route, source, and package.
How accurate is historical data?
Sources vary by contract and response metadata should be checked for freshness and source semantics. JKM may use delayed/reference data with coverage_status=full_curve_reference and source_semantics=delayed_reference_non_official; it is not official CME settlement data.
What's the pricing for historical data?
Historical data is available on paid plans starting at $15/month (Exploration tier with 10,000 requests). Free tier includes 7-day free trial (10,000 requests) to test the API and see sample data.