Skip to content

Futures · Bars, trades and book

Futures snapshot

Last trade, top of book and session OHLCV of a futures contract.
On this page

The live state of one contract: the last print (price, size, aggressor side), the best bid and ask, and the open, high, low, close and volume of the current Globex session (18:00 to 17:00 Eastern Time) built from one-minute bars. Without contract the front month is used and echoed. Fields are null when nothing has been observed; coverage.session_ohlcv reports when the session bars could not be loaded.

Example request

curl -sS --get "https://api.ordermap.si/v1/futures/snapshot" \
  -H "Authorization: Bearer $ORDERMAP_API_KEY" \
  --data-urlencode symbol=ES

Set ORDERMAP_API_KEY to your key. Replace the dates with a recent trading date.

Parameters

2 parameters, none required.

ParameterType and limitsDescription
symbolqueryoptionalstringat most 3 characterspattern ^[A-Za-z0-9]{1,3}$Futures product root, for example ES, NQ, CL or GC. Without contract the current front month is used and returned in the response.
contractqueryoptionalstringat most 6 characterspattern ^[A-Za-z0-9]{1,3}[FGHJKMNQUVXZfghjkmnquvxz][0-9]{1,2}$Exact dated contract: root, month code and year, for example ESZ6 (December 2026). Two-digit years are accepted and returned in the one-digit form (ESZ26 is ESZ6). Only the front month and the contracts listed by /v1/futures/contracts are served.

Response

StatusMeaningBody
200Successful response.Schema below
400Invalid, unknown or repeated parameters, or an invalid cursor.Error object
401Missing or invalid API key.Error object
403The plan, dataset release or account state does not allow this request.Error object
422The request is valid but no data exists for it.Error object
429Rate limit, burst limit or cooldown; wait Retry-After seconds.Retry-AfterError object
500Internal error.Error object
503Data temporarily unavailable; retry after Retry-After seconds.Retry-AfterError object
504The request timed out.Error object

Authenticated responses carry the X-RateLimit-* headers (see rate limits); 429 and 503 add Retry-After.

200 response body

  • dataobjectrequiredThe state of one contract.19 fields inside
    • ask_pricenumber | nullrequiredBest ask.
    • ask_sizeinteger | nullrequiredSize at the best ask.
    • bid_pricenumber | nullrequiredBest bid.
    • bid_sizeinteger | nullrequiredSize at the best bid.
    • contractstringrequiredDated contract.
    • exchangestringrequiredListing exchange.cmecbotnymexcomex
    • last_pricenumber | nullrequiredPrice of the last print.
    • last_sidestring | nullrequiredAggressor side of the last print.buysellunknownnull
    • last_sizeinteger | nullrequiredContracts in the last print.
    • last_timestampinteger | nullunix-msrequiredTime of the last print. Unix epoch milliseconds (UTC).
    • quote_timestampinteger | nullunix-msrequiredTime the quote was captured. Unix epoch milliseconds (UTC).
    • session_closenumber | nullrequiredClose of the latest one-minute bar of the session.
    • session_highnumber | nullrequiredSession high.
    • session_lownumber | nullrequiredSession low.
    • session_opennumber | nullrequiredSession open (first one-minute bar).
    • session_start_timeintegerunix-msrequiredStart of the current session. Unix epoch milliseconds (UTC).
    • session_volumeinteger | nullrequiredContracts traded this session.
    • symbolstringrequiredProduct root.
    • tick_sizenumberrequiredMinimum price increment.
  • metaobjectrequiredMeta object

Example response

{
  "data": {
    "ask_price": 6021.5,
    "ask_size": 96,
    "bid_price": 6021.25,
    "bid_size": 118,
    "contract": "ESZ6",
    "exchange": "cme",
    "last_price": 6021.5,
    "last_side": "buy",
    "last_size": 3,
    "last_timestamp": 1792159200123,
    "quote_timestamp": 1792159200125,
    "session_close": 6021.5,
    "session_high": 6030,
    "session_low": 6004.5,
    "session_open": 6008.75,
    "session_start_time": 1792101600000,
    "session_volume": 412837,
    "symbol": "ES",
    "tick_size": 0.25
  },
  "meta": {
    "as_of": 1760659200123,
    "coverage": {
      "complete": true
    },
    "delay_ms": 0,
    "delayed": false,
    "request_id": "0199f0c2-5a1e-7c3b-9d4e-2b6f8a1c3d5e",
    "source": "cme"
  }
}

Values are illustrative. Missing values are null, never 0.