Futures curves, archives and generics
Futures contract curves, archived settlements and rolling generic historical price series.
One row is
Futures contract curves, archived settlements and rolling generic historical price series
Example response
Trimmed real output. No key needed.
GET /v1/datasets/futures/sample
Dates reflect the example, not current coverage.
{
"data": {
"root": "VX",
"name": "VIX Futures",
"source": "cboe",
"currency": "USD",
"quoteUnit": "volatility points",
"asOf": "2026-10-07",
"fetchedAt": "2026-10-08T17:00:08.300Z",
"status": "available",
"stale": false,
"catalogue": {
"method": "provider",
"complete": true,
"horizonEnd": null
},
"contracts": [
{
"symbol": "VX/V6",
"label": "VIX 2026-10",
"expiration": "2026-10-21",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 17.3343,
"change": 0.2524999999999977,
"asOf": "2026-10-07",
"volume": 95088,
"openInterest": 148367,
"delayMinutes": null,
"samples": 177,
"historyStart": "2026-01-26",
"historyEnd": "2026-10-07",
"percentile": 0.847457627118644,
"stale": false
},
{
"symbol": "VX/X6",
"label": "VIX 2026-11",
"expiration": "2026-11-18",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 17.6458,
"change": 0.008300000000001972,
"asOf": "2026-10-07",
"volume": 82507,
"openInterest": 166151,
"delayMinutes": null,
"samples": 158,
"historyStart": "2026-02-23",
"historyEnd": "2026-10-07",
"percentile": 0.9493670886075948,
"stale": false
},
{
"symbol": "VX/Z6",
"label": "VIX 2026-12",
"expiration": "2026-12-16",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 18.1619,
"change": 0.00039999999999906777,
"asOf": "2026-10-07",
"volume": 19296,
"openInterest": 70902,
"delayMinutes": null,
"samples": 138,
"historyStart": "2026-03-23",
"historyEnd": "2026-10-07",
"percentile": 1.0869565217391304,
"stale": false
},
{
"symbol": "VX/F7",
"label": "VIX 2027-01",
"expiration": "2027-01-20",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 19.0701,
"change": 0.04510000000000147,
"asOf": "2026-10-07",
"volume": 6998,
"openInterest": 30854,
"delayMinutes": null,
"samples": 119,
"historyStart": "2026-04-20",
"historyEnd": "2026-10-07",
"percentile": 1.2605042016806722,
"stale": false
},
{
"symbol": "VX/G7",
"label": "VIX 2027-02",
"expiration": "2027-02-17",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 19.5949,
"change": 0.01279999999999859,
"asOf": "2026-10-07",
"volume": 3406,
"openInterest": 16312,
"delayMinutes": null,
"samples": 94,
"historyStart": "2026-05-26",
"historyEnd": "2026-10-07",
"percentile": 1.5957446808510638,
"stale": false
},
{
"symbol": "VX/H7",
"label": "VIX 2027-03",
"expiration": "2027-03-17",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 19.7727,
"change": 0.01249999999999929,
"asOf": "2026-10-07",
"volume": 1876,
"openInterest": 12072,
"delayMinutes": null,
"samples": 76,
"historyStart": "2026-06-22",
"historyEnd": "2026-10-07",
"percentile": 1.9736842105263157,
"stale": false
},
{
"symbol": "VX/J7",
"label": "VIX 2027-04",
"expiration": "2027-04-21",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 20.1,
"change": -0.048799999999999955,
"asOf": "2026-10-07",
"volume": 949,
"openInterest": 5196,
"delayMinutes": null,
"samples": 52,
"historyStart": "2026-07-27",
"historyEnd": "2026-10-07",
"percentile": 0.9615384615384616,
"stale": false
},
{
"symbol": "VX/K7",
"label": "VIX 2027-05",
"expiration": "2027-05-18",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 20.2998,
"change": -0.04479999999999862,
"asOf": "2026-10-07",
"volume": 37,
"openInterest": 1604,
"delayMinutes": null,
"samples": 32,
"historyStart": "2026-08-24",
"historyEnd": "2026-10-07",
"percentile": 1.5625,
"stale": false
},
{
"symbol": "VX/M7",
"label": "VIX 2027-06",
"expiration": "2027-06-16",
"currency": "USD",
"quoteUnit": "volatility points",
"price": 20.55,
"change": -0.05000000000000071,
"asOf": "2026-10-07",
"volume": 1,
"openInterest": 65,
"delayMinutes": null,
"samples": 13,
"historyStart": "2026-09-21",
"historyEnd": "2026-10-07",
"percentile": null,
"stale": false
}
],
"ghosts": [
{
"label": "1W",
"requestedDate": "2026-10-01",
"asOf": "2026-10-01",
"points": [
{
"symbol": "VX/V6",
"expiration": "2026-10-21",
"price": 18.1009,
"asOf": "2026-10-01"
},
{
"symbol": "VX/X6",
"expiration": "2026-11-18",
"price": 18.6253,
"asOf": "2026-10-01"
},
{
"symbol": "VX/Z6",
"expiration": "2026-12-16",
"price": 19.0003,
"asOf": "2026-10-01"
},
{
"symbol": "VX/F7",
"expiration": "2027-01-20",
"price": 19.6856,
"asOf": "2026-10-01"
},
{
"symbol": "VX/G7",
"expiration": "2027-02-17",
"price": 20.1495,
"asOf": "2026-10-01"
},
{
"symbol": "VX/H7",
"expiration": "2027-03-17",
"price": 20.275,
"asOf": "2026-10-01"
},
{
"symbol": "VX/J7",
"expiration": "2027-04-21",
"price": 20.5991,
"asOf": "2026-10-01"
},
{
"symbol": "VX/K7",
"expiration": "2027-05-18",
"price": 20.725,
"asOf": "2026-10-01"
},
{
"symbol": "VX/M7",
"expiration": "2027-06-16",
"price": 20.975,
"asOf": "2026-10-01"
}
]
},
{
"label": "1M",
"requestedDate": "2026-09-08",
"asOf": "2026-09-08",
"points": [
{
"symbol": "VX/V6",
"expiration": "2026-10-21",
"price": 18.402,
"asOf": "2026-09-08"
},
{
"symbol": "VX/X6",
"expiration": "2026-11-18",
"price": 19.1354,
"asOf": "2026-09-08"
},
{
"symbol": "VX/Z6",
"expiration": "2026-12-16",
"price": 19.2512,
"asOf": "2026-09-08"
},
{
"symbol": "VX/F7",
"expiration": "2027-01-20",
"price": 20.1967,
"asOf": "2026-09-08"
},
{
"symbol": "VX/G7",
"expiration": "2027-02-17",
"price": 20.6665,
"asOf": "2026-09-08"
},
{
"symbol": "VX/H7",
"expiration": "2027-03-17",
"price": 20.9506,
"asOf": "2026-09-08"
},
{
"symbol": "VX/J7",
"expiration": "2027-04-21",
"price": 21.184,
"asOf": "2026-09-08"
},
{
"symbol": "VX/K7",
"expiration": "2027-05-18",
"price": 21.2962,
"asOf": "2026-09-08"
},
{
"symbol": "VX/M7",
"expiration": "2027-06-16",
"price": null,
"asOf": null
}
]
},
{
"label": "1Y",
"requestedDate": "2025-10-08",
"asOf": null,
"points": [
{
"symbol": "VX/V6",
"expiration": "2026-10-21",
"price": null,
"asOf": null
},
{
"symbol": "VX/X6",
"expiration": "2026-11-18",
"price": null,
"asOf": null
},
{
"symbol": "VX/Z6",
"expiration": "2026-12-16",
"price": null,
"asOf": null
},
{
"symbol": "VX/F7",
"expiration": "2027-01-20",
"price": null,
"asOf": null
},
{
"symbol": "VX/G7",
"expiration": "2027-02-17",
"price": null,
"asOf": null
},
{
"symbol": "VX/H7",
"expiration": "2027-03-17",
"price": null,
"asOf": null
},
{
"symbol": "VX/J7",
"expiration": "2027-04-21",
"price": null,
"asOf": null
},
{
"symbol": "VX/K7",
"expiration": "2027-05-18",
"price": null,
"asOf": null
},
{
"symbol": "VX/M7",
"expiration": "2027-06-16",
"price": null,
"asOf": null
}
]
}
],
"slope": {
"frontSymbol": "VX/V6",
"nextSymbol": "VX/X6",
"value": 0.31150000000000233,
"annualizedRollYield": -23.011849845289095,
"percentile": 63.607594936708864,
"rollPercentile": 31.329113924050635,
"samples": 158,
"historyStart": "2026-02-23",
"historyEnd": "2026-10-07",
"asOf": "2026-10-07",
"state": "contango"
},
"gaps": []
},
"meta": {
"dataset": "futures",
"asOf": "2026-10-07",
"source": [
{
"id": "market-data",
"attribution": "Exchange and market data providers",
"licence": "Use subject to Gloom Datasets terms"
},
{
"id": "volatility-futures",
"attribution": "Public exchange publications",
"licence": "Use subject to Gloom Datasets terms"
}
],
"historyStarts": null,
"coverage": null,
"lastUpdated": "2026-10-08T17:00:08.300Z",
"delayed": true
}
}Routes
Base URL https://api.gloom.sh. Send a key with each call; the key's account needs a plan.
GET /v1/futures/{root}/curve50 credits
Current futures term structure for a root. Reads the existing dataset service and needs a key on an account with a plan; every plan reads every live dataset in full. Cached market reads can refresh their source data. Unknown, empty and repeated parameters are rejected. History and coverage metadata are null when the stored service cannot establish them.
- Parameter
root- In
path, required
- Type
string
| Parameter | In | Type | Notes |
|---|---|---|---|
| path, required | string |
- Credits: 50 (bulk x2)
- Plans: Basic, Desk, Enterprise
GET /v1/futures/{root}/archive4 credits
Archived futures curve for a specified date. Reads the existing dataset service and needs a key on an account with a plan; every plan reads every live dataset in full. Cached market reads can refresh their source data. Unknown, empty and repeated parameters are rejected. History and coverage metadata are null when the stored service cannot establish them.
- Parameter
root- In
path, required
- Type
string
- Parameter
date- In
query, required
- Type
date,
YYYY-MM-DD- Notes
Valid calendar date (YYYY-MM-DD). from must be on or before to.
| Parameter | In | Type | Notes |
|---|---|---|---|
| path, required | string | |
| query, required | date, | Valid calendar date (YYYY-MM-DD). from must be on or before to. |
- Credits: 4 (history x2)
- Plans: Basic, Desk, Enterprise
GET /v1/futures/generics/{ticker}4 credits
Generic futures contract data. Reads the existing dataset service and needs a key on an account with a plan; every plan reads every live dataset in full. Cached market reads can refresh their source data. Unknown, empty and repeated parameters are rejected. History and coverage metadata are null when the stored service cannot establish them.
- Parameter
ticker- In
path, required
- Type
string
- Parameter
from- In
query
- Type
date,
YYYY-MM-DD- Notes
Valid calendar date (YYYY-MM-DD). from must be on or before to.
- Parameter
to- In
query
- Type
date,
YYYY-MM-DD- Notes
Valid calendar date (YYYY-MM-DD). from must be on or before to.
| Parameter | In | Type | Notes |
|---|---|---|---|
| path, required | string | |
| query | date, | Valid calendar date (YYYY-MM-DD). from must be on or before to. |
| query | date, | Valid calendar date (YYYY-MM-DD). from must be on or before to. |
- Credits: 4 (history x2)
- Plans: Basic, Desk, Enterprise
Meta fields
- Field
dataset- Here
The dataset id
- In the example
"futures"
- Field
asOf- Here
The observation date established by the service; otherwise null
- In the example
"2026-10-07"
- Field
source- Here
Attribution and usage terms of each source
- In the example
2 sources
- Field
historyStarts- Here
Earliest stored history when established by the service; otherwise null.
- In the example
null, not stated yet
- Field
coverage- Here
Service-established coverage; null when unavailable.
- In the example
null
- Field
lastUpdated- Here
The source update time established by the service; otherwise null
- In the example
"2026-10-08T17:00:08.300Z"
| Field | Here | In the example |
|---|---|---|
| The dataset id |
|
| The observation date established by the service; otherwise null |
|
| Attribution and usage terms of each source | 2 sources |
| Earliest stored history when established by the service; otherwise null. | null, not stated yet |
| Service-established coverage; null when unavailable. | null |
| The source update time established by the service; otherwise null |
|
Sources
- Source
Exchange and market data providers
- Usage terms
Use subject to Gloom Datasets terms
- Source
Public exchange publications
- Usage terms
Use subject to Gloom Datasets terms
| Source | Usage terms |
|---|---|
Exchange and market data providers | Use subject to Gloom Datasets terms |
Public exchange publications | Use subject to Gloom Datasets terms |
Errors
These routes can answer 400, 401, 402, 403, 404, 429, 503. See Errors for the codes.
Gloom Datasets reads stored data only: a call never starts a collection.