Guide
Responses
Every successful response is JSON in one envelope: data, meta and, on paginated endpoints, pagination. Missing values are null, never 0.
On this page
The envelope#
Response of a paginated endpoint
{
"data": [ { "option_symbol": "SPXW 261016C05800000", "timestamp": 1792157400123, "price": 12.4, "size": 25 } ],
"meta": {
"request_id": "0199f0c2-5a1e-7c3b-9d4e-2b6f8a1c3d5e",
"as_of": 1792157400200,
"source": "opra",
"delayed": false,
"delay_ms": 0,
"trading_date": "2026-10-16",
"session": "rth",
"coverage": { "complete": true },
"warnings": []
},
"pagination": { "limit": 1000, "count": 1, "has_more": false, "next_cursor_id": null, "next_url": null }
}datais an array of rows on list endpoints (an empty list is[], nevernull) and one object on endpoints that describe a single thing. Rows always carry every documented field.- Missing values are `null`, never `0`. An unknown trade direction stays
unknown. Nothing is guessed. metadescribes the data: where it comes from, what time it is valid for, whether it is delayed and whether it is complete.paginationis present only on paginated endpoints.- Additive changes can appear at any time, so ignore fields you do not know.
The meta object#
Meta object
as_ofintegerunix-msrequiredTime the data is valid for. Unix epoch milliseconds (UTC).coverageobjectrequiredCompleteness of the data; complete is false when a range is partially covered.delay_msintegerrequiredData delay in milliseconds; 0 when real time.delayedbooleanrequiredrequest_idstringrequiredsessionstringsourcestringVenue or feed the data comes from. fixture appears only in development environments.opracmecbotnymexcomexsipfinra_trfindex_feedderivedfixturetrading_datestringdatewarningsarray<string>
meta.request_idrepeats theX-Request-IDresponse header. Quote it when you contact support.meta.as_ofis the time the data is valid for.meta.trading_dateandmeta.sessionappear when they apply.meta.warningsis an optional list of plain-language notes, for example that a start time was moved to a retention limit, or that an offset-paginated snapshot changed between pages (snapshot_changed).
meta.source#
meta.source names the venue or feed of the data.
| Value | Meaning |
|---|---|
opra | Options, from the consolidated options feed. |
cme, cbot, nymex, comex | Futures exchanges. |
sip | The consolidated stock tape. |
finra_trf | Off-exchange stock prints reported through a FINRA trade reporting facility. |
index_feed | Index values. |
derived | Calculated by OrderMap from other data. |
fixture | Development environments only, never in production. |
meta.delayed and meta.delay_ms#
meta.delayed and meta.delay_ms say whether the data is delayed and by how much. Always check them: some stock data is served 15 minutes delayed (delayed: true, delay_ms: 900000).
meta.coverage#
meta.coverage always has complete. When it is false the data is partial, and other members say how. Treat complete: false as a reason to look, not as an error.
| Member | Meaning |
|---|---|
missing | Parts that could not be provided. |
withheld | Parts held back by your plan, for example overnight fields on a plan without overnight data. |
truncated | The data was cut at a limit. |
unavailable_ranges | Ranges of the request for which no data is available. |
scan_complete, scanned_through | A filtered scan that used up its per-request budget: how far it got. See Pagination. |
captured_since, captured_from | The start of data that OrderMap captured itself. |
note | A plain-language explanation. |
durable | Whether a log is stored durably or only in memory. |
Response headers#
X-Request-IDis on every response, errors included.- Authenticated responses carry the
X-RateLimit-*headers described under rate limits. - Responses are
Cache-Control: no-store. The specification itself is cacheable for five minutes. - Send
Accept-Encoding: gzip(curl --compressed) to receive gzip for bodies of 1 KiB and more.