Polymarket Order Book Data for Execution-Accurate Research
Reconstruct market microstructure with historical L2 snapshots instead of midpoint assumptions. Pull timestamped bid and ask levels, pair them with prices and metrics, and run execution-aware backtests grounded in actual depth.
Live Dataset Surface
polymarket order book data
Rows
10B+
Historical archive
Markets
450K+
Open + resolved
Resolution
1m
Minute snapshots
Endpoint stream
/markets/{slug}/prices
42 ms
/markets/{slug}/metrics
50 ms
/markets/{slug}/books
61 ms
Dataset
What Is Included
- Historical L2 bid and ask levels with timestamped snapshots.
- Market prices and metrics aligned to the same market and time windows.
- Configurable date windows and resolutions for repeatable studies.
- Queryable market discovery to locate relevant slugs and ids quickly.
Code
API Example
import requestsBASE = "https://api.polymarketdata.co/v1"HEADERS = {"X-API-Key": "YOUR_API_KEY"}response = requests.get( f"{BASE}/markets/bitcoin-above-100k-jan-31/books", headers=HEADERS, params={ "start_ts": "2025-01-01T00:00:00Z", "end_ts": "2025-01-02T00:00:00Z", "resolution": "1m" }, timeout=30,)response.raise_for_status()books = response.json().get("data", [])pythonApplications
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.
Questions
FAQ
How far back do the L2 snapshots go?+
Order book history is available from each market's creation date at 1-minute resolution. For markets that launched in August 2025.
Does the order book include the full ladder or just the top few levels?+
Full ladder. Every resting bid and ask at each snapshot is included, so you can reconstruct realistic fill curves at any position size — not just top-of-book estimates.
How do I estimate slippage for a position I want to model?+
Pull the order book for your market and time window, then walk the bid or ask ladder cumulatively until you reach your target size. The volume-weighted average gives your estimated fill price. We have a full Python walkthrough in the blog.
Can I join order book data with price history in the same pipeline?+
They're separate endpoints but share the same market slugs and timestamp structure, so joining them is a straightforward merge on market and ts — one line in pandas or dplyr.
What if I need snapshots more frequent than every minute?+
1-minute is the highest resolution in our archive. Sub-minute data doesn't exist historically, and we're not planning to add it. For most strategy backtesting, 1-minute cadence captures the dynamics that matter.
Get Access
Start Working With polymarket order book data
Use a production-grade dataset for research, strategy validation, and analytics without rebuilding the ingestion layer from scratch.