Fixed archive · Dec 2025 – Jan 2026
Historical Polymarket 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.
One-time purchase · Parquet · schema doc included · public results and evidence coverage
Choose the dataset that fits your question. These are separate archives; their product pages give the delivered dates, measured gaps and files.
Research observed spreads and displayed depth. Quotes and book levels do not establish executable fills or exchange-wide completeness.
Combo fills and decoded legs answer a different question from book snapshots. Matched MLB observations have their own mapping and capture-time limits.
Polymarket combo and parlay archive · Combo tryout
MLB cross-venue matched book · Kalshi historical depth and trade tape
Start with the recorded bid and ask fields, keep the token identifier as text, and inspect the timestamps. A small public CSV shows the layout; it cannot establish the full archive's coverage. The paid sports archive contains separate quote and depth files, and its manifest documents the observed window and gaps.
Python sample walkthrough · How to choose a Polymarket backtesting dataset
Polymarket rows include top quotes and depth aggregates; Kalshi rows contain top-of-book quotes and activity fields. Timestamps, not advertised cadence, are authoritative.
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 rows carry the latest observed score, period and clock at capture time. Polymarket rows do not; event-time analysis needs a separate verified join.
Columnar Parquet that loads straight into pandas, Polars or DuckDB. No scraping, no parsing, no rate limits.
Every column, unit and capture caveat is written up in an included schema document, with quick-start examples.
A fixed Dec 2025 – Jan 2026 snapshot (~136M rows), dense but not gap-free — per-sport gaps documented in the schema. Newer sports and combo archives are separate, versioned products.
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()
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.
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 |
The separate MLB matched-book product aligns Polymarket and Kalshi by dated game key and capture time. An earlier published vintage contained 733 dated games: 696 settled and 37 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.
Model entries from captured bid/ask observations; on Kalshi rows, segment analysis by the game state observed at capture time.
Study spread and depth dynamics, sampling gaps, quote persistence, and liquidity-state distributions.
Measure realistic entry cost from the recorded bid/ask spread at each captured snapshot, across both venues.
Use the Kalshi capture-state fields as a research input after validating coverage, lag, and outcome joins.
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.
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.
Apache Parquet, with an included schema document. Loads directly in pandas, Polars or DuckDB.
Yes — grab the samples here and inspect the schema before buying.
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.
Yes. The Polymarket Sports Order-Book Archive and its two-day tryout are separate products with newer quotes and L2 depth. The Polymarket Combo Archive contains decoded on-chain combo fills, legs and outcomes. The Kalshi Microstructure Tape has its own dated vintage and coverage limits. See each product's sample, schema and manifest; these products do not extend the fixed December 2025–January 2026 archive.
The standard license covers single-user research and backtesting. For redistribution, multi-seat or white-label feeds, contact us for commercial terms.
One-time $150. Instant download. Free samples first if you want to look before you buy.