Skip to main content

Overview

Full order book event stream with individual price-level updates and periodic snapshots. Each row is either a price-level update or a full snapshot, distinguished by the message_type column. Available as both CSV (gzip-compressed) and Parquet (zstd-compressed).

Columns

Fetching Data

Use the path from the list response. The download endpoint returns a 302 redirect to a signed URL; follow it with curl -L or equivalent.

Notes

  • Each row is either a price_level_update (one level changed) or a snapshot (full book state). Columns for the other type will be null.
  • The orderbook is the YES orderbook. Bids are the raw YES bids from Kalshi. Asks are calculated by taking 1 - price of the NO bids. If you need the raw, unconverted data, contact calder@predictiondata.dev.
  • Prices and quantities are rounded to 4 decimal places.
  • local_timestamp is nanoseconds since Unix epoch (when our servers captured the message).
  • exchange_timestamp is when the event occurred on Kalshi. It is null for orderbook snapshots. In CSV it is an RFC 3339 string; in Parquet it is stored as TimestampMicros.
  • Each export covers one UTC day (00:00:00 to 23:59:59).