Historical Data Archive

Polymarket Historical Order Book Data for Sports

Two independently captured tables: 25.7M Polymarket CLOB book observations and 110.5M Kalshi top-of-book observations. Only the Kalshi table carries capture-time score and clock fields; the venues are not pre-keyed. Parquet format, instant download.

Get the archive — $150 Download free samples

One-time purchase · Parquet · schema doc included · public results and evidence coverage

What's in the archive

Timestamped book observations

Polymarket rows include top quotes and depth aggregates; Kalshi rows contain top-of-book quotes and activity fields. Timestamps, not advertised cadence, are authoritative.

Two venue-specific tables

The files have different physical schemas and no shared exchange key. Cross-venue work requires a verified title/team/date/outcome mapping that fails closed on ambiguity.

Kalshi game state

Kalshi rows carry the latest observed score, period and clock at capture time. Polymarket rows do not; event-time analysis needs a separate verified join.

Parquet, analysis-ready

Columnar Parquet that loads straight into pandas, Polars or DuckDB. No scraping, no parsing, no rate limits.

Documented schema

Every column, unit and capture caveat is written up in an included schema document, with quick-start examples.

Fixed historical window

A dense Dec 2025 – Jan 2026 snapshot (~136M rows), dense but not gap-free — per-sport gaps documented in the schema. Newer months ship as separate drops; live data is the cross-venue matched book.

Use each table on its actual contract

The Polymarket file preserves CLOB book fields and depth aggregates. The Kalshi file preserves top-of-book quotes plus capture-time sports context. Neither file contains executions or settlement outcomes, and their rows are not a pre-computed cross-venue panel.

For cross-venue or event-time work, build an explicit mapping using teams, date, market line, and outcome semantics; then document the as-of tolerance. A midpoint is not a fill, and a capture timestamp is not the sporting event time.

example — query each physical table without inventing a join (DuckDB)

import duckdb

poly = duckdb.sql("""
  SELECT timestamp, token_id, yes_bid, yes_ask,
         bid_depth_5c, ask_depth_5c
  FROM 'poly_snapshots.parquet'
  WHERE yes_bid IS NOT NULL AND yes_ask IS NOT NULL
""").df()

kalshi_live = duckdb.sql("""
  SELECT timestamp, ticker, yes_bid, yes_ask,
         home_score, away_score, period, time_remaining
  FROM 'kalshi_snapshots.parquet'
  WHERE game_state = 'live' AND tradable_now
""").df()

Why it can't be backfilled

Historical book states are perishable. Current-book APIs do not reproduce this fixed Dec 2025 – Jan 2026 capture. A researcher can collect future states, but cannot recreate these exact past observations.

Alternative ways to source the inputs

The right source depends on whether you need trades, historical book states, both venues, or sports context. For a maintained vendor-by-vendor comparison, see our historical data buyer's guide.

Approach Historical quote snapshots Both venues included Sports context / outcomes Effort
Polymarket / Kalshi public API ✗ current state only You build it — and the history is already gone
Reconstruct on-chain (Polygon) ~ trades only ✗ Polymarket only Weeks of plumbing, still no quote tape
Odds APIs / OddsJam ✗ sportsbook odds, not PM books $30–999/mo, wrong data
ZenHodl archive ✓ captured snapshots ✓ separate tables; buyer maps them Kalshi capture state; no outcomes Download two Parquets

New: the cross-venue matched book

The separate MLB matched-book product aligns Polymarket and Kalshi by dated game key and capture time. Its current frozen vintage has 315 dated game keys: 282 settled and 33 explicitly unresolved. It is sampled top-of-book research data, not fills or a promise of profitable divergence.

Inspect a full settled game free on HuggingFace (also on Zenodo with a DOI), then inspect the Polymarket–Kalshi MLB matched-book archive.

What people use it for

Backtesting in-game strategies

Model entries from captured bid/ask observations; on Kalshi rows, segment analysis by the game state observed at capture time.

Market microstructure research

Study spread and depth dynamics, sampling gaps, quote persistence, and liquidity-state distributions.

Execution & spread-cost modeling

Measure realistic entry cost from the recorded bid/ask spread at each captured snapshot, across both venues.

Training win-probability models

Use the Kalshi capture-state fields as a research input after validating coverage, lag, and outcome joins.

Buy from a transparent vendor

Inspect the data before you pay: free sample files show you the exact schema and quality. Our public results ledger includes wins, losses, nonbinary outcomes and measured execution-evidence coverage rather than a selective profit headline. Usage terms are spelled out in the data license.

FAQ

How is this different from the free Polymarket API?

The public API does not reproduce this historical book window. The archive contains a Polymarket CLOB table and a separate Kalshi top-of-book table; only Kalshi rows carry capture-time game state, and cross-venue matching is buyer-side.

What format is it?

Apache Parquet, with an included schema document. Loads directly in pandas, Polars or DuckDB.

Is there a free sample?

Yes — grab the samples here and inspect the schema before buying.

What date range does it cover?

A fixed window: Dec 28 2025 – Jan 30 2026 (~136M rows), dense but not gap-free (see schema). The exact historical snapshots cannot be recaptured after the window; newer data ships as separate drops.

Is there newer data than this archive?

Yes. Capture has continued, with disclosed dark windows: the Kalshi Microstructure Tape is a dated vintage refreshed periodically — its current vintage date, row counts, print families and coverage limits are stated on its own page rather than repeated here. We also decoded Polymarket's RFQ-only parlay market from the settlement layer — the study has free samples, and the full panel is available on request.

Can I use it commercially?

The standard license covers single-user research and backtesting. For redistribution, multi-seat or white-label feeds, contact us for commercial terms.

Get the Polymarket & Kalshi orderbook archive

One-time $150. Instant download. Free samples first if you want to look before you buy.

Get the archive — $150 Download free samples