Polymarket historical data
Polymarket Historical Data: Order Books, Prices, Results and a Free Sample
Polymarket history comes in three kinds: price history, trades and the order book. The first two can be rebuilt long after the fact; the book cannot. DepthFeed has recorded 2.2 billion full-depth Polymarket books since 2026-01-01 and serves them by API or as daily files. Download a free sample of real books below.
The Polymarket archive, counted
Read from DepthFeed's archive and public file catalogue. Every figure carries its date. Archive counts as of October 29, 2026; file inventory as of October 29, 2026. Coverage grows daily, so every count is a floor.
2.2B
book snapshots. Recorded full-depth books from 2026-01-01.
3.45M
markets seen. Across every Polymarket category.
299
daily files. Sealed UTC days of books, 2026-01-01 to 2026-10-26.
113.2
GiB of books. Listed Parquet size of the book snapshot files.
Polymarket historical data is any record of a Polymarket market after the moment has passed: its price series, its executed trades, its settlement result, or its resting order book. Polymarket's own APIs serve price history and trades, and settlement on Polygon makes trades publicly indexable. No official endpoint serves past order books, so historical depth comes only from continuous capture.
Polymarket history by category
Every Polymarket event carries a category. These are the markets DepthFeed has seen in each one, how many have closed, and how many recorded books it holds for them.
| Category | Markets seen | Closed | Recorded book snapshots |
|---|---|---|---|
| Crypto up/down | 763K | 422K with a recorded winner | 2.09B, from 2026-01-01 |
| Sports | 2.43M | 2.14M | 85.8M, from 2025-12-30 |
| Climate and weather | 89.9K | 85.3K | 13.4M, from 2025-12-31 |
| Politics | 19.0K | 11.0K | 4.5M, from 2025-12-31 |
| Other crypto | 115K | 109K | 3.6M, from 2025-12-31 |
| Finance | 22.1K | 19.4K | 1.9M, from 2026-04-13 |
| Culture | 5.5K | 4.4K | 867K, from 2025-12-31 |
| Technology | 4.9K | 3.0K | 607K, from 2026-02-04 |
| Geopolitics | 1.5K | 1.1K | 548K, from 2026-04-30 |
| Macro | 1.3K | 852 | 348K, from 2026-02-26 |
Where to get Polymarket historical data: sources compared
Prices and trades are easy to find; past order books are the scarce part. This is what each source says it offers.
| Source | What it covers | How far back | Past order books | Format | Cost |
|---|---|---|---|---|---|
| Polymarket APIs (official) | Price history per outcome token, trades, market metadata | Each market's launch | No — current book only | JSON over REST and websocket | Free |
| PolymarketData | Series, events, markets, prices, metrics, order books | Not stated on its homepage | Yes, bids and asks depth, as it states | API, SQL, Parquet, CSV, JSON; S3 delivery | Paid plans and enterprise |
| Telonex | Tick-level trades, order books, quotes, on-chain fills | On-chain since November 2022, as it states | Yes, as it states | Daily Parquet, API | $99 a month for one exchange; $199 a month for all |
| Bitquery | On-chain fills, position splits, merges, payouts, market results | Since September 1, 2025 | No | Parquet | $400 a month window; $4,000 full history; free sample day |
| GitHub, Kaggle and Hugging Face datasets | One-off dumps of markets, prices or trades | Fixed at upload; not updated | Rarely | CSV, Parquet | Free |
| DepthFeed | Recorded full-depth books for 2.1 million markets, metadata and results for 3.45 million, Polymarket US | Books from 2026-01-01; level changes from 2026-06-06 | Yes: snapshots and level changes | REST, daily Parquet | Free key: last 7 days; files $40 per GiB; free real sample |
Free sample: real recorded Polymarket books
Three settled markets from October 27, 2026 — two BTC 5-minute and one ETH 15-minute up/down market — with every recorded book for both outcome tokens from 13:00 UTC through settlement, and each market's reference prices and winner. Real archive rows, not synthetic ones. No account needed.
- Order books, Parquet (1.1 MB, 11,951 rows)
- Order books, CSV (gzip) (1.0 MB)
- Markets and results, CSV (1 KB, 3 rows)
import io
import pandas as pd
import requests
def fetch(name):
r = requests.get(f"https://depthfeed.com/samples/polymarket/{name}", timeout=60)
r.raise_for_status()
return io.BytesIO(r.content)
books = pd.read_parquet(fetch("polymarket-sample-books.parquet"))
markets = pd.read_csv(fetch("polymarket-sample-markets.csv"))
books = books[books.bid_prices.str.len().gt(0) & books.ask_prices.str.len().gt(0)].copy()
books["best_bid"] = books.bid_prices.apply(max)
books["best_ask"] = books.ask_prices.apply(min)
books["spread"] = books.best_ask - books.best_bid
print(books.groupby(["slug", "outcome"]).spread.median())
print(markets[["slug", "price_to_beat", "final_price", "winner"]])- Keep asset_id and condition_id as strings; numeric loaders lose precision.
- Each market has two outcome tokens (Up and Down), each with its own book.
- Sample licence: free to use for evaluation and research; cite DepthFeed if you publish results from it.
One recorded Polymarket book
Copied from one stored BTC up/down 5-minute observation. This is a row from the archive, not an illustration.
Yes/Up token book; the No/Down side is the binary complement (down = 1 − up).: captured 10 ms after the exchange timestamp.
- bid_prices / bid_sizes
- Resting bids, best first, as parallel price and size arrays.
- ask_prices / ask_sizes
- Resting asks, best first. Walking these is how a fill's average price and slippage are computed.
- asset_id / condition_id
- Outcome token and market identifiers. Keep them as strings; numeric loaders lose precision.
- recv_ts_ms
- When DepthFeed received the book, in epoch milliseconds; the exchange timestamp is kept beside it where the venue supplies one.
Polymarket history at a glance
- Book snapshots
- 2.2 billion across 2.1 million markets, from 2026-01-01
- Book snapshot files
- 299 sealed UTC days, 2026-01-01 to 2026-10-26, 113.2 GiB
- Level-change files
- 130 days from 2026-06-06, 244.85 GiB
- Polymarket US files
- 28 days from 2026-09-29, 2.29 GiB, separate schema
- Markets and results
- 3.45 million markets; 422,000 settled up/down markets with winners
- Free API key
- Last 7 days of history, no card
- Files
- $40 per GiB, one-time; $5 minimum order
Pull Polymarket history for one market
Discover the market, then ask for its recorded snapshots. A free key covers the last 7 days; for whole days, buy the daily file.
curl -s "https://api.depthfeed.com/v3/btc/markets?limit=5" \
-H "Authorization: Bearer df_your_key"
curl -s "https://api.depthfeed.com/v3/btc/markets/<market_id>/snapshots?include_orderbook=true&interval=1m&start_time=2026-10-27T00:00:00Z" \
-H "Authorization: Bearer df_your_key"- Omit interval for raw stored resolution.
- start_time older than your plan window returns HISTORY_LIMIT_EXCEEDED; daily files have no plan window.
- Follow the response cursor until has_more is false.
Polymarket historical data
Where each kind of Polymarket history comes from
Price history: Polymarket's own prices-history endpoint
The CLOB API returns a price time series for one outcome token, with a chosen interval and fidelity. It is free, official and the right input for charts, calibration and forecast-accuracy work. It is keyed by token ID, not by slug, and on 5-minute and 15-minute markets a coarse fidelity leaves only a few points across the market's whole life. It records what traded, not what size was resting.
Trades: the Data API and on-chain indexers
Executed fills settle on Polygon, so trade and wallet history can be rebuilt from the chain and is served by Polymarket's Data API and by indexers. Use it for volume, flow, wallet and leaderboard research. A trade tape cannot tell you how deep the book was: a thin market and a deep one can print identical trades.
Order books: recorded live or not at all
Polymarket streams the live book over its CLOB websocket and serves the current book over REST, but it keeps no archive of past books. Once a moment passes, the ladder at that moment is gone unless something was connected and writing it down. This is the layer that decides whether a backtested fill was ever possible.
Settlement results
A backtest needs the outcome as well as the prices. DepthFeed stores each crypto up/down market's reference price at the start, its final price and the winner (422,000 settled markets from 2026-05-27), and the closed status of 3.45 million markets across all categories, so results join to books on the market identifier.
How far back DepthFeed's Polymarket history goes
Book snapshots start on 2026-01-01 for the longest-running BTC, ETH, SOL and XRP series; 5-minute markets and newer coins start later, and sports, politics, weather and other categories are recorded too (see the table above). Price-level change files start on 2026-06-06. Polymarket US is a separate dataset with its own schema, starting 2026-09-29.
Daily Parquet files: what one day contains
Each sealed UTC day is one Parquet file of full-depth book snapshots, sorted market first in 5,000-row groups. Recent days hold 11.7–13.0 million rows. Every row keeps asset_id and condition_id as strings, the receive timestamp, and the bid and ask price and size arrays. Level-change files record side, price and size updates; they are book updates, not a trade tape.
What this history cannot tell you
Recorded books show what was resting, not what would have happened to your order: queue position, hidden intent and your own market impact are not in any snapshot. The archive starts where capture began, not where Polymarket began, so for markets before 2026 Polymarket's own price history and the chain are the only sources.
Query Polymarket history with a free API key
A free key returns the last 7 days of recorded Polymarket books, with market metadata and results, and no card. Paid plans widen the window; whole UTC days are also sold as Parquet files.
