Skip to content

Options · Order flow

Options flow stats

Premium, volume and trades of a filtered option print set, by contract type and aggressor side.
On this page

Totals for the prints that match the filters: premium, volume and trades for calls and puts, each split by aggressor class (above the ask, ask side, mid, bid side, below the bid, unknown); the bullish, bearish and neutral premium; put/call ratios; delta notional; counts of sweeps, splits, blocks and golden sweeps; and the largest prints. The ask side is prints at or near the ask, the bid side at or near the bid. Direction that cannot be determined is reported as unknown, never guessed. Delta notional is the customer net delta of the prints in dollars of underlying exposure.

Example request

curl -sS --get "https://api.ordermap.si/v1/options/flow/stats" \
  -H "Authorization: Bearer $ORDERMAP_API_KEY" \
  --data-urlencode underlying_symbol=SPXW

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

Parameters

21 parameters, 1 required.

ParameterType and limitsDescription
underlying_symbolqueryrequiredstringat most 8 characterspattern ^[A-Za-z][A-Za-z0-9.]{0,7}$Option root or family: SPX covers the SPX and SPXW roots, SPXW only the weekly root, QQQ, NDXP, RUTW, XSP ...
datequeryoptionalstringdateTrading date (YYYY-MM-DD). Default: the current session, else the most recent completed one. Overnight prints belong to the next trading date.
sessionqueryoptionalstringrthgthalldefault rthTrading session: rth is the regular session, gth the overnight (global trading hours) session before the trading date, all both. Overnight data requires the Pro plan and exists only for underlyings with an overnight session; GET /v1/options/sessions shows which.
start_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000Start of the window (inclusive). The window must lie within one trading session; combine with date to name that session.
end_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000End of the window (exclusive).
contract_typequeryoptionalstringcallputCalls or puts. Omit for both.
date_of_expiryqueryoptionalstringdateOnly contracts expiring on this date.
min_dtequeryoptionalintegermin 0max 3650Minimum days to expiration (0 = expires on the trading date).
max_dtequeryoptionalintegermin 0max 3650Maximum days to expiration.
min_premiumqueryoptionalnumbermin 0max 1000000000000Minimum premium in US dollars of a print (price x size x multiplier).
max_premiumqueryoptionalnumbermin 0max 1000000000000Maximum premium in US dollars of a print.
min_sizequeryoptionalintegermin 1max 1000000000Minimum print size in contracts.
max_sizequeryoptionalintegermin 1max 1000000000Maximum print size in contracts.
trade_typequeryoptionalarray<string>comma-separated in one parametersweepblocksplitsinglegoldenmultilegcrossfloorauctioniso1 to 10 itemsComma-separated order types: sweep, block, split, single, golden, multileg, cross, floor, auction, iso. A print matches when any listed type applies. Sweeps and splits are inferred groupings, not exchange-confirmed.
sidequeryoptionalarray<string>comma-separated in one parameterabove_askat_asknear_askaskmidnear_bidat_bidbidbelow_bidunknown1 to 10 itemsComma-separated aggressor classes: above_ask, at_ask, near_ask, mid, near_bid, at_bid, below_bid, unknown. ask selects at_ask and near_ask, bid selects near_bid and at_bid. at_ask without near_ask (and at_bid without near_bid) can be asked for only on /v1/options/trades and /v1/options/flow/overnight; elsewhere use ask and bid.
sentimentqueryoptionalarray<string>comma-separated in one parameterbullishbearishneutralunknown1 to 4 itemsComma-separated sentiments: bullish (calls bought or puts sold), bearish (puts bought or calls sold), neutral (traded at the mid) and unknown (direction not determinable).
otm_onlyqueryoptionalbooleanOnly out-of-the-money contracts (strike beyond the underlying price). Prints without a known underlying price are excluded.
include_complexqueryoptionalbooleanInclude multi-leg (complex order) prints. Default true.
unusual_onlyqueryoptionalbooleanOnly unusual activity: volume above open interest within 45 days, premium of at least $250,000, or an out-of-the-money sweep at the ask.
min_strikequeryoptionalnumber> 0max 1000000Lowest strike in dollars.
max_strikequeryoptionalnumber> 0max 1000000Highest strike in dollars.

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

  • dataobjectrequiredStatistics of a filtered print set.112 fields inside
    • callobjectrequiredCall activity.28 fields inside
      • by_sideobjectrequiredActivity by aggressor class.24 fields inside
        • above_askobjectrequiredPrints through the ask.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • askobjectrequiredPrints at or near the ask.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • below_bidobjectrequiredPrints through the bid.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • bidobjectrequiredPrints at or near the bid.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • midobjectrequiredPrints around the mid.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • unknownobjectrequiredPrints whose side could not be determined.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
      • premiumnumber | nullrequiredPremium in US dollars.
      • tradesintegerrequiredPrints.
      • volumeintegerrequiredContracts traded.
    • delta_notionalobjectrequiredCustomer delta notional of the prints in dollars of underlying exposure (absolute delta x size x multiplier x underlying price, buys minus sells).3 fields inside
      • callnumber | nullrequiredCalls.
      • netnumber | nullrequiredCalls minus puts.
      • putnumber | nullrequiredPuts.
    • largest_printsarray<object>requiredThe largest prints by premium.10 fields inside
      • contract_typestringrequiredCall or put.callput
      • date_of_expirystringdaterequiredExpiration date.
      • idstringrequiredPrint identifier.
      • premiumnumberrequiredPremium in US dollars.
      • pricenumberrequiredPrice.
      • sidestringrequiredAggressor class of the order's most aggressive print: above_ask, ask (at or near the ask), mid, bid (at or near the bid), below_bid, or unknown.above_askaskmidbidbelow_bidunknown
      • sizeintegerrequiredContracts.
      • strikenumberrequiredStrike.
      • timestampintegerunix-msrequiredExecution time. Unix epoch milliseconds (UTC).
      • underlying_symbolstringrequiredOption root.
    • open_interestobjectrequiredOpen interest of the contracts in scope.3 fields inside
      • callinteger | nullrequiredCall open interest.
      • putinteger | nullrequiredPut open interest.
      • put_callnumber | nullrequiredPut open interest over call open interest.
    • order_typesobjectrequiredCounts of order types.21 fields inside
      • blockobjectrequiredBlocks.2 fields inside
        • countintegerrequiredOrders or prints of this type.
        • premiumnumber | nullrequiredTheir premium in US dollars.
      • crossobjectrequiredCrosses.2 fields inside
        • countintegerrequiredOrders or prints of this type.
        • premiumnumber | nullrequiredTheir premium in US dollars.
      • floorobjectrequiredFloor prints.2 fields inside
        • countintegerrequiredOrders or prints of this type.
        • premiumnumber | nullrequiredTheir premium in US dollars.
      • goldenobjectrequiredGolden sweeps.2 fields inside
        • countintegerrequiredOrders or prints of this type.
        • premiumnumber | nullrequiredTheir premium in US dollars.
      • multilegobjectrequiredMulti-leg prints.2 fields inside
        • countintegerrequiredOrders or prints of this type.
        • premiumnumber | nullrequiredTheir premium in US dollars.
      • splitobjectrequiredSplits.2 fields inside
        • countintegerrequiredOrders or prints of this type.
        • premiumnumber | nullrequiredTheir premium in US dollars.
      • sweepobjectrequiredSweeps.2 fields inside
        • countintegerrequiredOrders or prints of this type.
        • premiumnumber | nullrequiredTheir premium in US dollars.
    • putobjectrequiredPut activity.28 fields inside
      • by_sideobjectrequiredActivity by aggressor class.24 fields inside
        • above_askobjectrequiredPrints through the ask.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • askobjectrequiredPrints at or near the ask.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • below_bidobjectrequiredPrints through the bid.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • bidobjectrequiredPrints at or near the bid.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • midobjectrequiredPrints around the mid.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
        • unknownobjectrequiredPrints whose side could not be determined.3 fields inside
          • premiumnumber | nullrequiredPremium in US dollars.
          • tradesintegerrequiredPrints.
          • volumeintegerrequiredContracts traded.
      • premiumnumber | nullrequiredPremium in US dollars.
      • tradesintegerrequiredPrints.
      • volumeintegerrequiredContracts traded.
    • ratiosobjectrequiredPut/call ratios.4 fields inside
      • call_share_of_tradesnumber | nullrequiredShare of prints that are calls.
      • put_call_premiumnumber | nullrequiredPut premium over call premium.
      • put_call_tradesnumber | nullrequiredPut prints over call prints.
      • put_call_volumenumber | nullrequiredPut volume over call volume.
    • sentimentobjectrequiredPremium by implied direction.4 fields inside
      • bearish_premiumnumber | nullrequiredPremium of bearish prints (puts bought, calls sold).
      • bullish_premiumnumber | nullrequiredPremium of bullish prints (calls bought, puts sold).
      • labelstringrequiredThe larger of the bullish and bearish premium.bullishbearishneutral
      • neutral_premiumnumber | nullrequiredPremium of prints at the mid.
    • sessionstringrequiredSession covered.rthgthcurball
    • trading_datestringdaterequiredTrading date of the statistics.
    • underlying_symbolstringrequiredThe requested underlying.
  • metaobjectrequiredMeta object

Example response

{
  "data": {
    "call": {
      "by_side": {
        "above_ask": {
          "premium": 1648000,
          "trades": 270,
          "volume": 7280
        },
        "ask": {
          "premium": 14832000,
          "trades": 1620,
          "volume": 54600
        },
        "below_bid": {
          "premium": 824000,
          "trades": 216,
          "volume": 3640
        },
        "bid": {
          "premium": 12360000,
          "trades": 1350,
          "volume": 45500
        },
        "mid": {
          "premium": 8240000,
          "trades": 1080,
          "volume": 36400
        },
        "unknown": {
          "premium": 3296000,
          "trades": 450,
          "volume": 15166
        }
      },
      "premium": 41200000,
      "trades": 5400,
      "volume": 182000
    },
    "delta_notional": {
      "call": 1820000000,
      "net": 410000000,
      "put": 1410000000
    },
    "largest_prints": [
      {
        "contract_type": "call",
        "date_of_expiry": "2026-10-16",
        "id": "SPXW:20261016:6050000:C:20261016:48213",
        "premium": 850000,
        "price": 3.4,
        "side": "ask",
        "size": 2500,
        "strike": 6050,
        "timestamp": 1792161012345,
        "underlying_symbol": "SPXW"
      }
    ],
    "open_interest": {
      "call": 3120000,
      "put": 3680000,
      "put_call": 1.1795
    },
    "order_types": {
      "block": {
        "count": 96,
        "premium": 18200000
      },
      "cross": {
        "count": 3,
        "premium": 380000
      },
      "floor": {
        "count": 1,
        "premium": 95000
      },
      "golden": {
        "count": 0,
        "premium": 0
      },
      "multileg": {
        "count": 410,
        "premium": 6100000
      },
      "split": {
        "count": 212,
        "premium": 9400000
      },
      "sweep": {
        "count": 0,
        "premium": 0
      }
    },
    "put": {
      "by_side": {
        "above_ask": {
          "premium": 1352000,
          "trades": 235,
          "volume": 6440
        },
        "ask": {
          "premium": 12168000,
          "trades": 1410,
          "volume": 48300
        },
        "below_bid": {
          "premium": 676000,
          "trades": 188,
          "volume": 3220
        },
        "bid": {
          "premium": 10140000,
          "trades": 1175,
          "volume": 40250
        },
        "mid": {
          "premium": 6760000,
          "trades": 940,
          "volume": 32200
        },
        "unknown": {
          "premium": 2704000,
          "trades": 391,
          "volume": 13416
        }
      },
      "premium": 33800000,
      "trades": 4700,
      "volume": 161000
    },
    "ratios": {
      "call_share_of_trades": 0.5347,
      "put_call_premium": 0.8204,
      "put_call_trades": 0.8704,
      "put_call_volume": 0.8846
    },
    "sentiment": {
      "bearish_premium": 17900000,
      "bullish_premium": 21300000,
      "label": "bullish",
      "neutral_premium": 8100000
    },
    "session": "rth",
    "trading_date": "2026-10-16",
    "underlying_symbol": "SPX"
  },
  "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.