Skip to content

Futures · Bars, trades and book

Futures liquidity

Spread and displayed liquidity of a futures contract.
GET/v1/futures/liquidityfuturesLiquidity
On this page

A summary of the displayed book: best bid and ask, mid, spread in price and ticks, the size at the touch, the displayed size within ticks of the touch on each side, and imbalance = (bid size - ask size) / (bid size + ask size) over that depth, between -1 and 1. Totals cover every displayed level. The summary describes displayed anonymous size only; it does not infer hidden orders.

Example request

curl -sS --get "https://api.ordermap.si/v1/futures/liquidity" \
  -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

3 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.
ticksqueryoptionalintegerdefault 10min 1max 200Depth around the touch, in ticks, for the within-depth sizes and the imbalance.

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

  • dataobjectrequiredDisplayed liquidity of one contract.19 fields inside
    • ask_levelsintegerrequiredDisplayed ask levels.
    • ask_size_totalintegerrequiredDisplayed ask size over every level.
    • ask_size_touchinteger | nullrequiredDisplayed size at the best ask.
    • ask_size_withinintegerrequiredDisplayed ask size within ticks of the best ask.
    • best_asknumber | nullrequiredBest ask.
    • best_bidnumber | nullrequiredBest bid.
    • bid_levelsintegerrequiredDisplayed bid levels.
    • bid_size_totalintegerrequiredDisplayed bid size over every level.
    • bid_size_touchinteger | nullrequiredDisplayed size at the best bid.
    • bid_size_withinintegerrequiredDisplayed bid size within ticks of the best bid.
    • contractstringrequiredDated contract.
    • imbalancenumber | nullrequired(bid size - ask size) / (bid size + ask size) within ticks, from -1 to 1.
    • midnumber | nullrequiredMidpoint of the best bid and ask.
    • spreadnumber | nullrequiredBest ask minus best bid.
    • spread_ticksinteger | nullrequiredSpread in ticks.
    • symbolstringrequiredProduct root.
    • ticksintegerrequiredDepth used for the within-depth sizes, in ticks.
    • timestampinteger | nullunix-msrequiredTime of the book. Unix epoch milliseconds (UTC).
    • validbooleanrequiredThe book is synchronized.
  • metaobjectrequiredMeta object

Example response

{
  "data": {
    "ask_levels": 655,
    "ask_size_total": 40377,
    "ask_size_touch": 96,
    "ask_size_within": 1984,
    "best_ask": 6021.5,
    "best_bid": 6021.25,
    "bid_levels": 640,
    "bid_size_total": 41820,
    "bid_size_touch": 118,
    "bid_size_within": 2210,
    "contract": "ESZ6",
    "imbalance": 0.0539,
    "mid": 6021.375,
    "spread": 0.25,
    "spread_ticks": 1,
    "symbol": "ES",
    "ticks": 10,
    "timestamp": 1792159200123,
    "valid": true
  },
  "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.