---
title: "Get current market orderbook"
method: GET
path: "/v4/data/prediction/markets/{id}/orderbook"
tags: ["Prediction API"]
---

# Get current market orderbook

`GET /v4/data/prediction/markets/{id}/orderbook`

/v4/data/prediction/markets/{id}/orderbook

**100 credits per API call**

Current orderbook snapshot for one side of a market. The orderbook is per-outcome — pass `side=yes` or `side=no` to choose which outcome's book you want. Returns top-of-book through to `depth` levels of bids and asks, with a computed quoted-liquidity figure within 1% and 5% of the midpoint.

**Other notes**

*   `side` is required.
*   `hash` is a content fingerprint of the book snapshot useful for ETag-style change detection on poll. Populated on Polymarket; `null` on Kalshi (no equivalent upstream field).
*   Returns `404` when the market does not exist on either platform.

## Path parameters

- `id` string, required

## Query parameters

- `side` 'yes' | 'no', required — Which outcome of a binary market a row refers to.
- `depth` integer

## Response `200`

OK

- PredictionOrderbookResponse — Orderbook snapshot response.
  - `data` PredictionOrderbook, required — Orderbook snapshot for one outcome side of a market. Includes computed quoted-liquidity figures within 1% and 5% of the midpoint.
    - `marketId` string, required — Platform-native market identifier.
    - `platform` 'polymarket' | 'kalshi', required — Prediction-market platform identifier.
    - `side` 'yes' | 'no', required — Which outcome of a binary market a row refers to.
    - `timestamp` string, date-time, required — ISO-8601 timestamp the snapshot was computed at.
    - `hash` string, nullable, required — Content fingerprint of the book state, useful for ETag-style change detection on poll. Populated on Polymarket; `null` on Kalshi (no equivalent upstream field).
    - `bids` PredictionOrderbookLevel[], required — Bid levels ordered from best (highest price) to worst.
      - `price` number, required — Price for this level.
      - `size` number, required — Aggregate size resting at this price.
    - `asks` PredictionOrderbookLevel[], required — Ask levels ordered from best (lowest price) to worst.
      - `price` number, required — Price for this level.
      - `size` number, required — Aggregate size resting at this price.
    - `spread` number, nullable, required — Difference between best ask and best bid. `null` when either side of the book is empty.
    - `midPrice` number, nullable, required — Implied midpoint. `null` when either side of the book is empty.
    - `liquidity` object, required — Quoted-liquidity totals within bands of the midpoint. Computed over the full returned book (pre-trim by `depth`).
      - `within1pct` number, required — Total resting size within ±1% of the midpoint.
      - `within5pct` number, required — Total resting size within ±5% of the midpoint.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized. Not valid or inactive subscription key present in the HTTP Header.
- `403` — Forbidden. The request is authenticated, but it is not possible to perform the operation due to logical error or invalid permissions.
- `404` — Market not found on any supported platform.
- `500` — Internal server error. There was an error on the server during the processing of the request.

---

[API](https://skmtc.dev/tatum/apis/blockchain-data.md) · [All operations](https://skmtc.dev/tatum/apis/blockchain-data/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/tatum/blockchain-data/revisions/8622ee4b8fae/schema)
