Get Market
Fetch a single market’s detail with live price.
If include_book is true, the response also includes
a book key with the CLOB order-book snapshot (async, best-effort).
(include_book=true bypasses the response cache since each
book snapshot is volatile and would dirty the cached payload.)
Responses are cached and coalesced per condition_id for a short window, so a burst of concurrent reads for the same market is served from a single computation.
Authorizations
Issue from /v1/keys (or admin-issued for enterprise tier).
Headers
Your PolySimulator API key
Polymarket-CLOB-compat alias for X-API-Key (underscore form). SDK clients ported from Polymarket can authenticate without changing header names. X-API-Key takes precedence when both are provided.
PM-CLOB-compat dashed-form alias for X-API-Key. Same value semantics as POLY_API_KEY but with HTTP-conventional dash separators. Both spellings are accepted end-to-end.
PM-CLOB-compat: Authorization: Bearer ps_live_... (or ps_test_...) is accepted as an alias for X-API-Key so py-clob-client and other ported SDKs authenticate without header name changes. Bearer JWTs are NOT accepted here — use the dashboard-auth endpoints for those.
Path Parameters
Query Parameters
Include CLOB order book
Response
Successful Response
What this market is called inside its event group (e.g. "Bernadette Wilson" for "Will Bernadette Wilson win the 2026 Alaska governor election?"). null when the market sync has not computed one yet — fall back to question.
CLOB token ids for this market's outcomes ([yes_id, no_id]). Pass to /v1/clob/book/{token_id} to fetch the L2 order book. May be null for archived markets with no tracked outcomes.
Rolling 24-hour volume in USD — the volume traded on this market over the trailing 24 hours, and nothing else. Stringified for floating-point precision safety. null when no 24-hour figure has been reported for this market yet — distinct from "0", which means the market traded zero volume in the last 24 hours. For the all-time figure use volume_total.
Cumulative all-time volume in USD for this market, since it opened. Stringified for floating-point precision safety. null when no cumulative figure has been reported yet — distinct from "0", which means the market has never traded. This is a much larger number than volume_24h for any market older than a day.
Last trade price for the YES token (0.0–1.0 implied probability). Stringified for precision. null when untracked; for the real-time top-of-book bid/ask use live_price.buy / live_price.sell.
PM-shape per-outcome token list. Each entry carries {token_id, outcome, price, winner} — the documented Polymarket contract that py-clob-client reads. price is the YES/NO probability at response-build time; winner is True only when the market is resolved AND this outcome is the settled winner (NEVER derived from price >= 0.99). For the legacy CLOB asset-id string list use clob_token_ids.
PM-shape: alias of condition_id (the on-chain market identifier). PM SDKs read this key by name; we surface the same value under both keys for cross-SDK compatibility.
PM-shape: alias of slug. PM SDKs use market_slug; polysim has historically used slug. Both are exposed with the same value so SDKs that branch on either key work.
PM-shape: negative-risk routing flag. true when the market is part of a negative-risk auction (single-winner across many outcomes); false for standard binary. null if not classified — treat as false.
SEO redirect target: populated with the current canonical slug when this market was requested via a deprecated/historical slug alias.