Contract Trade Side Statistics
Overview
Contract Trade Side Statistics returns one aggregate per (contract type, trade side) cell. The metric in each cell is selected by dataMode: PREMIUM, TRADE_COUNT, or VOLUME. Trade-side keys on the wire are ABOVE_ASK, ASK, MID_MARKET, BID, BELOW_BID; the short codes AA, A, M, B, BB are accepted as input aliases on filters but never appear in responses.
curl -X POST https://api.quantdata.us/v1/options/tool/contract-trade-side-statistics \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "dataMode": "PREMIUM", "sessionDate": "2026-05-13", "filter": { "ticker": "AAPL" } }'
Required: dataMode
dataMode is required. Three values:
{ "dataMode": "VOLUME", "sessionDate": "2026-05-13", "filter": { "tickers": ["AAPL", "NVDA"] } }
Selecting the time window
The endpoint accepts sessionDate, timeRange, or neither. The two are mutually exclusive; if both are omitted, the most recent trading session is used.
Response shape
data is a two-level map: contract type -> trade-side code -> aggregate. Combinations with no matching trades are omitted.
{ "data": { "CALL": { "ABOVE_ASK": { "premium": 5421330.50 }, "ASK": { "premium": 7228974.25 }, "MID_MARKET": { "premium": 1284105.10 }, "BID": { "premium": 4928104.80 }, "BELOW_BID": { "premium": 2120448.10 } }, "PUT": { "ABOVE_ASK": { "premium": 3120448.10 }, "ASK": { "premium": 4280102.80 }, "MID_MARKET": { "premium": 920104.20 }, "BID": { "premium": 3104550.90 }, "BELOW_BID": { "premium": 1820330.50 } } } }
Filters
Convenience filter fields cover the full options trade inventory: tickers, sectors, industries, contractTypes, moneyTypes, strikePrices, strikePriceRange, expirationDates, expirationDateRange, tradeSideCodes, tradeTypes, sentimentTypes, exchanges, premiumRange, volumeRange, and more. All are optional. The filterExpression DSL is also accepted and can be combined with filter; both are evaluated as AND.