Skip to main content
GET
Download Tick Data
Download the raw orderbook-delta firehose behind Kalshi. Every price-level change at full resolution, as sorted, zstd-compressed Parquet. Call with venue=kalshi, then feed the signed URLs into your own DuckDB, Polars, or Spark. Replay the deltas to reconstruct the book at any instant.
Live, self-serve. Sign up, add a payment method for $50 in free credits, and download. Priced at $80.00/GiB of compressed Parquet (a full day is typically about $95), charged when signed URLs are issued. History is available from 2026-03-05 through yesterday (T-1). See Data Credits & Pricing.
Finalized data only (T-1). Ticks are compacted daily at 06:00 UTC; today and future days return 404 not_final. For ready-made snapshots use Kalshi Orderbook History.
Timestamps are epoch milliseconds, UTC. To pull a single market, pass the Kalshi ticker as market_id to prune a day down to 1 or 2 files (Parquet is sorted by ticker). See filtering to one market.

Schema

Orderbook deltas (signed change in resting size at a price level), sorted by (ticker, timestamp, sequence).
Kalshi quotes sub-cent, down to a tenth of a cent. price_dollars and delta_fp carry the exact values; the integer price and delta columns are rounded convenience copies. For sub-cent-accurate work, read price_dollars.
Get a price before downloading with GET /v2/data/ticks/quote using the same parameters. See Data Credits & Pricing. Other venues: Polymarket Ticks, Opinion Ticks.

Authorizations

x-api-key
string
header
required

Query Parameters

venue
enum<string>
required

Dataset key: polymarket (CLOB price changes), kalshi, or opinion (orderbook deltas). Dataset key.

Available options:
polymarket,
kalshi,
opinion
date
string | null

Single UTC day, YYYY-MM-DD.

start_date
string | null

Range start, YYYY-MM-DD (pair with end_date).

end_date
string | null

Range end, YYYY-MM-DD (inclusive).

start_time
integer | null

Window start, epoch ms UTC. Selects/derives days and prunes parts by ts range.

end_time
integer | null

Window end, epoch ms UTC (inclusive).

market_id
string | null

Prune to the part(s) covering this market/ticker.

Response

Successful Response

Signed-URL download response for a venue/date (or date range).

venue
string
required
status
string
default:final
required
format
string
default:parquet
required
compression
string
default:zstd
required
schema
TickSchemaField · object[]
required

Column names and types in the Parquet files.

sort_order
string[]
required

Columns the files are globally sorted by.

parts
TickPart · object[]
required
total_rows
integer
required
total_bytes
integer
required
date
string | null
start_date
string | null
end_date
string | null
start_time
integer | null
end_time
integer | null
market_id
string | null