Datasets & Courses

The same data and models that power our API. Train your own models, backtest strategies, or learn to build a prediction market bot from scratch.

272 on the newsletter 70 downloaded the course in our launch giveaway
“I would have spent weeks pulling, cleaning, and time-syncing Polymarket and Kalshi data myself. ZenHodl handed me the whole archive in one download. Hundreds of hours back. Worth it on the time savings alone.”
Jhanelle Dormevil ★★★★★
“Exactly what's described — clean, structured, ready to load. No surprises, no clean-up. Saves me hours every time I sit down to work.”
Jerome Jack ★★★★★
Want continuous data, not a one-time download?

Live API access — $49/mo

Real-time fair win probability, edge signals, and orderbook snapshots across 11 sports. 30K req/mo, 1 WebSocket, Discord alerts. Bot course included free. Or start free with our Developer tier (500 req/mo, no card).

✓ 7-day free trial ✓ No card required for trial ✓ Cancel anytime
Course

Polymarket Bot Course

6 Jupyter notebooks: scraping ESPN, Elo ratings, WP models, backtesting, live bot, deployment. Build a complete prediction system from scratch.

6 Jupyter notebooks ESPN scraping to live deployment Working end-to-end code
Module 1: Scraping ESPN
Module 2: Elo Ratings
Module 3: WP Models
Module 4: Backtesting
Module 5: Live Bot
Module 6: Deployment
70 builders downloaded the course in our launch giveaway
$49
one-time, instant download
Buy Course

Exclusive Market Data

Not available anywhere else Preview samples →

Tick-level orderbook data from Polymarket and Kalshi. These platforms do not publish historical market data — we recorded it ourselves.

Launch Price

Polymarket & Kalshi Orderbook Archive

Tick-level bid/ask/spread/volume snapshots from BOTH Polymarket AND Kalshi sports prediction markets. Score-synced with live game state. 30+ days of continuous recording. Polymarket has no historical orderbook API — this is the only commercial source for backtest-ready depth data across both venues.

136M snapshots (25.7M Polymarket + 110.5M Kalshi), Dec 28 2025 – Jan 29 2026 · Schema PDF included 1.4 GB Parquet · 1.0 GB ZIP
“I would have spent weeks pulling, cleaning, and time-syncing Polymarket and Kalshi data myself. ZenHodl handed me the whole archive in one download. Hundreds of hours back. Worth it on the time savings alone.” — Jhanelle Dormevil
Research

Prediction Market Microstructure Pack

Research-grade analysis of Kalshi market dynamics: spread compression events, quote freezes, recovery curves, leader-lag clusters, reversion patterns. Includes charts and methodology.

20M+ row feed + analytics + 27 charts 93 MB

Training Datasets

25M+ game-state rows Preview samples →

ML-ready game-state snapshots from ESPN across 11 sports. Score, time, period, Elo, ESPN WP, and outcome labels. Parquet format, pandas-ready.

New

Polymarket Execution Research Pack

The first commercially-available dataset of paired order intent + fill outcomes + post-fill markouts (30s/60s/90s) from a live Polymarket sports trading bot. 24K+ orders across 7 sports + 3 market types. Includes the bot's pre-trade fill predictions, compression diagnostics, and shield-policy reasoning. Ideal for execution-alpha research, fill-probability modeling, and adverse-selection auditing.

24,278 orders · markouts at 30s/60s/90s · NCAAMB/NBA/NHL/NCAAWB/NFL/EPL/LALIGA 1.2 MB
Launch Price

Kalshi Sports Raw Tick & Event Archive

The raw ticks underneath the Microstructure Pack: 21.2M top-of-book burst snapshots + 9.9M mid-move events + 12.8M score-change windows. Dec 2025 → Apr 2026, 7 sports (NCAAMB, NBA, NFL, MLB, NHL, NCAAWB, NCAAFB). Companion to the Microstructure Pack — lets buyers re-derive existing metrics with custom thresholds, build new event detectors, or train fill-probability models on the underlying stream. Includes manifest, schema, methodology.

44M rows across 3 Parquet shards · zstd-compressed 395 MB ZIP · 21 GB raw equivalent
“I would have spent weeks pulling, cleaning, and time-syncing Polymarket and Kalshi data myself. ZenHodl handed me the whole archive in one download. Hundreds of hours back. Worth it on the time savings alone.” — Jhanelle Dormevil
Consolation

Sports Markets Top-of-Book Tape (Mar 28 – Apr 30 2026)

Top-of-book quotes + game state across Polymarket and Kalshi sports markets for the 33-day window from Mar 28 → Apr 30 2026 (the depth-recorder was offline, but top-of-book + game state continued capturing). Kalshi side: full archive-grade schema (25 columns, parity with the Jan 2026 archive Kalshi side). Polymarket side: top-of-book only (11 columns) — no L2 depth. Useful for backtesting score-reaction, trade-timing, and signal-generation strategies that don’t need depth metrics. If you need full L2 depth, see the Polymarket & Kalshi Orderbook Archive (Jan 2026) or the monthly drops starting May 2026.

78M rows total · Kalshi: 34M (full schema, 60K tickers) · Poly: 44M top-of-book (19 sports, 27K tokens) · Mar 28 – Apr 30 2026 819 MB ZIP · ~1.0 GB Parquet
$149 one-time

What you can build with this data

1.

Win probability models — 25M+ labeled game-state snapshots with ESPN WP as baseline. Train LR, XGBoost, or neural nets.

2.

Prediction market bots — the course walks you through building a complete Polymarket bot with edge detection and live execution.

3.

Market microstructure research — tick-level orderbook data for studying price discovery, spread dynamics, and liquidity patterns in prediction markets.

4.

Custom backtests — test entry criteria against real game outcomes and real market prices. Score, period, Elo, bid/ask — all included.

5.

Elo rating systems — cleaned game results for 258+ teams across 11 sports. Build your own Elo, Glicko, or TrueSkill.

6.

Academic papers — prediction market efficiency, price reaction to scoring events, sports betting market analysis. Cite-ready with provenance metadata.

Datasets delivered as ZIP files containing Apache Parquet and CSV. Compatible with pandas, polars, DuckDB, and Spark.

Instant download after purchase. Payments processed securely via Stripe.

Questions? Contact support

Want real-time signals instead? See API plans →