Synpath
Tick-level Data

Get order book snapshot

Full-depth order book at a timestamp, reconstructed from recorded book snapshots and deltas.

POST/v1/order-book/athosted · Synpath API key

Hosted by Synpath. Authentication: Authorization: Bearer <Synpath API key>. Venue coverage: Kalshi.

Returns the order book as it stood at as_of_ms. The book is replayed from every snapshot and delta the venue published up to that time, so it is the exact state, not a sampled one.

book is null where the dataset has no coverage at as_of_ms; absence_reason says why. Coverage is per market and has gaps.

Request body

NameTypeDescription
market_idstringSynpath market id, venue:native.
as_of_msintegerTimestamp to value the book at, Unix milliseconds.
sidestring
default yes
yes or no: which side's book to return.
depthintegerPrice levels per side. All levels when omitted.

Response fields

NameTypeDescription
metadata.dataset_versionstringProcessed dataset the answer was read from. Pin it when comparing answers.
metadata.time_basisstringrecorder_receive: every timestamp below is the time the recorder received the event.
metadata.processed_through_msintegerLatest time the dataset covers.
bookobjectThe order book, or null outside coverage.
book.bids, book.asksarrayPrice levels, best first: {price, size} in the YES price, size in contracts.
book.as_of_msintegerThe time the book is valued at.
book.timestampintegerRecorder receive time of the last update applied. Earlier than as_of_ms when the book was unchanged.
book.venue_timestamp_msintegerThe venue's own time for that update, when it sent one; else null.
absence_reasonstringWhy book is null: outside_loaded_data, or a recorder gap. null when a book is returned.

Response

200 with the book, or with book: null and an absence_reason. 404 for an unknown market.

import synpath

# needs SYNPATH_API_KEY
at = synpath.fetch_order_book_at("kalshi:KXQUANTUM-30", as_of_ms=1789509599000, depth=2)
if at.book is None:
    print("no coverage:", at.absence_reason)
else:
    print(at.book.best_bid, at.book.best_ask, at.metadata.dataset_version)
200
{
  "metadata": {
    "dataset_version": "processed-v1-623446e80ca97c2b",
    "time_basis": "recorder_receive",
    "processed_through_ms": 1789725040929
  },
  "market_id": "kalshi:KXQUANTUM-30",
  "as_of_ms": 1789509599000,
  "book": {
    "market_id": "kalshi:KXQUANTUM-30",
    "side": "yes",
    "venue": "kalshi",
    "bids": [
      {
        "price": 0.331,
        "size": 66
      },
      {
        "price": 0.33,
        "size": 500
      }
    ],
    "asks": [
      {
        "price": 0.36,
        "size": 10
      },
      {
        "price": 0.37,
        "size": 50
      }
    ],
    "timestamp": 1789509152200,
    "datetime": "2026-09-15T21:52:32.200Z",
    "book_model": "shared_complement",
    "derived": true,
    "depth_scope": "top_n",
    "info": {
      "...": "the venue's payload"
    },
    "as_of_ms": 1789509599000,
    "venue_timestamp_ms": null,
    "best_bid": {
      "price": 0.331,
      "size": 66
    },
    "best_ask": {
      "price": 0.36,
      "size": 10
    }
  },
  "absence_reason": null
}