Skip to content

Stocks · Prices, tape and indicators

Stocks quotes

Consolidated NBBO quotes of a stock, oldest first.
On this page

Every change of the national best bid and offer in a window, ascending by exchange time with the sequence number as the tie-break, resumed with cursor_id. A side with no quote is null. Quotes exist for exchanges only; off-exchange facilities do not quote. meta.delayed is true when the data is 15 minutes delayed.

Example request

curl -sS --get "https://api.ordermap.si/v1/stocks/quotes" \
  -H "Authorization: Bearer $ORDERMAP_API_KEY" \
  --data-urlencode symbol=AAPL

Set ORDERMAP_API_KEY to your key. Replace the dates with a recent trading date.

Parameters

6 parameters, 1 required.

ParameterType and limitsDescription
symbolqueryrequiredstringat most 11 characterspattern ^[A-Za-z]{1,6}(\.[A-Za-z0-9]{1,4})?$Ticker symbol, for example AAPL.
start_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000Inclusive start of the window. Defaults to the start of the current exchange date.
end_timequeryoptionalintegerunix-msmin 946684800000max 4102444800000Exclusive end of the window. Defaults to the end of the exchange date of start_time. At most 31 days after start_time.
datequeryoptionalstringdateA whole exchange date (YYYY-MM-DD, 00:00 to 24:00 Eastern, extended hours included) instead of start_time and end_time.
limitqueryoptionalintegerdefault 1000min 1max 10000Maximum rows to return.
cursor_idqueryoptionalstringat most 1024 charactersOpaque cursor returned as pagination.next_cursor_id; resumes the same query on the next page.

Response

StatusMeaningBody
200Successful response.Schema below
400Invalid, unknown or repeated parameters, or an invalid cursor.Error object
401Missing or invalid API key.Error object
403The plan, dataset release or account state does not allow this request.Error object
422The request is valid but no data exists for it.Error object
429Rate limit, burst limit or cooldown; wait Retry-After seconds.Retry-AfterError object
500Internal error.Error object
503Data temporarily unavailable; retry after Retry-After seconds.Retry-AfterError object
504The 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>required15 fields inside
    • ask_exchangeinteger | nullrequiredExchange id quoting the ask.
    • ask_pricenumber | nullrequiredBest ask.
    • ask_sizenumber | nullrequiredAsk size.
    • bid_exchangeinteger | nullrequiredExchange id quoting the bid.
    • bid_pricenumber | nullrequiredBest bid.
    • bid_sizenumber | nullrequiredBid size.
    • conditionsarray<integer>requiredQuote condition codes; see /v1/stocks/conditions.
    • indicatorsarray<integer>requiredIndicator codes.
    • participant_timestampinteger | nullunix-msrequiredTime the exchange stamped the quote. Unix epoch milliseconds (UTC).
    • sequence_numberintegerrequiredConsolidated sequence number.
    • symbolstringrequiredTicker symbol.
    • tapeinteger | nullrequiredConsolidated tape.
    • timestampintegerunix-msrequiredTime the consolidated feed stamped the quote. Unix epoch milliseconds (UTC).
    • timestamp_nsstringrequiredThe same time in nanoseconds, as a string.
    • trf_timestampinteger | nullunix-msrequiredFacility time. Unix epoch milliseconds (UTC).
  • metaobjectrequiredMeta object
  • paginationobjectrequiredPagination object

Example response

{
  "data": [
    {
      "ask_exchange": 11,
      "ask_price": 231.43,
      "ask_size": 200,
      "bid_exchange": 12,
      "bid_price": 231.41,
      "bid_size": 300,
      "conditions": [
        1
      ],
      "indicators": [
        602
      ],
      "participant_timestamp": 1760659200120,
      "sequence_number": 98211,
      "symbol": "AAPL",
      "tape": 3,
      "timestamp": 1760659200123,
      "timestamp_ns": "1760659200123456789",
      "trf_timestamp": null
    }
  ],
  "meta": {
    "as_of": 1760659200123,
    "coverage": {
      "complete": true
    },
    "delay_ms": 0,
    "delayed": false,
    "request_id": "0199f0c2-5a1e-7c3b-9d4e-2b6f8a1c3d5e",
    "source": "sip"
  },
  "pagination": {
    "count": 1,
    "has_more": false,
    "limit": 1000,
    "next_cursor_id": null,
    "next_url": null
  }
}

Values are illustrative. Missing values are null, never 0.