/markets/{condition_id}
One market's detail — the same row shape as the directory, for a single market you already hold a condition_id for.
GET https://data.vike.io/v1/polymarket/markets/{condition_id}One market's detail — the same row shape as the directory, for a single market. Call it when you
already hold a condition_id (from a Polymarket URL, a settlement row, or a stored id) and want
its token_ids, tick size and lifecycle flags without searching.
Note the shape: a one-element array, not a bare object. Even for a single market you index
[0]. It is the same row the directory returns, which is why an unknown id is an empty array
rather than a 404 — see the callout below.
# one market you already hold a condition_id for: its token_ids, tick size and lifecycle flags, no search needed
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/markets/0x7b9072e6a9cdcf022c4f098564e8ee612d544e179e4a33dcc2790fbaa778daa8"
# a sibling market from the same /markets?query=bitcoin search, to compare neg_risk, tick_size and end_date
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/markets/0x84fdc3f917e34acca874f93d978e84ed0c08969903ddf40a5d65274b3a5b4fdf"
# read tick_size per market rather than assuming it: this one steps in 0.01 where the two above step in 0.001
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/markets/0x752fa61c93f16c4b15e85b0bd438d9c684176b0ea7b319a84c8aca34616e8a8c"
# a market that has resolved on chain: its closed flag here is derived from that resolution, so read it beside /settlements
curl -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/markets/0x69e0442186b71c5cac4fa6304311e39101ed048983a200fc8e376a9dadd7de13"
# just the token_ids, ready to feed /ohlcv, /orderbook, /market_stats or /events
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/markets/0x7b9072e6a9cdcf022c4f098564e8ee612d544e179e4a33dcc2790fbaa778daa8" | jq '.[0].token_ids'
# an id the directory has never seen is 200 with [], not a 404, so test the length rather than the status
curl -s -H "X-API-Key: $VIKE_API_KEY" \
"https://data.vike.io/v1/polymarket/markets/0x0000000000000000000000000000000000000000000000000000000000000000" | jq lengthcondition_idpathrequired0x-prefixed market condition id.[
{
"active": 1,
"closed": 0,
"condition_id": "0x7b9072e6a9cdcf022c4f098564e8ee612d544e179e4a33dcc2790fbaa778daa8",
"end_date": 1798779600000,
"neg_risk": 1,
"slug": "will-bitcoin-reach-70000-by-december-31-2026-from-june-8",
"tick_size": 0.001,
"token_ids": [
"95532524407959903145510583684979049735028502452973932716346555811355282494630",
"107869950127184141743772429738701578723770582686430100389837827512148691029625"
]
}
]The path segment is matched as a condition_id only
The route looks a market up by condition_id and
by nothing else, so a token_id in this position returns [] with status 200. There is no
query-parameter form either: the route accepts no query parameters at all, and ?token_id= on this
path is refused with 400 {"error":"unknown query parameter 'token_id' (this endpoint accepts: none)"}.
There is no token-to-market lookup in this namespace, so keep the condition_id from the
/markets row you took the token from.
/markets
The market directory — search and filter the recorded market universe by slug. The entry point: almost every other Polymarket endpoint needs an id that only this one hands out.
/wallets/{address}
One Polymarket trader's profile — lifetime volume, realized P&L and hit rate over a window, markets, recent trades, open positions and an equity curve.