Order Flow Unconsolidated
Overview
Order Flow Unconsolidated returns the raw, trade-by-trade option tape with no consolidation. Each row is one print. Rows are paginated with cursor semantics, and every projectable field is returned by default. Use this when you need per-print visibility instead of grouped blocks / sweeps.
curl -X POST https://api.quantdata.us/v1/options/tool/order-flow/unconsolidated \ -H "Authorization: Bearer <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "sessionDate": "2026-05-13", "filter": { "ticker": "AAPL" } }'
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.
Pagination and sort
Order Flow Unconsolidated uses cursor pagination. size sets the page size (default 50, range 1-100). sort picks the order (default tradeTime DESCENDING). Pass the previous response's nextSearchAfter back as searchAfter to get the next page. See Pagination for the full walk-through.
{ "sessionDate": "2026-05-13", "filter": { "ticker": "AAPL" }, "size": 50, "sort": { "field": "tradeTime", "direction": "DESCENDING" }, "searchAfter": ["1747137600000", "a1b2c3d4-..."] }
{ "sessionDate": "2026-05-13", "filter": { "osi": "AAPL260516C00220000" } }
Projection
includes is a whitelist of fields to keep on each row; excludes is a blacklist. The two are mutually exclusive. Omitted fields are dropped from the JSON entirely. See Projection for the full contract.
{ "sessionDate": "2026-05-13", "filter": { "ticker": "AAPL" }, "includes": ["ID", "TICKER", "OSI", "PREMIUM", "TRADE_TIME"] }
Response shape
data is an ordered array of rows. nextSearchAfter is the cursor for the next page (or omitted when none). statistics is present only on the first page when includeStatistics is true. id is a UUID.
{ "data": [ { "id": "a1b2c3d4-7890-4321-aabb-ccddeeff0011", "ticker": "AAPL", "osi": "AAPL260516C00220000", "contractType": "CALL", "expirationDate": "2026-05-16", "dte": 3.0, "strikePrice": 220.0, "premium": 28500.00, "size": 100, "volume": 100, "optionPrice": 2.85, "stockPrice": 213.45, "tradeSideCode": "ABOVE_ASK", "isUnusual": false, "tradeTime": 1747137612000 } ], "nextSearchAfter": ["1747137612000", "a1b2c3d4-7890-4321-aabb-ccddeeff0011"] }
Filters
Convenience filter fields cover the full unconsolidated-trade inventory: tickers, osi, sectors, industries, contractTypes, moneyTypes, strikePrices, strikePriceRange, expirationDates, expirationDateRange, tradeSideCodes, tradeTypes, sentimentTypes, exchanges, premiumRange, volumeRange, sizeRange, isUnusual, isOpeningPosition, isVolumeGreaterThanOpenInterest, and more. All are optional. The filterExpression DSL is also accepted and can be combined with filter; both are evaluated as AND.