Historical Polymarket Order Book Data

Download order book snapshots and price-change updates for Polymarket Up/Down markets, with timestamped bid and ask depth for historical replay, liquidity analysis, and backtesting.

200K+
stored markets
99.9%+
historical data completeness
tick level
resolution
End point
/download/l2/{slug}.parquet42 ms
/download/trades/{slug}.parquet50 ms
/download/onchain_fills/{slug}.parquet61 ms

Polymarket L2 Order Book Data

Explore tick-by-tick order book snapshots and price-change updates for Polymarket Up/Down markets, with timestamped bid and ask depth.

#market_slugtimestamplocal_timestampevent_typeask_pricesask_sizesbid_pricesbid_sizes
1btc-updown-5m-178433280017843325007700001784332500798498book[0.51, 0.52, ... 0.99][619.93, 162.67, ... 43595.86][0.5, 0.49, ... 0.01][393.44, 188.75, ... 43546.02]
2btc-updown-5m-178433280017843327933640001784332793377432book[0.52, 0.53, ... 0.99][116.97, 248.53, ... 42501.49][0.5, 0.49, ... 0.01][953.1, 115, ... 42705.77]
3btc-updown-5m-178433280017843327946000001784332794608325book[0.52, 0.53, ... 0.99][127.22, 253.53, ... 42501.49][0.51, 0.5, ... 0.01][5, 938.9, ... 42705.77]
4btc-updown-5m-178433280017843327956110001784332795642681book[0.6, 0.61, ... 0.99][405.88, 262.02, ... 42501.49][0.51, 0.5, ... 0.01][5, 938.9, ... 42705.77]
5btc-updown-5m-178433280017843327957510001784332795758615book[0.53, 0.6, ... 0.99][8.64, 405.88, ... 42501.49][0.51, 0.5, ... 0.01][5, 938.9, ... 42705.77]
6btc-updown-5m-178433280017843327962280001784332796237192book[0.6, 0.61, ... 0.99][405.88, 257.01, ... 42501.49][0.52, 0.51, ... 0.01][79.9, 5, ... 42705.77]
7btc-updown-5m-178433280017843327962940001784332796316292book[0.64, 0.65, ... 0.99][434.07, 674.5, ... 42501.49][0.53, 0.52, ... 0.01][5, 50, ... 42705.77]
8btc-updown-5m-178433280017843327973760001784332797385138book[0.64, 0.65, ... 0.99][229.07, 474.5, ... 42606.49][0.52, 0.51, ... 0.01][50, 5, ... 42705.77]

Order book snapshots from websocket feed. Since 2026-02-01

API Example

import pandas as pd
slug = "btc-updown-5m-1784332800"
data_type = "l2"

url = f"https://api.pmdata.dev/download/{data_type}/{slug}.parquet"
df = pd.read_parquet(url, storage_options={"api_key": "<YOUR_API_KEY>", "User-Agent": "Mozilla/5.0"})
print(df.head())

Use Cases

Estimate fill quality and slippage under different order sizes.

Audit spread and depth regimes before deploying strategy changes.

Replay historical market states for execution-aware strategy testing.