Endpoints
| Endpoint | Description |
|---|---|
GET /v2/sports/leagues | Sports and esports league metadata from Polymarket Gamma |
GET /v2/sports/summary | League-level active/live/date summary |
GET /v2/sports/live | Backward-compatible live overview derived from /sports/summary |
GET /v2/sports/leagues/{league}/teams | Teams for a league, with logos and records when available |
GET /v2/sports/leagues/{league}/games | Games/events for a league, including markets, token IDs, and Gamma fallback metadata |
GET /v2/sports/games/{slug} | Full game/event detail with normalized markets |
GET /v2/sports/games/{slug}/state | Canonical game state: metadata, score fields, markets, current prices, and subscribe payload |
GET /v2/sports/games/{slug}/context | Agent-friendly context bundle from generated game queries and optional external sources |
GET /v2/sports/games/{slug}/prices | Current bid, ask, midpoint, and spread for game tokens |
GET /v2/sports/games/{slug}/history | Batch CLOB price history for game tokens |
GET /v2/sports/market-types | Polymarket sports market type codes with PolyNode labels/categories |
GET /v2/sports/search?q={query} | Search sports events and teams |
Game state
League games
Use league games for schedule discovery, such as listing all active FIFA World Cup match markets:series_id. If Polymarket Gamma’s primary event listing is unavailable, the response can still succeed through alternate Gamma sources and will include fallback: true. If Gamma is fully unavailable and PolyNode has a recent good response, it returns that cached response with stale: true.
Use this when you want one game-centric object instead of manually joining game metadata, CLOB prices, markets, and websocket subscription details.
include_history=true to include CLOB price history in the same response:
Game context
Use this for agent workflows that need game-specific search context next to the normalized sports object. PolyNode generates a small set of matchup, injury, lineup, news, or market-specific queries from the Polymarket game record, then runs the requested sources.| Parameter | Description |
|---|---|
sources | Comma-separated sources. Defaults to x. Supported: x, online. web, search, ddg, and ddg_instant alias to online. |
query_set | Query strategy. Supported: default, injuries, lineups, news, social, markets. |
max_queries | Number of generated queries to run. Defaults to 3, capped at 5. |
max_per_query | Per-source result count per query. Defaults to 5, capped at 10. |
include_state | Include the /state response in the same payload. Defaults to false. |
price_limit_tokens | Token cap used when include_state=true. Defaults to 20, capped at 200. |
x source uses the same X Search beta quota and 1 request/second key-level rate limit as /v2/x/search. Each generated X query consumes one X Search quota unit. The online source uses /v2/search/online and returns normalized public web results.
Current prices
Price history
limit_tokens defaults to 20 and is capped at 20 because Polymarket’s batch history endpoint caps requests at 20 market asset IDs. If you do not pass interval, start_ts, or end_ts, PolyNode requests the full available CLOB history with interval=max.
Notes
pricesfans out to Polymarket CLOB batch price, midpoint, and spread endpoints.historyuses Polymarket CLOB batch price history. Bare/historycalls default tointerval=max; passinterval=1d,interval=1w, or an explicitstart_ts/end_tswindow when you want a smaller range.- Scores are included only where Polymarket Gamma has score fields on the event. Use score fields as best-effort metadata, not guaranteed live scoreboard state.
- For live orderbook updates, use the returned
subscribe.token_idswith PolyNode orderbook WebSocket.

