Historical Polymarket Sports Data

Download tick-level order books, trades, and on-chain fills for Polymarket sports markets as Parquet files for quantitative research, market replay, and backtesting.

All
Sports markets
hourly
updates
tick level
resolution
Endpoint
/v1/polymarket/{data_type}/{YYYY/MM/DD}/{market_slug}.parquet

Historical datasets

What Is Included in Polymarket Sports Data

Access historical market microstructure data across Polymarket sports markets. Each market is available by slug with consistent schemas for comparing liquidity, prices, and executed activity across events.

l2

L2 order book data

Tick-level order book snapshots and updates with timestamped bid and ask depth for market replay and liquidity analysis.

trades

Trade data

Executed trade records for studying price discovery, market activity, and historical trading behavior.

onchain_fills

On-chain fills

Blockchain-settled fill data for tracing wallet-level activity and validating outcomes against on-chain records.

How to Analyze Historical Sports Prediction Markets

Sports markets have a clear event clock. Pre-game information, lineup news, the start of play, scoring events, interruptions, and the final result can each create a different liquidity regime. Tick-level records let you divide a market into those phases instead of treating the entire event as one price series. You can then measure how quickly probabilities changed, whether spreads widened around uncertain moments, and how much depth was available when a signal would have traded.

The order book and trade datasets answer different questions. L2 snapshots and updates show quoted liquidity, queue shape, and the prices that were available to a strategy. Trades show where executions actually occurred. On-chain fills provide a separate view of settled activity. Combining the three helps distinguish a temporary quote from executable interest and makes it possible to build backtests that account for spread, depth, and event timing.

PMData files contain Polymarket market activity, not official scores, schedules, or sportsbook odds. For event studies, join the market slug and timestamps to the external sports source you trust, normalize all timestamps to UTC, and define the information cutoff before evaluating a signal. Keeping those inputs separate reduces look-ahead bias and makes comparisons across leagues or event types easier to reproduce.

Download Polymarket Sports Data

import pandas as pd

market_slug = "your-sports-market-slug"
data_type = "l2"
date_path = "2026/08/01"

url = f"https://api.pmdata.dev/v1/polymarket/
url += f"{data_type}/{date_path}/{market_slug}.parquet"

df = pd.read_parquet(url, storage_options={"api_key": "<YOUR_API_KEY>", "User-Agent": "Mozilla/5.0"})
print(df.head())

Research Polymarket Sports Markets

Files are organized by UTC date and Polymarket market slug, so you can download only the markets and data types needed for a reproducible research workflow.

Pre-game and in-play analysis

Replay how prices and order book depth changed before an event and as new information arrived during competition.

Liquidity research

Compare spreads, available depth, and trading activity across leagues, event types, and stages of a market lifecycle.

Strategy backtesting

Test sports prediction market signals against timestamped books and trades instead of relying only on final prices.

Need another market category? Browse the complete Polymarket data archive.