Resolved Markets logoResolved Markets logo
Developer Guide

How to access Polymarket historical orderbook data

Polymarket exposes live market state, but researchers often need the orderbook as it looked yesterday, last week, or during a specific event. Resolved Markets stores point-in-time Polymarket orderbook snapshots with full bid/ask depth and exposes them through REST, OpenAPI, CLI export, and MCP.

Last updated:

  • Full depthSnapshot contents
  • MillisecondsTimestamp precision
  • Up to 500REST page size
  • CLI parquet exportBulk workflow

Three-step REST workflow

  1. Find a market. Use /v1/markets/live for active markets or /v1/markets/history for previously tracked markets.
  2. Query snapshots. Use /v1/markets/:id/snapshots with from, to, side, and limit.
  3. Analyze the book. Use best_bid, best_ask, mid, spread, bids, asks, and sequence_number for replay or backtesting.
# 1. Find active BTC markets
curl -s "https://api.resolvedmarkets.com/v1/markets/live?category=crypto&subcategory=BTC" \
  -H "X-API-Key: rm_your_key" | jq '.markets[] | {condition_id, slug, question}'

# 2. Pull historical snapshots
curl -s "https://api.resolvedmarkets.com/v1/markets/<condition_id>/snapshots?from=2026-05-01T00:00:00Z&to=2026-05-01T01:00:00Z&limit=500" \
  -H "X-API-Key: rm_your_key" | jq '.snapshots[0]'

# 3. Export with the CLI for larger research jobs
rm-api download --category crypto --subcategory BTC --from 2026-05-01 --to 2026-05-02 --format parquet --out ./btc/

Snapshot fields that matter

  • Full depth: bids and asks arrays, not just top-of-book.
  • Derived prices: best_bid, best_ask, mid, and spread.
  • Replay safety: sequence_number for gap detection.
  • Timing: event and capture timestamps for latency-sensitive research.
  • Context: paired spot crypto fields where applicable.

Frequently asked questions