Options · Order flow
Options flow exchanges
Market share of option premium, volume and trades by exchange.
GET
/v1/options/flow/exchangesoptionsFlowExchangesEach exchange's (or venue group's) premium, volume and trades and its share of the total. Without underlying_symbol the whole options market is covered, including underlyings the platform does not tabulate trade by trade; scope narrows that to index or equity options. An exchange code without a name is listed as unmapped_<code>.
Example request
curl -sS --get "https://api.ordermap.si/v1/options/flow/exchanges" \
-H "Authorization: Bearer $ORDERMAP_API_KEY" \
--data-urlencode underlying_symbol=SPXWconst params = new URLSearchParams({
underlying_symbol: "SPXW",
});
const res = await fetch(`https://api.ordermap.si/v1/options/flow/exchanges?${params}`, {
headers: { Authorization: `Bearer ${process.env.ORDERMAP_API_KEY}` },
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const { data, meta } = await res.json();
console.log(data, meta.coverage);Set ORDERMAP_API_KEY to your key. Replace the dates with a recent trading date.
Parameters
7 parameters, none required.
| Parameter | Type and limits | Description |
|---|---|---|
underlying_queryoptional | stringat most 8 characterspattern ^[A-Za-z][A-Za-z0-9.]{0,7}$ | Restrict to one underlying (root or family). Omit for the whole options market. |
scopequeryoptional | stringallindexequitydefault all | Market segment when no underlying is given: all, index (index and volatility-index options) or equity (stock and ETF options). |
group_queryoptional | stringexchangevenue_groupdefault exchange | Rows per exchange or per venue group (Cboe, Nasdaq, ICE/NYSE, ISE, MIAX, BOX, MEMX, other). |
datequeryoptional | stringdate | Trading date (YYYY-MM-DD). Default: the current session, else the most recent completed one. |
sessionqueryoptional | stringrthgthalldefault rth | Trading 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. |
contract_queryoptional | stringcallput | Calls or puts. Omit for both. |
sidequeryoptional | array<string>comma-separated in one parameterabove_askat_asknear_askaskmidnear_bidat_bidbidbelow_bidunknown1 to 10 items | Aggressor classes to include, as for /v1/options/trades. |
Response
| Status | Meaning | Body |
|---|---|---|
200 | Successful response. | Schema below |
400 | Invalid, unknown or repeated parameters, or an invalid cursor. | Error object |
401 | Missing or invalid API key. | Error object |
403 | The plan, dataset release or account state does not allow this request. | Error object |
422 | The request is valid but no data exists for it. | Error object |
429 | Rate limit, burst limit or cooldown; wait Retry-After seconds.Retry-After | Error object |
500 | Internal error. | Error object |
503 | Data temporarily unavailable; retry after Retry-After seconds.Retry-After | Error object |
504 | The request timed out. | Error object |
Authenticated responses carry the X-RateLimit-* headers (see rate limits); 429 and 503 add Retry-After.
200 response body
dataarray<object>required9 fields insideexchangestring | nullrequiredExchange name, for example cboe, or unmapped_<code>; null when rows are venue groups.exchange_codeinteger | nullrequiredNumeric exchange code; null for venue groups.premiumnumberrequiredPremium in US dollars.premium_sharenumberrequiredShare of total premium, 0 to 1.tradesintegerrequiredPrints.trades_sharenumberrequiredShare of total prints, 0 to 1.venue_groupstringrequiredVenue group: Cboe, Nasdaq, ICE/NYSE, ISE, MIAX, BOX, MEMX or Other.volumeintegerrequiredContracts traded.volume_sharenumberrequiredShare of total volume, 0 to 1.
metaobjectrequiredMeta object
Example response
{
"data": [
{
"exchange": "cboe",
"exchange_code": 5,
"premium": 7550240000,
"premium_share": 0.31,
"trades": 610000,
"trades_share": 0.26,
"venue_group": "Cboe",
"volume": 4100000,
"volume_share": 0.28
}
],
"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.