Back to home
Orderbook Snapshots

Tick-level historical order books
for Polymarket

Replay any order book at 1ms resolution and join it with trades and markets — query in ClickHouse SQL or export Parquet, with no ingestion pipeline to build.

Get Started

900M+

Snapshots per day

1ms

Resolution (LOCF)

Nov 2025

Data available from

Parquet

Export format

Granularity

Granular data, queryable without ETL

Use ClickHouse when you need fast exploration, and Parquet exports when you need offline research.

Access model comparison
ProviderUpdates / DayResolutionHistoryFormat
ProbalyticsBest900M+1ms (LOCF)Nov 2025+ClickHouse SQL + Parquet
File vendorsVariesTick / snapshotVendor-specificCSV / Parquet files
Native APIsLive onlySource-dependentSelf-managedPer-platform JSON
Data Schema

Full orderbook depth in ClickHouse

Each snapshot captures the complete bid and ask sides of the orderbook for a given market outcome. Query the data directly, join it with trades and markets, then export only the slice you need.

  • Query orderbook_snapshots directly via ClickHouse SQL
  • Join orderbook depth with markets, trades, and platform metadata
  • Download Parquet files via REST API when you need offline analysis
  • LOCF interpolation at 1ms resolution with no gaps in your data
SQL Console
ClickHouse
SELECT
  market_id,
  outcome,
  bids,
  asks,
  timestamp
FROM orderbook_snapshots
WHERE market_id = '...'
  AND timestamp BETWEEN
    '2026-03-01' AND '2026-03-02'
ORDER BY timestamp
LIMIT 100
100 rows · 45ms Run Query
Parquet Downloads

Download snapshots as Parquet

Use the REST API to download orderbook snapshots for any market and time range. Returns a compressed Parquet file ready for analysis with Pandas, Polars, DuckDB, or Spark.

download.py
import requests
import pandas as pd

# Download orderbook snapshots as Parquet
res = requests.get(
  'https://api.probalytics.io/api/v1/orderbook-snapshots/download',
  headers={'Authorization': 'Bearer api_xxx:sk_xxx'},
  params={
    'market_id': '...',
    'start': '2026-03-01T00:00:00Z',
    'end': '2026-03-02T00:00:00Z',
  }
)

df = pd.read_parquet(io.BytesIO(res.content))
print(df.shape)  # (500000+, 5)

Use Cases

What you can do with granular orderbook data

Backtesting

Replay exact orderbook state at any millisecond to backtest strategies with realistic slippage and fill simulation.

Market Microstructure

Study bid-ask spread dynamics, liquidity depth, and order flow patterns across prediction markets.

Liquidity Analysis

Track how liquidity evolves around events, news, and market resolutions at the most granular level.

ML Feature Engineering

Build rich feature sets from orderbook depth, imbalance ratios, and spread dynamics for predictive models.

Coverage

Platform availability

Polymarket

Live

High quality from Feb 2026+

Nov 2025

Kalshi

Soon

Orderbook Data

Ready to query orderbook data?

Query Polymarket orderbook history in SQL, or export the slices you need as Parquet.

Start free trial

Also explore: Market data·Trade data