Polymarket historical data

Polymarket Historical Data: Order Books, Prices and Downloads

Polymarket history comes from three places, and they reach back to different dates. Price history and trades can be pulled long after the fact. The order book cannot: it exists only where someone recorded it live. DepthFeed's recorded books start on 2026-01-01 and are sold by the UTC day.

Browse Polymarket daily files

The Polymarket archive, counted

Catalogue figures are read from the public file inventory; archive-wide counts from DepthFeed's own capture. Both carry their date. Inventory as of October 28, 2026; archive count as of June 21, 2026. Coverage grows daily, so every count is a floor.

  • 298

    sealed UTC days. Book snapshot files from 2026-01-01 to 2026-10-25.

  • 112.86

    GiB of books. Listed Parquet size of the book snapshot files.

  • ~12M

    rows per day. Book snapshot rows in each recent daily file (11.7–13.0 million).

  • 450 million

    snapshots measured. Deduplicated books across the archive as of June 21, 2026.

Polymarket historical data is any record of a Polymarket market after the moment has passed: its price series, its executed trades, 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 third-party capture.

Read the snapshot API docs

One recorded Polymarket book

Copied from one stored BTC up/down 5-minute observation. This is a row from the archive, not an illustration.

Bids — Up tokenAsks — Up token0.3471.990.33150.32283.640.31143.180.35431.640.36402.870.37359.20.38355.51
Resting size at each price level — btc-updown-5m (Polymarket CLOB). Bar length ∝ size.

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 snapshot files
298 sealed UTC days, 2026-01-01 to 2026-10-25
Book archive size
112.86 GiB of Parquet
Rows per recent day
11.7–13.0 million
Level-change files
129 days from 2026-06-06, 241.79 GiB
Polymarket US files
27 days from 2026-09-29, separate schema
Markets captured
380,000+
Settled outcomes referenced
60,307
Price
$40 per GiB, one-time; $5 minimum order

Pull Polymarket history for one market

Discover the market, then ask for its recorded snapshots. For whole days, buy the daily file instead of paging the API.

Copyable requestshell
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-20T00: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

  1. 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.

  2. 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 public 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.

  3. 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, and the only one DepthFeed sells.

  4. 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 the newer BNB, DOGE and HYPE cohorts start later. Price-level change files start on 2026-06-06. Polymarket US is a separate dataset with its own schema, starting 2026-09-29. The catalogue shows exactly which UTC days are sealed, so check it before assuming a continuous range.

  5. 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 in 25,000-row groups; they are book updates, not a trade tape.

  6. REST history for bounded pulls

    For a few markets or a short window, the snapshot API is cheaper than a file. Discover markets first so identifiers stay attached, then request recorded snapshots for one market with include_orderbook for the stored ladder and interval for one recorded row per bucket. Downsampling picks a real observation rather than interpolating, so a gap stays a visible gap.

  7. 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.

Pick the Polymarket days you need

The file catalogue lists every sealed UTC day with its size, row count and price before you create an account. Start with one day, load it with your own code, then widen the range.

Browse Polymarket daily files · Read the snapshot API docs

More on Polymarket historyMore on Polymarket history

Questions, answered.

Start backtesting on real depth.