Overview
Individual trade executions from Kalshi’s websocket feed. Each row represents a single trade. Available as both CSV (gzip-compressed) and Parquet (zstd-compressed).Columns
Column | CSV type | Parquet type | Description |
|---|---|---|---|
exchange | string | string | Always kalshi |
ticker | string | string | Market ticker |
local_timestamp | integer | int64 | Capture timestamp (nanoseconds since epoch) |
exchange_timestamp | string | timestamp_micros (nullable) | Exchange timestamp |
price | decimal | float64 | Execution price |
quantity | decimal | float64 | Number of contracts |
taker_side | string | string | bid or ask |
Fetching Data
Use thepath from the list response. The download endpoint returns a 302 redirect to a signed URL; follow it with curl -L or equivalent.
Notes
- All prices are in the YES contract frame. Prices are calculated as
1 - pricefor NO-side trades. taker_sideindicates whether the taker was buying (bid) or selling (ask).- Prices and quantities are rounded to 4 decimal places.
local_timestampis nanoseconds since Unix epoch (when our servers captured the message).exchange_timestampis when the event occurred on Kalshi. In CSV it is an RFC 3339 string; in Parquet it is stored asTimestampMicros.- Each export covers one UTC day (00:00:00 to 23:59:59).