Skip to main content
GET
Kalshi historical orderbook
Returns full orderbook snapshots with YES bids, NO bids, and derived best bid/ask from the YES perspective. Reads stored snapshots — no live Kalshi API calls on read. Without start_time / end_time, returns the most recent snapshots. With a time range, downsampled to granularity buckets.

Request

Query parameters

market_id
string
required
Kalshi market ticker (e.g. KXBTC15M-26JUL111100).
start_time
string
Range start in Unix milliseconds. Must be set together with end_time.
end_time
string
Range end in Unix milliseconds.
granularity
string
default:"1m"
Bucket size for range queries: 1m or 5m.
limit
integer
default:"100"
Max rows per page (1–200).
pagination_key
string
Cursor from the previous response pagination.pagination_key.

Response

snapshots
array
Array of orderbook snapshot objects.
pagination
object
Pagination metadata (limit, count, has_more, pagination_key).

Snapshot fields

market_id
string
Kalshi market ticker.
timestamp
integer
Snapshot time in Unix milliseconds.
yes_bids
array
YES bid ladder (price string, size number).
no_bids
array
NO bid ladder.
best_yes_bid
number
Top-of-book YES bid.
best_yes_ask
number
Top-of-book YES ask.
mid
number
Mid price when both sides exist.
spread
number
best_yes_ask - best_yes_bid.

Examples

Latest snapshots