Kalshi historical data
Kalshi Historical Data: Order Books, Candles and Downloads
Kalshi's own API keeps candlesticks and trades for settled markets. It does not keep the order book: its orderbook endpoint returns the book as it is now. DepthFeed's recorded yes and no ladders start on 2026-01-08 and are sold by the UTC day.
The Kalshi archive, counted
Catalogue figures are read from the public file inventory; archive-wide counts from DepthFeed's own capture. Both carry their date. Inventory as of October 28, 2026; archive count as of June 21, 2026. Coverage grows daily, so every count is a floor.
196
sealed UTC days. Book snapshot files from 2026-01-08 to 2026-10-25.
18.77
GiB of books. Listed Parquet size of the book snapshot files.
1.5 billion
snapshots measured. Recorded books across 2,600,000+ markets as of June 21, 2026.
100
levels per side. Kalshi's full ladder depth; the median on BTC 15-minute markets is about 96.
Kalshi historical data is any record of a Kalshi market after the moment has passed: market and event metadata, candlestick price history, executed trades, or the resting yes and no order book. Kalshi serves the first three, with older settled data on dedicated historical endpoints. The book at a past moment exists only where it was recorded live.
One recorded Kalshi book
Copied from one stored BTC 15-minute observation. This is a row from the archive, not an illustration.
A yes bid at price p is a no offer at 1 − p, so the implied yes ask is 1 − the best no bid.: full-depth REST poll.
- yes_prices / yes_sizes
- Resting yes bids as price and contract count, best first.
- no_prices / no_sizes
- Resting no bids. Each is a yes offer at 1 − price, which gives the implied yes ask (0.33 here).
- ticker
- The exact market ticker, strike included, and the only stable join key.
- recv_ts_ms
- When the book was received, in epoch milliseconds; Kalshi books carry no separate exchange timestamp.
Kalshi history at a glance
- Book snapshot files
- 196 sealed UTC days, 2026-01-08 to 2026-10-25
- Book archive size
- 18.77 GiB of Parquet
- Rows per recent day
- 5.4–8.5 million
- Level-change files
- 80 days from 2026-08-07, 210.57 GiB
- Markets captured
- 2,600,000+
- Book structure
- Yes and no bid ladders; implied ask = 1 − best opposite bid
- Price
- $80 per GiB, one-time; $5 minimum order
Pull Kalshi history for one market
Discover markets by series, then ask for recorded books on one exact market ticker. For whole days, buy the daily file instead of paging the API.
curl -s "https://api.depthfeed.com/v3/kalshi/markets?series=KXBTC15M&limit=5" \
-H "Authorization: Bearer df_your_key"
curl -s "https://api.depthfeed.com/v3/kalshi/<exact_market_ticker>/snapshots?include_orderbook=true" \
-H "Authorization: Bearer df_your_key"- Read the yes ask as 1 − best no bid; there is no separate ask array.
- Requests older than your plan window return HISTORY_LIMIT_EXCEEDED; daily files have no plan window.
- Follow the response cursor until has_more is false.
Kalshi historical data
What Kalshi keeps, and what it does not
Kalshi's historical endpoints: markets, candlesticks and trades
Kalshi separates recent data from an older historical tier and serves the older tier through dedicated historical endpoints for markets, candlesticks and trades. This is free, official and the right source for price charts, settlement records and trade-flow research, and it reaches back further than any third-party archive.
Candlesticks: where it traded, not what was available
A candle gives open, high, low and close of the yes price over a fixed period, with volume. A close of 32 cents means a trade printed there, not that 500 contracts could have filled near it. On a 15-minute market a coarse candle series carries only a few points across the contract's whole life.
The order book: current only, unless recorded
A Kalshi book is two ladders of bids. A no bid at price p is a yes offer at 1 − p, so in the recorded sample below the best yes bid is 0.32, the best no bid 0.67 and the implied yes ask 0.33. Kalshi's orderbook endpoint returns this for the present moment only. Replaying the book as it was requires continuous capture, which is what DepthFeed's archive is.
How far back DepthFeed's Kalshi history goes
Book snapshot files cover 196 sealed UTC days between 2026-01-08 and 2026-10-25, across 15-minute, hourly, daily, and weekly crypto markets on 7 assets. Level-change files start on 2026-08-07. The catalogue lists exactly which days are sealed, so check it before assuming a continuous range.
Daily Parquet files: what one day contains
Each sealed UTC day is one Parquet file of full-depth snapshots, sorted market first in 5,000-row groups; recent days hold 5.4–8.5 million rows. Rows keep ticker, series, the receive timestamp and the yes_prices, yes_sizes, no_prices and no_sizes arrays. These are venue-native ladders: do not load them as a bid/ask table without converting the no side.
REST history for bounded pulls
For a few markets or a short window, the API is cheaper than a file. Discover markets by series ticker, then request recorded snapshots for one exact market ticker with include_orderbook for both ladders. Use the full market ticker, strike included: an event ticker names several markets with very different books.
What this history cannot tell you
Recorded books show what was resting, not what would have happened to your order: queue position and your own market impact are not in any snapshot. Coverage is crypto markets; for sports, economics and politics contracts, or for anything before 2026, Kalshi's own historical endpoints are the source.
Pick the Kalshi days you need
The file catalogue lists every sealed UTC day with its size, row count and price before you create an account. Start with one day, load it with your own code, then widen the range.
