Skip to content

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 }
}
  • data is an array of rows on list endpoints (an empty list is [], never null) 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.
  • meta describes the data: where it comes from, what time it is valid for, whether it is delayed and whether it is complete.
  • pagination is 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.
  • delayedbooleanrequired
  • request_idstringrequired
  • sessionstring
  • sourcestringVenue or feed the data comes from. fixture appears only in development environments.opracmecbotnymexcomexsipfinra_trfindex_feedderivedfixture
  • trading_datestringdate
  • warningsarray<string>
  • meta.request_id repeats the X-Request-ID response header. Quote it when you contact support.
  • meta.as_of is the time the data is valid for. meta.trading_date and meta.session appear when they apply.
  • meta.warnings is 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.

ValueMeaning
opraOptions, from the consolidated options feed.
cme, cbot, nymex, comexFutures exchanges.
sipThe consolidated stock tape.
finra_trfOff-exchange stock prints reported through a FINRA trade reporting facility.
index_feedIndex values.
derivedCalculated by OrderMap from other data.
fixtureDevelopment 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.

MemberMeaning
missingParts that could not be provided.
withheldParts held back by your plan, for example overnight fields on a plan without overnight data.
truncatedThe data was cut at a limit.
unavailable_rangesRanges of the request for which no data is available.
scan_complete, scanned_throughA filtered scan that used up its per-request budget: how far it got. See Pagination.
captured_since, captured_fromThe start of data that OrderMap captured itself.
noteA plain-language explanation.
durableWhether a log is stored durably or only in memory.

Response headers#

  • X-Request-ID is 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.