Game Detail
curl --request GET \
--url https://api.polynode.dev/v2/sports/games/{slug} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v2/sports/games/{slug}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.polynode.dev/v2/sports/games/{slug}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.polynode.dev/v2/sports/games/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polynode.dev/v2/sports/games/{slug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.polynode.dev/v2/sports/games/{slug}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v2/sports/games/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"title": "Knicks vs. Rockets",
"slug": "nba-nyk-hou-2026-03-31",
"score": "94-111",
"gameId": 20023567,
"startTime": "2026-04-01T00:00:00Z",
"eventDate": "2026-03-31",
"closed": true,
"volume24hr": 7684869,
"teams": [
{
"id": 100494,
"name": "Knicks",
"league": "nba",
"record": "48-28",
"logo": "https://polymarket-upload.s3.us-east-2.amazonaws.com/NBA+Team+Logos/NYK.png",
"abbreviation": "nyk",
"alias": "Knicks",
"color": "#E08020",
"providerId": 6
},
{
"id": 100503,
"name": "Rockets",
"league": "nba",
"record": "46-29",
"logo": "https://polymarket-upload.s3.us-east-2.amazonaws.com/NBA+Team+Logos/HOU.png",
"abbreviation": "hou",
"alias": "Rockets",
"color": "#C00020",
"providerId": 14
}
],
"markets": [
{
"question": "Knicks vs. Rockets: O/U 217.5",
"sportsMarketType": "totals",
"outcomePrices": "[\"0\",\"1\"]",
"clobTokenIds": "[\"token1\",\"token2\"]",
"volume24hr": 250000,
"gameStartTime": "2026-04-01 00:00:00+00",
"clearBookOnStart": true,
"secondsDelay": 3
},
{
"question": "Jalen Brunson: Points O/U 24.5",
"sportsMarketType": "points",
"outcomePrices": "[\"0.46\",\"0.54\"]"
}
],
"eventMetadata": {
"context_description": "The New York Knicks entered their March 31 matchup at the Houston Rockets as the Eastern Conference's No. 3 seed at 48-27..."
}
}
Game Detail
Full game data: score, teams, markets, and AI-generated preview.
GET
/
v2
/
sports
/
games
/
{slug}
Game Detail
curl --request GET \
--url https://api.polynode.dev/v2/sports/games/{slug} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.polynode.dev/v2/sports/games/{slug}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.polynode.dev/v2/sports/games/{slug}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.polynode.dev/v2/sports/games/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.polynode.dev/v2/sports/games/{slug}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.polynode.dev/v2/sports/games/{slug}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polynode.dev/v2/sports/games/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"title": "Knicks vs. Rockets",
"slug": "nba-nyk-hou-2026-03-31",
"score": "94-111",
"gameId": 20023567,
"startTime": "2026-04-01T00:00:00Z",
"eventDate": "2026-03-31",
"closed": true,
"volume24hr": 7684869,
"teams": [
{
"id": 100494,
"name": "Knicks",
"league": "nba",
"record": "48-28",
"logo": "https://polymarket-upload.s3.us-east-2.amazonaws.com/NBA+Team+Logos/NYK.png",
"abbreviation": "nyk",
"alias": "Knicks",
"color": "#E08020",
"providerId": 6
},
{
"id": 100503,
"name": "Rockets",
"league": "nba",
"record": "46-29",
"logo": "https://polymarket-upload.s3.us-east-2.amazonaws.com/NBA+Team+Logos/HOU.png",
"abbreviation": "hou",
"alias": "Rockets",
"color": "#C00020",
"providerId": 14
}
],
"markets": [
{
"question": "Knicks vs. Rockets: O/U 217.5",
"sportsMarketType": "totals",
"outcomePrices": "[\"0\",\"1\"]",
"clobTokenIds": "[\"token1\",\"token2\"]",
"volume24hr": 250000,
"gameStartTime": "2026-04-01 00:00:00+00",
"clearBookOnStart": true,
"secondsDelay": 3
},
{
"question": "Jalen Brunson: Points O/U 24.5",
"sportsMarketType": "points",
"outcomePrices": "[\"0.46\",\"0.54\"]"
}
],
"eventMetadata": {
"context_description": "The New York Knicks entered their March 31 matchup at the Houston Rockets as the Eastern Conference's No. 3 seed at 48-27..."
}
}
Returns everything about a single game. This is the most detailed sports endpoint. Use the
For example, both requests return the full parent event and all of its normalized markets:
Append
A market-ID lookup resolves the market to its parent event, so the response’s
See Market Types for the full list of 99 types.
slug from the List Games or Search endpoints.
string
required
Game slug (e.g.
nba-nyk-hou-2026-03-31).string
required
Your API key.
Look up a game by event ID or market ID
Every game-scoped endpoint also accepts an explicit Polymarket event ID or market ID. Use the explicit prefix because event IDs and market IDs are separate numeric namespaces.| Lookup | Path |
|---|---|
| Event ID | /v2/sports/games/by-event/{event_id} |
| Market ID | /v2/sports/games/by-market/{market_id} |
curl "https://api.polynode.dev/v2/sports/games/by-event/53042?key=YOUR_KEY"
curl "https://api.polynode.dev/v2/sports/games/by-market/619816?key=YOUR_KEY"
/state, /context, /prices, or /history to either ID path exactly as you would for a slug:
curl "https://api.polynode.dev/v2/sports/games/by-market/619816/state?key=YOUR_KEY"
slug is always the canonical event slug—not the individual market slug.
{
"title": "Knicks vs. Rockets",
"slug": "nba-nyk-hou-2026-03-31",
"score": "94-111",
"gameId": 20023567,
"startTime": "2026-04-01T00:00:00Z",
"eventDate": "2026-03-31",
"closed": true,
"volume24hr": 7684869,
"teams": [
{
"id": 100494,
"name": "Knicks",
"league": "nba",
"record": "48-28",
"logo": "https://polymarket-upload.s3.us-east-2.amazonaws.com/NBA+Team+Logos/NYK.png",
"abbreviation": "nyk",
"alias": "Knicks",
"color": "#E08020",
"providerId": 6
},
{
"id": 100503,
"name": "Rockets",
"league": "nba",
"record": "46-29",
"logo": "https://polymarket-upload.s3.us-east-2.amazonaws.com/NBA+Team+Logos/HOU.png",
"abbreviation": "hou",
"alias": "Rockets",
"color": "#C00020",
"providerId": 14
}
],
"markets": [
{
"question": "Knicks vs. Rockets: O/U 217.5",
"sportsMarketType": "totals",
"outcomePrices": "[\"0\",\"1\"]",
"clobTokenIds": "[\"token1\",\"token2\"]",
"volume24hr": 250000,
"gameStartTime": "2026-04-01 00:00:00+00",
"clearBookOnStart": true,
"secondsDelay": 3
},
{
"question": "Jalen Brunson: Points O/U 24.5",
"sportsMarketType": "points",
"outcomePrices": "[\"0.46\",\"0.54\"]"
}
],
"eventMetadata": {
"context_description": "The New York Knicks entered their March 31 matchup at the Houston Rockets as the Eastern Conference's No. 3 seed at 48-27..."
}
}
What you get
| Field | Description |
|---|---|
score | Final score (e.g. 94-111) or live score during game |
teams | Team names, logos, records, colors, abbreviations |
markets | All betting markets: moneyline, spreads, totals, player props |
eventMetadata.context_description | AI-generated game preview with injuries, stats, matchup context |
gameId | Unique game identifier |
startTime | Scheduled start time (UTC) |
clearBookOnStart | Whether the order book clears at game start |
secondsDelay | Seconds delay for live market updates (typically 3s) |
Market types you’ll see
sportsMarketType | What it is |
|---|---|
moneyline | Who wins the game |
spreads | Point spread betting |
totals | Over/under total points |
points | Player points prop |
rebounds | Player rebounds prop |
assists | Player assists prop |
nrfi | No run first inning (MLB) |
first_blood_game | First blood (esports) |
kill_over_under_game | Total kills over/under (esports) |
lol_penta_kill | Any player penta kill (LoL) |
⌘I

