Polymarket historical data
“Polymarket historical data” means four different things: prices, trades, order books and resolutions. Polymarket's own APIs give you the first two and the last one for free. Nobody official keeps the order book, which is what you need to know what a trade would actually have cost. This page shows where each one comes from and links to a step-by-step guide for each.
Last updated:
| Dimension | Resolved Markets | Polymarket official APIs |
|---|---|---|
| Price history | Mid, bid, ask and spread candles from 1 second up | Single price series back to 2022; 1-minute buckets kept ≥7 days |
| Trades | Yes, joined to the book by token ID | Yes (Data API, 1,000 per page) |
| Order book at a past moment | Yes, full depth, since March 2026 | No |
| Resolution results | Yes, per market | Yes |
| Market coverage | Crypto, sports, weather, equities, economics, social; no politics | Every Polymarket market |
| Cost | Free tier (crypto), paid plans from Pro | Free |
1. Price history
Polymarket's GET https://data-api.polymarket.com/v2/prices-history returns one price series per outcome token, back to 2022. Resolution drops with age: 1-minute buckets for at least 7 days, 5-minute for 60 days, 30-minute for 90 days, then coarser. It is free and needs no key.
If you need the bid, ask and spread rather than one number, Resolved Markets returns candles of each from its recorded books: /v1/markets/:id/snapshots?side=UP&interval=1m. All free sources are compared in Free Polymarket historical data.
2. Trade history
The Data API /v2/trades endpoint returns up to 1,000 trades per request with cursor paging. Every fill also settles on Polygon, so on-chain tools such as Dune and CryptoHouse have the full trade record. Resolved Markets' /v1/markets/:id/trades returns fills keyed by the same token ID as its book snapshots, so you can line up each trade with the book it hit. Note that Polymarket's Data API v1 is retired on October 24, 2026; see the Polymarket API guide.
3. Historical order books
Polymarket's CLOB GET /book returns the current book only. Resolved Markets has recorded full-depth books since March 2026: 4.2B+ orderbook snapshots across 184 series in crypto (39), sports (7), economics (2), weather (108), social (1), equities (27). Crypto covers BTC, ETH, SOL, XRP, DOGE, HYPE, BNB on 5m, 15m, 1h, 4h, 1d, hit-price markets.
Each snapshot has the bid and ask ladders, best bid and ask, mid, spread and millisecond timestamps. Query a market by time range or at an exact moment. The full walkthrough is in How to access Polymarket historical orderbook data.
# The most recently settled BTC 15-minute market
curl -s -H "X-API-Key: rm_your_key" \
"https://api.resolvedmarkets.com/v1/markets/history/recent?crypto=BTC&timeframe=15m&status=closed&limit=1"
# Its order books, full depth, 500 rows per page
curl -s -H "X-API-Key: rm_your_key" \
"https://api.resolvedmarkets.com/v1/markets/<market_id>/snapshots?side=UP&includebook=true&limit=500"4. Resolutions and settlement
Polymarket's Gamma API (https://gamma-api.polymarket.com/markets) returns each market's metadata, including its outcomes after it closes. Resolved Markets returns the resolved outcome, outcome prices and resolution time for each market it recorded via /v1/markets/metadata?market_id=, so a backtest can settle positions without a second source.
Downloading in bulk
- CSV:
rm-api download -m <market_id> --format csvwith the@elcara-hq/resolvedmarkets-clinpm package. - Parquet: see Export Polymarket data to Parquet.
- AI agents: the MCP server and llms-full.txt; see AI agents.
- Live: the WebSocket stream (Pro and above) for books as they change.
Backtesting with historical data
A backtest on a price series assumes you trade at that price in any size. On thin prediction-market books that is rarely true. resolvedkit is an open-source (MIT) Python backtester that walks each order through the recorded book, applies Polymarket's fee curve and settles on the real resolution. It ships with sample data:
pip install resolvedkit
resolvedkit run late_favorite --compare-midFor the full path from data to live orders, read How to build a Polymarket trading bot and Polymarket fees, explained.
Frequently asked questions
Where can I download Polymarket historical data?
Price history and trades come free from Polymarket's Data API. Past order books are not published by Polymarket; Resolved Markets has recorded them with full depth since March 2026 and serves them over REST, a CLI that exports CSV, and MCP.
Does Polymarket provide historical order book data?
No. The CLOB GET /book endpoint returns the current book only, and Polymarket's docs list no endpoint for past bids and asks. Price history is a single price series without depth.
How far back does Polymarket historical data go?
Polymarket's price history reaches back to 2022 at 12-hour resolution, with finer buckets kept for shorter periods (1-minute for at least 7 days). Resolved Markets' order-book archive starts in March 2026.
Is Polymarket historical data free?
Prices and trades are free from Polymarket. Resolved Markets' Free tier includes full-depth historical books for crypto up/down markets (BTC, ETH, SOL, XRP, DOGE, HYPE, BNB) with 5,000 credits a month and no history limit.
How do I backtest with Polymarket historical data?
Use order-book history rather than a price series, because what a trade would have cost depends on the depth at that moment. resolvedkit, an open-source Python backtester, fills orders against recorded books and applies Polymarket’s fee curve.

