DatasetsPolymarket
Order-book events
The full L2 tape — book snapshots, price_change deltas, trades, tick-size and status markers.
The full L2 tape — book snapshots, price_change deltas, trades, tick-size and status markers.
Coverage and cadence
Cadence. Continuous; archive one partition per UTC day
API: /events returns up to 24 hours per call and up to 50,000 events per page (next_cursor + has_more), reaching back about 30 days; /orderbook returns the nearest book snapshot at or before any instant in that range, depth up to 25. Archive: book_events.parquet per UTC day from 2026-07-25 (CC BY 4.0), which also carries condition_id and tick_size.
Fields
| Field | Type | Description |
|---|---|---|
token_id | string | The outcome token (ERC-1155 id) |
ts | integer | Event time, epoch milliseconds |
local_ts | integer | Receive time, epoch milliseconds |
seq | integer | Feed sequence number |
event_type | string | book | price_change | trade | tick_size_change | status |
is_snapshot | integer | 1 on a full-book row, 0 otherwise |
side | string | none | buy | sell |
price | number | The changed level (price_change) or the print (trade) |
size | number | Shares at that level, or traded |
best_bid | number | Top of book as recorded on the event; 0.0 when not set |
best_ask | number | Top of book as recorded on the event; 0.0 when not set |
bids | string | JSON [[price, size], …] carried as a string; empty when absent |
asks | string | JSON [[price, size], …] carried as a string; empty when absent |
status | string | Marker on status rows, e.g. gap_start; empty otherwise |
How to get it
- REST —
GET /v1/polymarket/events - Archive — daily Parquet partitions listed in the manifest; see the bulk archive guide.
Sample call
The call the dataset explorer builds (replace each {placeholder}):
curl -s "https://data.vike.io/v1/polymarket/events?token_id={token_id}&from_ms={from_ms}&to_ms={to_ms}&event_type=price_change&limit=50" \
-H "X-API-KEY: $VIKE_API_KEY"