Polymarket Official API vs a Historical Archive

Polymarket Official API vs a Historical Archive

The official Polymarket API is free, authoritative, and the right answer for live state. It is not a historical depth archive. This page draws the line precisely: what the official endpoints return, what they do not, and which jobs need a recorded archive.

Figures measured as of 2026-10-02 on the published PolyOrderbooks archive.

Official endpoints

What the official API actually serves

  • GET /book — the current order book for one token: bids, asks, last trade price, tick size. A snapshot, not history.
  • POST /books — the same current-book payload for many tokens in one request.
  • GET /prices-history — a historical price series for one market, with interval options (1m, 6h, 1h, 1d, 1w, max) and a fidelity parameter in minutes (default 1).
  • Streaming and discovery via Gamma and the CLOB data feed, plus the Data API — v2 is live and v1 is documented for retirement on October 24, 2026.
  • py-clob-client for execution and public reads; a documented MCP server for agent use.

The gap

What no official endpoint serves

There is no documented official endpoint for arbitrary historical full L2 depth. Python /prices-history returns outcome prices over time, and /book returns the book now — nobody can ask the official API what the bid ladder looked like at a specific past minute. The full-depth book is off-chain, so it has to be captured as it happens by someone who keeps it.

That is the entire reason archives exist. The official API answers where the price was; an archive answers what you could actually trade at, and at what size, at a past instant.

Split

Which job needs which

  • Live prices and current depth — official API, free and rate-limited. No archive needed.
  • Settlement-aware backtests of Up/Down strategies — a depth archive at sub-minute resolution; the final minute of a 5-minute market is where the trade actually happens.
  • Execution and order placement — the official CLOB API is the only path. Data providers do not trade.
  • Long-horizon research over many markets — price series from the official API at 1-minute+ fidelity, or an archive when depth enters the question.
  • Reconstructing a specific past book — an archive (250ms, event-driven, or tick), or the official API cannot do it.

Worked example

The same job through both lenses

Run the two endpoints side by side on the same second and the division becomes concrete. The official /book returns the current ladder for one token — bids, asks, last trade, tick size — and the official prices-history returns a series of outcome prices, at one-minute fidelity by default. Neither returns the order book shape at an arbitrary past second: not the sizes, not both sides, not the sequence of a repricing.

Now replay the recorded final minute of a resolved 5-minute Up/Down market. An archive serves every 250ms frame of that minute: the floor hanging on the bound, the one-sided state, the exact second the executable price resets. That hour of frames is exactly the material that published settlement research (298 resolved contracts across the BTC corpus) is built from, and it simply does not exist in the official response set.

The official stack and the archive are not in competition — they are consecutive stages of one pipeline. Live reads hit /book and the CLOB stream; anything that needs to be reproduced later reads the archive. Most teams on this site run both: official for now, archive for afterwards.

Decision

How to pick

The decision rule is three questions. Is the job about what is true right now? Official API, free, rate-limited, done. Is the job about what was tradable at a recorded instant — sides, sizes, the settlement minute? Archive, because no official endpoint records it. Is the job execution and order placement? The official CLOB API is the only path; data providers never trade for you.

For backtests the archive wins by definition: a strategy simulation needs the framestream as it actually was, including the empty executable side during a reprise. The official 1-minute price series is the right supplement for long-horizon charting, and the two sit together in the same script without a conflict.

The honest edge case is the official fidelity parameter: at its finest minute setting it still runs about 30x coarser than the archive's 250ms grid, and it carries only prices, not depth. If a study ever depends on what you could fill at a given second, that study belongs in the archive.

FAQ

Can the official Polymarket API give me historical order book depth?

No documented endpoint does. GET /book returns the current book, and GET /prices-history returns price series. Full L2 history must come from a provider that recorded it.

Is the official Polymarket API free?

The public market-data endpoints are free and rate-limited, including /prices-history and /book. There is no separate documented API subscription.

When should I use an archive instead of the official API?

When depth — not just price — enters the question: backtesting with realistic fills, measuring liquidity into settlement, or reconstructing a past book. Official price history at minute fidelity smooths exactly the moves a 5-minute market finalizes.