Skip to main content

Markets

Discover and browse Polymarket prediction markets with live pricing data.

List Markets

Returns markets with attached live prices from Polymarket’s CLOB.

Query Parameters

sort is not supported — the underlying list is volume-ordered server-side. For domain-specific ordering, fetch a wide page (limit=200) and sort client-side.

Examples

Response

Field reference

Changed 2026-08-12 — volume_24h used to return all-time volume. Through 2026-08-11 this field was populated from the upstream cumulative volume, so it reported a market’s lifetime total under a 24-hour name — overstating the real rolling figure by up to 91x on long-running markets. It now carries the genuine trailing-24-hour number. If your integration was reading volume_24h and wanted the lifetime total, switch it to volume_total — on every market that reports a cumulative figure, which is nearly all of them, that is the same number the old field returned. See the changelog for the full note.
Data freshness: volume_24h, volume_total, last_price, and category are cached display values refreshed periodically. Newly-listed markets surface immediately with these fields as null and gain real values once data becomes available. Treat null as “data pending” rather than “missing market”. Neither volume field ever falls back to the other’s source — where the figure is unknown you get null, never a substitute from a different time window.
best_bid / best_ask / spread / last_trade price fields aren’t returned on the list endpoint today. Use GET /v1/spread?token_id=... and GET /v1/midpoint?token_id=... for top-of-book / mid. The detail endpoint GET /v1/markets/{condition_id} does return richer fields (event_group_id, event_title, end_date, resolved_outcome, archived, archived_at) plus the list-item shape.
All numeric values (buy, sell, price, volume, volume_24h, volume_total, last_price) are strings for floating-point precision safety. See String Numerics.

Order Book Lookup Recipe

Combine the list response with an order-book endpoint to render an L2 order book in two requests:
Convention: clob_token_ids[0] is the YES outcome, clob_token_ids[1] is NO. The IDs are stable for the lifetime of the market.
Three endpoint forms return the same OrderBookSnapshot shape — pick the one that matches the key you already hold:All three return the identical OrderBookSnapshot. The first two are first-class equivalents keyed by token id; the third is keyed by condition id when you don’t have the token id handy.

Get Market Detail

Returns full market detail with an optional order book snapshot.

Query Parameters

The response is the same as a list item, plus an optional order_book field when include_book=true, plus the following Polymarket-shape parity fields that py-clob-client SDKs read by name: Each tokens[] entry (a MarketToken) carries:
tokens (object list) and clob_token_ids (flat string list) are both returned and both stable for the market’s lifetime — pick whichever your SDK expects. tokens matches the Polymarket get_market() / getClobMarketInfo() shape; clob_token_ids is the PolySimulator convenience list ordered [yes_id, no_id].

Hot Markets

Markets with trading volume exceeding $5,000 are flagged as is_hot: true. Use hot_only=true to filter for actively traded markets — recommended for bots to ensure sufficient liquidity.
The is_hot threshold reads cumulative volume — the same figure volume_total carries, not volume_24h. A long-running market that has gone quiet can still be is_hot: true with a small volume_24h. This behaviour is unchanged by the 2026-08-12 volume_24h correction; filter on volume_24h yourself if you want recent activity specifically.

Next Steps