Kalshi data API

Kalshi Data API

One API for Kalshi depth: JSON over REST with a Bearer key for stored history, plus normalized current-book updates over WebSocket. Exact envelopes and timestamps are documented per surface.

The DepthFeed Kalshi data API returns market discovery, metadata, and full-depth stored observations through REST. WebSocket publishes normalized live-book frames. Both are plain JSON, but clients should follow their documented contracts rather than assume byte-for-byte identical objects.

Kalshi data API at a glance

Protocol
JSON over HTTPS — REST + WebSocket
Auth
Bearer / X-API-Key (or ?api_key= on WS)
Discovery
Markets → snapshots → live /v3/stream
Agent-ready
No SDK; MCP / function-calling friendly
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 the ticker before pulling Kalshi history

Kalshi series names and market tickers are different identifiers. Discover venue-native tickers for the requested time window, then pass one exact ticker to the book or snapshot endpoint.

Copyable requestshell
curl -s "https://api.depthfeed.com/v3/kalshi/markets?series=KXBTC15M&start_time=2026-07-01T00:00:00Z&end_time=2026-07-02T00:00:00Z" \
  -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"
  • Do not synthesize historical market tickers from UTC timestamps; use the identifiers returned by discovery.
  • DepthFeed normalizes prices to 0–1 dollars while retaining the venue-native ticker and Yes/No book semantics.

What the API gives you

REST for history, WebSocket for current books

Discover markets, then pull full-depth observations over REST. The live stream (wss://api.depthfeed.com/v3/stream) publishes normalized current-book frames. Shared book fields ease integration, while venue-specific identifiers, timestamps, and response envelopes remain explicit.

Built for automation and agents

The API is plain JSON with one Bearer key (or X-API-Key), so it needs no SDK and drops straight into any function-calling or MCP-style tool definition. The WebSocket protocol is three JSON ops (subscribe / unsubscribe / ping), with ?api_key= auth where headers can't be set. Errors use a stable code enum you can branch on (AUTH_INVALID, COIN_NOT_IN_PLAN, RATE_LIMIT_BURST, …).

Metered, paginated, and tunable

Keyset pagination, general REST admission, and separate historical-workload controls keep large pulls predictable. Choose the stored resolution or add ?interval= from 1s through 1d to select one recorded observation per bucket. The endpoint does not interpolate rows that were never captured.

Make one authenticated request

Create a free key, discover a venue-native market identifier and pull a bounded full-depth response before building the ingestion loop.

Questions, answered.

No. It's plain JSON over HTTPS with a single Bearer key, so it works from any language with an HTTP client and drops into function-calling or MCP-style agent tools without a wrapper. The live WebSocket uses three simple JSON ops (subscribe / unsubscribe / ping), and ?api_key= auth covers clients that can't set headers.

Start backtesting Kalshi on real depth.

Free to start, no card. Upgrade when your strategy is ready for the full book.

Start free