- Home team name (
"Miami Heat") - Away team name
- Polynode slug (
"mia-cha","nba-mia-cha-2026-04-14") - Polynode league code (
"nba")
Search term. Case-insensitive. Matches substrings in home team, away team,
pn_slug, and pn_league_code.Only return games where
is_live = true.Your API key.
Response
Fields
| Field | Type | Description |
|---|---|---|
query | string | Echo of your ?q= input. |
count | integer | Number of games returned (max 50). |
games[].game_id | string | Upstream canonical id — pass to /v1/games/{id} for the full record. |
games[].pn_slug | string | null | Polynode slug — also works in /v1/games/{id}. null for unmapped-team leagues. |
games[].pn_league_code | string | League code (pass to /v1/leagues/{code}/games for related games). |
games[].sport_category | string | basketball / soccer / etc. |
games[].home_team / away_team | string | Team names. |
games[].start_date | string | ISO 8601 UTC. |
games[].status | string | unplayed / live / final. |
games[].is_live | boolean | Currently in-play flag. |
games[].score | string | "home-away" convenience format (e.g. "3-1"). |
games[].period / clock | string | null | Populated for live games. |
Worked examples
”I have a Polymarket URL, how do I get our data?”
Polymarket sports URLs look likepolymarket.com/event/nba-mia-cha-2026-04-14. The path component after /event/ is already our polynode slug. Two options:
- Go directly to Game Detail:
- Or search by the slug substring if you’re not 100% sure:
”I want every live NBA game”
pn_league_code is nba and is_live = true.
”Find me any live soccer game with ‘Madrid’ in a team name”
”I have a raw upstream game_id from another feed”
Just pass it to Game Detail:Performance
Search scans the full in-memory set of games (~1000-2000 entries during active hours) and filters client-side. Sub-10 ms p99 at current scale. The cap of 50 results is to protect against someone queryingq=a and getting everything.
