Futures API
Real-time and historical futures data for energy commodities. Access contract prices, spreads, curves, and OHLC data.
Available Commodities
| Commodity | Exchange | Base Endpoint | Contracts |
|---|---|---|---|
| Brent Crude | ICE | /v1/futures/ice-brent | 12 months |
| WTI Crude | ICE | /v1/futures/ice-wti | 12 months |
| Gas Oil | ICE | /v1/futures/ice-gasoil | 12 months |
| Natural Gas | NYMEX | /v1/futures/natural-gas | 12 months |
| EUA Carbon | ICE | /v1/futures/eua-carbon | 12 months |
Endpoint Types
Each commodity supports 7 endpoint types:
| Endpoint | Description | Use Case |
|---|---|---|
/ | Current prices | Real-time contract prices |
/historical | Date range data | Backtesting, analysis |
/ohlc | Daily OHLC | Charting, technical analysis |
/intraday | 5-minute intervals | Intraday trading |
/spreads | Calendar spreads | Spread trading |
/curve | Futures curve | Contango/backwardation analysis |
/spread-history | Historical spreads | Spread trend analysis |
Quick Start
# Get current Brent futures prices
curl "https://api.oilpriceapi.com/v1/futures/ice-brent" \
-H "Authorization: Token YOUR_API_KEY"
{
"commodity": "BRENT_FUTURES",
"source": "ICE",
"updated_at": "2025-12-29T14:30:00.000Z",
"trading_hours": "01:00-23:00 GMT",
"contracts": [
{
"contract_month": "2026-02",
"last_price": 74.52,
"currency": "USD",
"open": 74.15,
"close": 74.45,
"high": 74.85,
"low": 74.00,
"volume": 125432,
"change_percent": 0.47,
"days_to_expiry": 20,
"contract_status": "front_month",
"is_front_month": true,
"expiry_date": "2026-01-30",
"open_interest": 285432
}
],
"metadata": {
"total_contracts": 12,
"data_source": "ice",
"front_month_contract": "2026-02"
}
}
Authentication
All futures endpoints require authentication:
Authorization: Token YOUR_API_KEY
Endpoints
Enhanced Contract Data
Each contract includes additional fields for trading intelligence:
| Field | Type | Description |
|---|---|---|
days_to_expiry | integer | Days until contract expires |
contract_status | string | Current contract status |
is_front_month | boolean | Whether this is the front month contract |
expiry_date | date | Calculated expiry date |
open_interest | integer | Open interest (when available) |
Contract Status Values
| Status | Description |
|---|---|
front_month | Primary trading contract (>7 days to expiry) |
near_expiry | Contract expiring within 7 days |
active | Future contract with >30 days to expiry |
expired | Contract has expired |
Roll Indicator
When the front month is near expiry, the API includes a roll indicator:
{
"roll_indicator": {
"should_roll": true,
"days_remaining": 4,
"next_contract": "2026-04",
"message": "Consider rolling to April 2026 contract"
}
}
Trading Hours
| Exchange | Hours (Local) | Hours (GMT) |
|---|---|---|
| ICE Brent | 01:00-23:00 | 01:00-23:00 |
| ICE WTI | 01:00-23:00 | 01:00-23:00 |
| ICE Gas Oil | 01:00-23:00 | 01:00-23:00 |
| ICE EUA Carbon | 07:00-17:00 CET | 06:00-16:00 |
| NYMEX Nat Gas | 18:00-17:00 ET | 23:00-22:00 |
Data Updates
- Real-time: Every 5 minutes during trading hours
- Settlement: Daily at 19:30 GMT
- Historical: 30+ days retention
Rate Limits
Futures endpoints count toward your standard API request limits.
| Plan | Monthly Limit |
|---|---|
| Starter | 50,000 |
| Professional | 100,000 |
| Business | 200,000 |
| Enterprise | Custom |