Futures data

Futures data API

Quotes and OHLCV history for equity index, energy, metals, grain and currency futures through continuous symbols like ES=F, with back-adjusted history for index futures.

Symbol format
ES=F: the contract root, then =F
Source delay
About 10 minutes behind the exchange
Daily history
ES=F from September 2000, GC=F from August 2000
Sessions
Each trading day starts at the 18:00 New York reopen
Back-adjusted
backAdjust=true on ES=F, NQ=F, YM=F and RTY=F

Symbol format

A continuous contract is the root symbol plus =F: ES=F follows the current E-mini S&P 500 contract and rolls to the next one. Each quote's underlyingSymbol names the dated contract behind it, such as ESZ26.CME. Encode = as %3D in a URL.

  • ES=FE-mini S&P 500
  • NQ=FE-mini Nasdaq 100
  • YM=FMini Dow Jones ($5)
  • RTY=FE-mini Russell 2000
  • CL=FWTI crude oil
  • BZ=FBrent crude oil
  • NG=FNatural gas
  • GC=FGold
  • SI=FSilver
  • ZC=FCorn
  • 6E=FEuro FX

Example request

Send your key in the x-api-key header. A symbol the API has not seen before is fetched on the first call.

curl -H "x-api-key: $KEY" \
  "https://api.stockdataapi.com/v6/finance/quote?symbols=ES%3DF,NQ%3DF,CL%3DF,GC%3DF"
Response, trimmed
{
  "quoteResponse": {
    "result": [
      {
        "symbol": "ES=F",
        "shortName": "E-Mini S&P 500 Dec 26",
        "quoteType": "FUTURE",
        "exchange": "CME",
        "currency": "USD",
        "underlyingSymbol": "ESZ26.CME",
        "expireIsoDate": "2026-12-18T00:00:00Z",
        "regularMarketPrice": 7424.25,
        "regularMarketChangePercent": 0.5587,
        "openInterest": 2018149,
        "exchangeDataDelayedBy": 10
      }
    ],
    "error": null
  }
}
json

Good to know

  • Futures reach the source about 10 minutes after the exchange, and each quote's exchangeDataDelayedBy reads 10.
  • Without backAdjust, history is the plain continuous series, so the price jumps where one contract hands over to the next. With it, meta.backAdjust lists the rolls applied.
  • Around a roll, while the quote has moved to the next contract but the daily bars have not, the live candle is withheld rather than drawn on the wrong contract.

Questions

Anything else is covered in the documentation, or on this page as Markdown for an AI assistant.

Is futures data real time?

No. Futures reach the source about 10 minutes after the exchange and are served as received; each quote's exchangeDataDelayedBy field reads 10.

What does =F mean in a futures symbol?

It marks a continuous contract: ES=F follows the current E-mini S&P 500 contract, and the quote's underlyingSymbol names the dated contract behind it, such as ESZ26.CME.

Can I get back-adjusted continuous futures history?

Yes, for ES=F, NQ=F, YM=F and RTY=F: add backAdjust=true to a chart request, and meta.backAdjust lists the rolls applied.

How far back does futures history go?

Daily bars for the main continuous contracts start in 2000: September 2000 for ES=F and August 2000 for GC=F.

Which futures are covered?

Contracts the source quotes across equity indices, energy, metals, grains and currencies, such as ES=F, CL=F, GC=F, ZC=F and 6E=F.