Buyer's guide

The best Kalshi order-book data, and how to choose it

Most Kalshi data you can find is a last price sampled once an hour — fine for a chart, useless for a backtest. Here is what actually separates a Kalshi source you can trade on from one that only looks like data.

Five criteria that decide whether data is backtestable

1. Resolution: event-driven, not interval-sampled

A snapshot taken on a fixed clock — hourly, every minute, every few hundred milliseconds — misses everything that happens between ticks. Kalshi's short-dated markets settle in 5 to 60 minutes, so an interval sample captures only a handful of frames from a market's entire life.

DepthFeedDepthFeed records every book and price-change event as it happens — ~10ms median delivery on Polymarket, continuous full-depth polling on Kalshi — so nothing between samples is lost.

2. Depth, not the last price

A last traded price (or a single mid) hides the spread and the size resting at each level. Without the full ladder you cannot measure slippage, and a backtest that assumes you filled at the mid is a backtest that lies.

DepthFeedDepthFeed serves the complete bid/ask book, both sides, every level — up to 100 levels per side on Kalshi — so fills size against the liquidity that was genuinely there.

3. Coverage: one schema, every venue and asset

Single-venue datasets force you to stitch together a different format for each market and re-write your loader every time you add one. Partial asset coverage quietly caps which strategies you can even test.

DepthFeedDepthFeed serves Polymarket, Kalshi, and Limitless in one stable columnar schema across seven assets — BTC, ETH, SOL, XRP, DOGE, BNB, HYPE — so the same code reads every venue.

4. Delivery: a live API and stream, not a static file

A downloadable CSV or Parquet file is a frozen snapshot — it goes stale, you re-download it, and it never becomes the thing you trade on. The research format and the production format end up different, so you re-plumb everything to go live.

DepthFeedDepthFeed is a metered REST API for history and a live WebSocket stream for the present, both emitting the identical JSON. Backtest, then point the same code at the live feed and trade.

5. Realistic fills you can trust

The whole point of backtesting is to know whether a strategy would have filled, and at what price. That answer only exists if you replay the actual order book the strategy would have traded against, timestamped finely enough to line up with the move that drove it.

DepthFeedEvery DepthFeed snapshot carries exchange and receive timestamps in epoch-millis and joins to a high-frequency underlying price, so book state lines up with the spot move tick for tick.

Where the usual options fall short

When people look for Kalshi data, they reach for one of four things. Each is useful for something — and none of them is the order book you backtest against.

The exchange's own API
Exposes current markets, trades, and the live top of book, but does not serve historical order-book snapshots — there is no way to replay the book as it was.
Free hourly archives
Give you a last price sampled once an hour. That is one frame from a market that may have lived five minutes — no spread, no depth, nothing to size a fill against.
Last-price & trade-tape APIs
Tell you what printed, not what was resting. You see executed trades but never the liquidity behind them, so slippage and fill probability stay invisible.
Single-venue file dumps
Often carry real depth, but for one venue, in one bespoke format, as a static download — no live stream, no second venue, and stale the moment it lands.

Why DepthFeed

DepthFeed is the source built to clear all five bars for Kalshi: event-driven full-depth capture, served as history over a clean REST API and as a live WebSocket stream in the identical JSON. The Kalshi order-book depth nobody else keeps — ready to backtest against real liquidity, then trade on the same code.

Questions, answered.

The best source is one that records every order-book change (not a fixed-interval sample), serves the full bid/ask ladder on both sides (not just the last price), covers the venues and assets you trade in one schema, and delivers history and live data in the same format so you can trade on the code you backtested. DepthFeed was built to do exactly this for Kalshi, with ~10ms median live delivery on Polymarket and continuous full-depth Kalshi capture.