Skip to content

Options · Single contract

Options contract stats

Print statistics of one contract on a trading session.
GET/v1/options/contract/statsoptionsContractStats
On this page

Totals for one contract on one trading session: premium, volume and prints, split by side of the market, by trade type and by inferred sentiment, with the contract's open interest. The default is the current or latest session. Covers the underlyings OrderMap tracks. Limitation: the totals are computed per underlying family, so for a root that shares its family with another (SPX with SPXW, NDX with NDXP, RUT with RUTW, VIX with VIXW) they also include the other root's contract of the same strike and expiry when it exists; the response carries a warning then. /v1/options/contract/flow always returns the prints of the one contract you name.

Example request

curl -sS --get "https://api.ordermap.si/v1/options/contract/stats" \
  -H "Authorization: Bearer $ORDERMAP_API_KEY" \
  --data-urlencode underlying_symbol=SPXW \
  --data-urlencode contract_type=call \
  --data-urlencode strike=5800 \
  --data-urlencode date_of_expiry=2026-10-16

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

Parameters

6 parameters, 4 required.

ParameterType and limitsDescription
underlying_symbolqueryrequiredstringat most 8 characterspattern ^[A-Za-z][A-Za-z0-9.]{0,7}$Option root of the contract, at most six characters: SPXW (weekly and daily, PM-settled) and SPX (monthly, AM-settled) are different roots, as are NDXP and NDX, RUTW and RUT, QQQ, SPY, XSP ...
contract_typequeryrequiredstringcallputcall or put.
strikequeryrequirednumber> 0max 99999.999Strike price in dollars with at most three decimals, for example 5800 or 5812.5.
date_of_expiryqueryrequiredstringdateExpiration date of the contract, YYYY-MM-DD.
datequeryoptionalstringdateTrading date, YYYY-MM-DD; the default is the current or latest session.
sessionqueryoptionalstringrthgthalldefault rthTrading session: rth is the regular session (09:30-16:15 ET), gth the overnight session that ends on the morning of the trading date (the previous evening 20:15 ET to 09:25 ET, split at midnight ET), all is both with the curb session (to 17:00 ET). gth and all require the overnight entitlement.

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

  • dataobjectrequiredPrint statistics of one contract.63 fields inside
    • by_sideobjectrequiredTotals by side of the market, in the same classes as by_side of /v1/options/flow/stats: ask is at or near the ask, bid at or near the bid.24 fields inside
      • above_askobjectrequiredPrints on this side.3 fields inside
        • premiumnumberrequiredPremium in dollars.
        • trade_countintegerrequiredPrints.
        • volumeintegerrequiredContracts.
      • askobjectrequiredPrints on this side.3 fields inside
        • premiumnumberrequiredPremium in dollars.
        • trade_countintegerrequiredPrints.
        • volumeintegerrequiredContracts.
      • below_bidobjectrequiredPrints on this side.3 fields inside
        • premiumnumberrequiredPremium in dollars.
        • trade_countintegerrequiredPrints.
        • volumeintegerrequiredContracts.
      • bidobjectrequiredPrints on this side.3 fields inside
        • premiumnumberrequiredPremium in dollars.
        • trade_countintegerrequiredPrints.
        • volumeintegerrequiredContracts.
      • midobjectrequiredPrints on this side.3 fields inside
        • premiumnumberrequiredPremium in dollars.
        • trade_countintegerrequiredPrints.
        • volumeintegerrequiredContracts.
      • unknownobjectrequiredPrints on this side.3 fields inside
        • premiumnumberrequiredPremium in dollars.
        • trade_countintegerrequiredPrints.
        • volumeintegerrequiredContracts.
    • contract_typestringrequiredCall or put.callput
    • date_of_expirystringdaterequiredExpiration date.
    • open_interestintegerrequiredOpen interest of the contract.
    • option_symbolstringrequiredOCC option symbol of the contract: root padded to six characters, expiration YYMMDD, C or P and the strike in thousandths over eight digits.
    • premiumnumberrequiredTotal premium in dollars.
    • sentimentobjectrequiredPremium by inferred sentiment.4 fields inside
      • bearish_premiumnumberrequiredPremium of bearish prints.
      • bullish_premiumnumberrequiredPremium of bullish prints.
      • labelstringrequiredDominant sentiment.bullishbearishneutral
      • neutral_premiumnumberrequiredPremium of neutral prints.
    • sessionstringrequiredSession the statistics cover.
    • strikenumberrequiredStrike price in dollars.
    • trade_countintegerrequiredPrints.
    • trade_typesobjectrequiredPrints by trade type.21 fields inside
      • blockobjectrequiredPrints of this type.2 fields inside
        • countintegerrequiredPrints.
        • premiumnumberrequiredPremium in dollars.
      • crossobjectrequiredPrints of this type.2 fields inside
        • countintegerrequiredPrints.
        • premiumnumberrequiredPremium in dollars.
      • floorobjectrequiredPrints of this type.2 fields inside
        • countintegerrequiredPrints.
        • premiumnumberrequiredPremium in dollars.
      • goldenobjectrequiredPrints of this type.2 fields inside
        • countintegerrequiredPrints.
        • premiumnumberrequiredPremium in dollars.
      • multilegobjectrequiredPrints of this type.2 fields inside
        • countintegerrequiredPrints.
        • premiumnumberrequiredPremium in dollars.
      • splitobjectrequiredPrints of this type.2 fields inside
        • countintegerrequiredPrints.
        • premiumnumberrequiredPremium in dollars.
      • sweepobjectrequiredPrints of this type.2 fields inside
        • countintegerrequiredPrints.
        • premiumnumberrequiredPremium in dollars.
    • trading_datestringdaterequiredTrading date of the statistics.
    • underlying_symbolstringrequiredOption root of the contract.
    • volumeintegerrequiredContracts traded.
  • metaobjectrequiredMeta object

Example response

{
  "data": {
    "option_symbol": "SPXW  261016C05800000",
    "underlying_symbol": "SPXW",
    "contract_type": "call",
    "strike": 5800,
    "date_of_expiry": "2026-10-16",
    "trading_date": "2026-10-16",
    "session": "rth",
    "premium": 4120000,
    "volume": 3300,
    "trade_count": 412,
    "by_side": {
      "above_ask": {
        "premium": 0,
        "volume": 0,
        "trade_count": 0
      },
      "ask": {
        "premium": 2400000,
        "volume": 1900,
        "trade_count": 170
      },
      "mid": {
        "premium": 0,
        "volume": 0,
        "trade_count": 0
      },
      "bid": {
        "premium": 900000,
        "volume": 700,
        "trade_count": 160
      },
      "below_bid": {
        "premium": 0,
        "volume": 0,
        "trade_count": 0
      },
      "unknown": {
        "premium": 820000,
        "volume": 700,
        "trade_count": 82
      }
    },
    "sentiment": {
      "bullish_premium": 2400000,
      "bearish_premium": 900000,
      "neutral_premium": 820000,
      "label": "bullish"
    },
    "trade_types": {
      "sweep": {
        "count": 14,
        "premium": 1200000
      },
      "split": {
        "count": 0,
        "premium": 0
      },
      "block": {
        "count": 2,
        "premium": 700000
      },
      "golden": {
        "count": 0,
        "premium": 0
      },
      "multileg": {
        "count": 0,
        "premium": 0
      },
      "cross": {
        "count": 0,
        "premium": 0
      },
      "floor": {
        "count": 0,
        "premium": 0
      }
    },
    "open_interest": 4321
  },
  "meta": {
    "as_of": 1760659200123,
    "coverage": {
      "complete": true
    },
    "delay_ms": 0,
    "delayed": false,
    "request_id": "0199f0c2-5a1e-7c3b-9d4e-2b6f8a1c3d5e",
    "source": "opra"
  }
}

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