/ohlcv
Candles for one outcome token, priced in probability 0–1 — a different endpoint and a different store from the Hyperliquid price candles at /v1/hyperliquid/ohlcv.
GET https://data.vike.io/v1/polymarket/ohlcv?token_id={token_id}&interval={interval}Candles for one outcome token. Rows carry ts, open, high, low, close, volume and
trades, oldest bar first. There is no cursor: a window wider than limit bars is cut at its
recent end, so move from forward to reach it. from later than to is not an error, just [].
All three bars are shown — limit=3 bounded the response. The OHLC values are the probabilities
the warning below describes: 0.73 is 73%, not $0.73. volume is not on that
scale: it is a share count (outcome-token units), not a dollar figure — the third bar is 3.28767
shares at 0.73, which is $2.40 — so the two number families in one row mean different things.
Multiply volume by a price for a dollar notional.
Bars are only emitted for intervals that traded, so ts is not a fixed-step series
A bar exists only for an interval in which something traded. The
first two bars above are 1784970000000 and 1785009600000 — 39,600,000 ms apart, eleven hours
on a 1h interval. A client that assumes consecutive rows are one interval apart, or that
back-fills gaps by index, will misread this tape. Step by ts, never by position.
# the probability candles of one outcome token, oldest first: here the first three hourly bars of its tape
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/ohlcv?token_id=95532524407959903145510583684979049735028502452973932716346555811355282494630&interval=1h&limit=3"
# the token's whole recorded life as daily bars: market_stats puts the tape at under 30 days
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/ohlcv?token_id=95532524407959903145510583684979049735028502452973932716346555811355282494630&interval=1d&limit=30"
# a pinned window for a backtest: the exact first_ms and last_ms that market_stats returned, in epoch MILLISECONDS (a date string here is ignored and you get the whole series), hourly bars within the 1000-bar cap
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/ohlcv?token_id=95532524407959903145510583684979049735028502452973932716346555811355282494630&interval=1h&from=1784951510849&to=1787183633324&limit=1000"
# one UTC day at 5 minutes: both bounds are inclusive, so end a millisecond before the next midnight or its 00:00 bar is counted twice
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/ohlcv?token_id=95532524407959903145510583684979049735028502452973932716346555811355282494630&interval=5m&from=1787097600000&to=1787183999999"
# the last hour of the tape in minute bars, to line up against the same window of /events
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/ohlcv?token_id=95532524407959903145510583684979049735028502452973932716346555811355282494630&interval=1m&from=1787180000000&to=1787183633324&limit=100"
# the tail of the series: bars come oldest first and limit cuts the recent end, so start later with from rather than raising limit
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/ohlcv?token_id=95532524407959903145510583684979049735028502452973932716346555811355282494630&interval=1h&from=1787097233324"
# the other outcome token of the same market is its own series
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/ohlcv?token_id=107869950127184141743772429738701578723770582686430100389837827512148691029625&interval=1h&limit=3"token_idqueryrequiredintervalqueryrequired1m, 5m, 1h, 1d. Anything else returns 400 naming the four accepted values.fromqueryoptionaltoqueryoptionallimitqueryoptional500, hard cap 1000.[
{
"close": 0.74,
"high": 0.74,
"low": 0.73,
"open": 0.73,
"trades": 3,
"ts": 1784970000000,
"volume": 279.729667
},
{
"close": 0.73,
"high": 0.73,
"low": 0.73,
"open": 0.73,
"trades": 1,
"ts": 1785009600000,
"volume": 499.99
},
{
"close": 0.73,
"high": 0.73,
"low": 0.73,
"open": 0.73,
"trades": 1,
"ts": 1785013200000,
"volume": 3.28767
}
]These candles are priced in probability, 0–1, not in currency
open, high, low and close are probabilities between 0 and 1. This is a different endpoint
and a different store from
/v1/hyperliquid/ohlcv, which serves Hyperliquid perp candles
in currency. Same word, different data.
Note also that this window is inclusive at both ends, while
/events is half-open. The two endpoints do not share a
convention.
/market_stats
Aggregate recorded activity for one outcome token in a single row — the cheap orientation call before you request the tape itself.
/orderbook
An order-book snapshot for one outcome token, taken from the nearest recorded snapshot at or before ts. Rows can repeat per (side, level) — de-duplicate before summing size.