Polymarket & Kalshi historical data

Polymarket & Kalshi Historical Data

Most prediction-market data you can find is a last price sampled once an hour — fine for a chart, useless for a backtest. DepthFeed keeps the full historical order book: the full bid/ask ladder on both sides, every level (up to 100 per side on Kalshi), captured finely enough to replay every market that ever opened.

Polymarket & Kalshi historical data, done properly, is the complete order book over time — every bid and ask level with its size at each change, not just the last traded price. DepthFeed records event-driven websocket capture on Polymarket and Limitless, and continuous full-depth polling on Kalshi and serves that archive back over a REST API, so you can replay any past market exactly as it traded.

Polymarket & Kalshi historical data at a glance

Venues
Polymarket · Kalshi · Limitless
Capture
Event-driven WS (Poly) · full-depth poll (Kalshi)
Live latency
Polymarket ~10 ms median (measured)
Depth
Full ladder, both sides (≤100 levels Kalshi)
Assets
7 — BTC · ETH · SOL · XRP · DOGE · BNB · HYPE
Timestamps
Epoch-ms exchange + receive, per snapshot
Underlying price
Binance spot/futures, joined per snapshot
History
7/30/90-day windows + full archive (Desk)
Delivery
REST API + live WebSocket, identical JSON
Resolution
Every change, or ?interval= 30s–1d downsample

What's in the archive

The full book, not a last price

A historical last price tells you nothing about the spread or the size resting at each level. DepthFeed's archive holds the full bid/ask ladder on both sides, every level (up to 100 per side on Kalshi) for polymarket & kalshi's 5-minute through 24-hour up/down and threshold crypto markets, so you can reconstruct exactly what you would have traded against at any past moment — and measure the slippage a real order would have paid.

Resolution that survives short-dated markets

Short-dated crypto markets settle in 5 to 60 minutes, so an hourly archive captures only a frame or two from a market's entire life. We record every book change on Polymarket (~10 ms median live delivery, measured) and the full Kalshi depth roughly every 1.5 seconds, which is orders of magnitude finer than any free hourly archive — short-dated polymarket & kalshi markets stay genuinely backtestable.

History and live in one format

Pull the depth you need over the REST API, replay it in your own stack, then point the same code at the live WebSocket — the frames carry the identical JSON. The archive deepens as the backfill extends; plans serve rolling 7-, 30-, and 90-day windows, with the Desk plan serving the full archive.

Start pulling polymarket & kalshi historical data

Free Explorer tier, no card. Full bid/ask depth and the underlying price on every snapshot, over a REST API and a live WebSocket stream.

Questions, answered.

Plans serve rolling 7-, 30-, and 90-day windows of full order-book history, and the Desk plan serves the full historical archive, which deepens as the backfill extends. Every window carries the complete bid/ask book, not a sampled last price. (Order-book depth can't be backfilled, so any provider's history starts when continuous capture began.)