Guides / Platform

Polymarket Historical Data API — Orderbook & Trade History

ProbSights' Polymarket historical data API covers two feeds for every indexed market: orderbook snapshots (the depth on both sides at a point in time) and the executed trade tape. Both are queried the same way — by market ID and time range — and both are normalized against Kalshi, so one integration reads both venues.

Endpoints

EndpointReturns
/v1/historical/polymarket/orderbook{ snapshots, pagination }
/v1/historical/polymarket/trades{ trades, pagination }

Parameters

ParameterNotes
market_idRequired. From /v1/search/markets.
asset_idOptional. Narrows to a single outcome token.
start_time / end_timeUnix seconds — not milliseconds, not ISO 8601.
granularityOrderbook only: 1m or 5m.
limit / pagination_keyPaging; see below.

Orderbook snapshot fields

Polymarket quotes a two-sided book, so snapshots carry bids and asks as arrays of { price, size }, plus the derived best_bid, best_ask, mid, and spread, and the asset_id the book belongs to. If you only need top-of-book, read the derived fields rather than walking the arrays.

Trade fields

Each fill carries price, size, side, timestamp, and two Polymarket-specific fields worth keeping: transaction_hash, which lets a fill be reconciled on-chain, and fee_rate_bps, the fee actually applied. Modelling costs from fee_rate_bps beats assuming a flat rate.

Example

GET /v1/historical/polymarket/orderbook
      ?market_id=<market_id>
      &granularity=1m
      &start_time=1737331200
      &end_time=1737417600
      &limit=1000

Page by resending with pagination_key set from pagination.pagination_key while pagination.has_more is true. Do not page by advancing start_time — records share timestamps, so you will drop or duplicate rows.

Coverage and access

BTC, ETH, and SOL Up/Down markets are covered across 5m, 15m, 1h, 4h, and 24h contract intervals on the Pro plan. Broader Polymarket history — and Kalshi alongside it over a 60-day window — is on Builder. Note that contract interval and snapshot granularity are independent: a 24h contract can be sampled at 1m.

Related

Related guides

Data from Kalshi and Polymarket. Search live API docs Pricing