Polymarket historical order book data

Price history tells you where the market was. L2 tells you what was available.

For execution and microstructure research, best bid / ask alone can hide the depth behind the spread. BTC5m Data preserves Full-L2 snapshots and flattened levels alongside simpler quote series and quality metadata.

L1 vs L2

Choose the smallest layer that answers your question.

Top of book

Best bid and best ask are enough for spread, mid-price and basic execution studies.

Full-L2 snapshots

Use depth when you need resting liquidity, book imbalance, sweeps, refill behavior or price impact.

Reference timeline

Keep external reference-price ticks aligned with the market window for cross-market research.

Replayable structure

Snapshots and levels stay tied together.

Each L2 snapshot has an identifier, outcome token, timestamps and expected bid/ask level counts. The flattened level table references that snapshot, so validation can verify that the number of levels written matches the snapshot metadata.

This is more useful for reproducible research than a visual book screenshot or a few sampled prices.

Snapshot key
snapshot_id + token
Sides
bid / ask
Level order
level_index
Values
price + size
Validation
level-count parity

What “historical” should include

Data quality needs evidence, not just a file name.

Window start and end are explicit
Source timestamps and receive timestamps are separate
Connection gaps and missing-rate are reported
Every packaged file has a checksum
Partial captures stay rejected

Looking for a specific market period?

Request the date range before we build more product.

We use real requests to decide which periods and fields deserve packaging next.

Request order-book data