Polymarket & Kalshi Historical Data
A last-price series does not show the spread or displayed size a strategy faced. DepthFeed stores the full bid/ask ladder at each stored observation (up to 100 levels per side on Kalshi) for the markets and date ranges listed in its coverage documentation.
Polymarket & Kalshi historical order-book data is a sequence of recorded full-book observations over time. DepthFeed uses event-driven websocket capture on Polymarket and Limitless, and continuous full-depth polling on Kalshi and serves the stored observations through REST; it does not claim observations for markets, timestamps, or gaps outside the documented archive.
Polymarket & Kalshi historical data at a glance
- Venues
- Polymarket · Kalshi · Limitless
- Capture
- Event-driven WS (Poly) · full-depth poll (Kalshi)
- Cadence
- Venue-specific; documented by source
- Depth
- Full ladder, both sides (≤100 levels Kalshi)
- Assets
- 7 — BTC · ETH · SOL · XRP · DOGE · BNB · HYPE
- Timestamps
- Millisecond observation time; venue-specific source stamps
- Underlying price
- Nearest preceding Binance reference when available
- History
- 7/30/90-day windows + full archive (Desk)
- Delivery
- REST history + normalized live WebSocket frames
- Resolution
- Raw stored observations or ?interval= 1s–1d
Discover a Polymarket market, then pull its history
Start with discovery so the market identifier and metadata remain attached to the request. The snapshot route returns recorded observations; include_orderbook exposes the stored ladder and interval selects one recorded row per bucket.
curl -s "https://api.depthfeed.com/v3/btc/markets?limit=5" \
-H "Authorization: Bearer df_your_key"
curl -s "https://api.depthfeed.com/v3/btc/markets/<market_id>/snapshots?include_orderbook=true&interval=1m" \
-H "Authorization: Bearer df_your_key"- Omit interval for raw stored resolution; downsampling selects a recorded observation and does not interpolate a missing book.
- Follow the response cursor for the next page instead of constructing offset pagination.
What's in the archive
The full book, not a last price
A historical last price does not expose the spread or displayed size. DepthFeed's archive holds the full bid/ask ladder at each stored observation (up to 100 levels per side on Kalshi) for supported polymarket & kalshi markets, so you can inspect the recorded ladder and model an order against the liquidity visible at that observation.
Resolution that survives short-dated markets
Short-dated crypto markets can settle within minutes, so an hourly archive may capture only a small part of their path. DepthFeed uses event-driven source capture on Polymarket and paced full-depth REST polling on Kalshi; stored cadence is venue-specific; use the returned timestamps and documented series floors to determine whether a particular study has sufficient resolution.
History and live in one format
Pull stored depth through the REST API and subscribe to normalized current-book frames over WebSocket. The two surfaces share documented book concepts but can have different envelopes and venue-specific fields. Plans serve rolling 7-, 30-, and 90-day windows; Desk is bounded by the archive actually held.
Inspect a real historical slice before integrating
Start with a bounded recorded-book sample, verify timestamps and ladder shape, then create a key when the schema fits the research job.
More on Polymarket & Kalshi data
Questions, answered.
Plans serve rolling 7-, 30-, and 90-day windows, and Desk can query the full archive actually held. Availability remains bounded by each venue, asset, market series, and capture start; exact floors are published in the coverage docs.