---
title: "Get unified quote for a symbol"
method: GET
path: "/v1/quotes/{symbol}"
tags: ["Market Data"]
---

# Get unified quote for a symbol

`GET /v1/quotes/{symbol}`

NBBO + per-venue BBO + merged order book in one response.

## Path parameters

- `symbol` string, required

## Query parameters

- `depth` integer
- `nowait` boolean

## Response `200`

Quote data

- QuoteResponse
  - `book` QuoteBook, required
    - `asks` QuoteBookLevel[], required
      - `price` number, double, required
      - `size` number, double, required
      - `venue` string, required
    - `bids` QuoteBookLevel[], required
      - `price` number, double, required
      - `size` number, double, required
      - `venue` string, required
  - `instrument_type` string, required — Disambiguates which book this quote came from. Spot vs perp on the same `symbol` (e.g. `BTC-USDT`) are separate NBBOs because their prices differ by basis. `"spot"` / `"perp"` / `"prediction"`.
  - `nbbo` QuoteNbbo, required
    - `age_ms` integer — Age of the NBBO in milliseconds — min `age_ms` across the venues whose bid+ask were chosen for this NBBO. Lets callers refuse trades on quotes older than their tolerance instead of having to walk the per-venue `venues.{v}.age_ms` map themselves.
    - `ask` number, double, required
    - `bid` number, double, required
    - `mid` number, double, required
    - `spread_bps` number, double, required
    - `staleness` string, required — Discrete staleness class derived from `age_ms`. Trip-wire for trading code: never act on `dead`, prefer not to act on `stale`. `fresh` — < 1 s (real-time, kernel-bus origin) `recent` — < 10 s (acceptable for non-latency-sensitive use) `stale` — < 60 s (probable edge-side feed stall, refresh first) `dead` — ≥ 60 s (do not trade — feed is presumed broken)
  - `source` string, required — Provenance of the quote data. Three values: `edge_nbbo` — in-memory NBBO from a live venue-edge WS stream (sub-millisecond update latency, every tick). `venue_public_api` — HTTP fallback against the venue's public orderbook endpoint. 2-second cache, ~100-500ms staleness. Research-grade, not trading-grade. `unavailable` — neither path produced data. Caller sees zero bid/ask and empty book; this is distinct from a true empty-book edge NBBO because the venue literally doesn't publish liquidity for this symbol (resolved market, invalid token, etc.).
  - `symbol` string, required
  - `venues` object, required

## Other responses

- `404` — No data for symbol

---

[API](https://skmtc.dev/sequencemkts/apis/sequence-markets-api.md) · [All operations](https://skmtc.dev/sequencemkts/apis/sequence-markets-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequencemkts/sequence-markets-api/revisions/1c826964b9f9/schema)
