Skip to main content
Use the backend REST API to read market data.
United Market is now live on BNB Smart Chain mainnet. We just launched — start trading on-chain prediction markets today.

List Markets

The query param is search, not q. Other filters: category, tagSlug, subTagSlug, groupId, groupSlug, groupSlugPrefix, ungrouped, betTypeName, status (OPEN / CLOSED / RESOLVED / CANCELLED), clobMarketStatus, sortBy (newest / volume / endingSoon). limit / offset are aliases for pageSize / page. The envelope is { data, pagination } (page / pageSize, default 60, max 250), not a bare array. The homepage listing is grouped by event:
Each item is { kind: "single", market } or { kind: "group", groupId, group, markets }. Pagination counts events, not child markets.

Sports scores

The envelope is { scores: [...] }. An unknown slug returns { scores: [] }, not 404. Live updates also arrive on Socket.IO join:sports → sports:score.

Get Market Detail

Market detail includes public market metadata such as the question, outcomes, condition id, polymarketSlug, status, and trading information. There is no slug field on a market.

Get Trading Snapshot

Use the trading snapshot for market pages. It returns the market plus trading data clients usually need before rendering an order ticket.

Get Orderbook

The HTTP book is { market, orderbooks: { yes, no }, orderbooksByOutcome } with aggregated buys / sells levels (price, size, numOrders). WebSocket ob:snapshot still uses bids / asks. A common pattern is:
  1. Load GET /markets/{id}/trading when the user opens the market page.
  2. Subscribe to WebSocket updates using the market conditionId.
  3. Refetch GET /markets/{id}/orderbook after orderbook:update if local state needs to recover.
Market makers checking whether a complement bid would mint can use GET /markets/{id}/best-bids?excludeMaker=<wallet> instead of the full book.

Get Ticker

Ticker data includes best bid, best ask, and midpoint values for market outcomes.

Get Price History

Use price history for charts and historical market views.

Get Recent Trades

The response is { fills: [...] }, not a bare array. Use trades for activity feeds, fills tables, and public market history.