NHL games API
games
nhl.gamesEvery scheduled and played NHL game — preseason, the 82-game regular season, and the four-round Stanley Cup Playoffs through the Stanley Cup Final.
⚠️ This endpoint is documented but not yet live. Calls return
503 until data is wired in.GET/api/v1/nhl/gamesList games for NHL
Requires one of:
season_id — requests satisfying none of these return 400.Parameters
season_idquerybigintoptionalFilter to a season. Defaults to the current season.
home_team_idquerybigintoptionalFilter by home team.
away_team_idquerybigintoptionalFilter by away team.
statusquerystringoptionalFilter by game status.
dayqueryintegeroptionalFilter by calendar day (YYYY-MM-DD date) — e.g. day=2026-06-09 for today's slate. season_id defaults to the current season; pass it explicitly for past-season days. Range syntax: day__gte=, day__lte=, day__between=.
limitqueryintegeroptionaldefault 50Page size. Defaults to 50; max 5000.
from_idquerybigintoptionalReturn rows with id strictly greater than this value; page using the previous response's `next_from_id`. Omit on the first page.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/nhl/games?season_id=2026'Responses
200games rows matching the declared filter set, wrapped in { games, limit, next_from_id }. next_from_id is the last row's id on a full page — pass it back via ?from_id= to walk the full result; null marks the terminal page.application/jsonshow example ▸
400No declared filter set was satisfied — response body matches MissingRequiredFiltersError; pick one combo from the accepted-sets hint and resend.
application/json503Coming soon — handler returns 503 until data is wired in.
Response Schema(35 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
arena_id | bigintnullable | — e.g. — (all-null in sample) | |
away_team_id | bigint | — e.g. — (all-null in sample) | |
home_team_id | bigint | — e.g. — (all-null in sample) | |
league_game_id | integernullable | — | Official NHL game ID (issued by the league) e.g. — (all-null in sample) |
league_id | stringnullable | — | Official NHL game identifier e.g. — (all-null in sample) |
season_id | bigint | — e.g. — (all-null in sample) | |
attendance | integernullable | — | — e.g. — (all-null in sample) |
away_team_score | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_overtime | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_period1 | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_period2 | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_period3 | integernullable | — | — e.g. — (all-null in sample) |
away_team_series_wins | integernullable | — | — e.g. — (all-null in sample) |
channel | stringnullable | — | — e.g. — (all-null in sample) |
day | integer | — | Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern. e.g. — (all-null in sample) |
game_time | timestamptz | — | Scheduled puck drop (timezone-aware). e.g. — (all-null in sample) |
home_team_score | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_overtime | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_period1 | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_period2 | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_period3 | integernullable | — | — e.g. — (all-null in sample) |
home_team_series_wins | integernullable | — | — e.g. — (all-null in sample) |
is_overtime | boolean | — | — e.g. — (all-null in sample) |
is_shootout | boolean | — | — e.g. — (all-null in sample) |
last_play | stringnullable | — | — e.g. — (all-null in sample) |
neutral_site | boolean | — | — e.g. — (all-null in sample) |
overtime_periods | integernullable | — | — e.g. — (all-null in sample) |
period | stringnullable | — | Current period (1, 2, 3, OT, SO, Final) e.g. — (all-null in sample) |
playoff_round | stringnullable | — | First Round, Second Round, Conference Finals, Stanley Cup Final e.g. — (all-null in sample) |
season_type | string | — | Canonical season phase (text). Was integer 1/2/3/4 before the 2026-06-29 normalization. e.g. — (all-null in sample) |
series_game_number | integernullable | — | — e.g. — (all-null in sample) |
status | string | — | — e.g. — (all-null in sample) |
time_remaining_minutes | integernullable | — | — e.g. — (all-null in sample) |
time_remaining_seconds | integernullable | — | — e.g. — (all-null in sample) |
GET/api/v1/nhl/games/{id}Get a single game by id
Parameters
idpathbigintrequiredPrimary key (id) of the game row.
Restores the documented defaults (trial keys only accept the unchanged defaults).
Request
curl -sS --compressed \
-H 'Authorization: Bearer YOUR_API_KEY' \
'https://api.stat-api.com/api/v1/nhl/games/{pk_value}'Responses
200Single game row.application/jsonshow example ▸
404Row not found.
503Coming soon — handler returns 503 until data is wired in.
Response Schema(35 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
arena_id | bigintnullable | — e.g. — (all-null in sample) | |
away_team_id | bigint | — e.g. — (all-null in sample) | |
home_team_id | bigint | — e.g. — (all-null in sample) | |
league_game_id | integernullable | — | Official NHL game ID (issued by the league) e.g. — (all-null in sample) |
league_id | stringnullable | — | Official NHL game identifier e.g. — (all-null in sample) |
season_id | bigint | — e.g. — (all-null in sample) | |
attendance | integernullable | — | — e.g. — (all-null in sample) |
away_team_score | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_overtime | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_period1 | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_period2 | integernullable | — | — e.g. — (all-null in sample) |
away_team_score_period3 | integernullable | — | — e.g. — (all-null in sample) |
away_team_series_wins | integernullable | — | — e.g. — (all-null in sample) |
channel | stringnullable | — | — e.g. — (all-null in sample) |
day | integer | — | Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern. e.g. — (all-null in sample) |
game_time | timestamptz | — | Scheduled puck drop (timezone-aware). e.g. — (all-null in sample) |
home_team_score | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_overtime | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_period1 | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_period2 | integernullable | — | — e.g. — (all-null in sample) |
home_team_score_period3 | integernullable | — | — e.g. — (all-null in sample) |
home_team_series_wins | integernullable | — | — e.g. — (all-null in sample) |
is_overtime | boolean | — | — e.g. — (all-null in sample) |
is_shootout | boolean | — | — e.g. — (all-null in sample) |
last_play | stringnullable | — | — e.g. — (all-null in sample) |
neutral_site | boolean | — | — e.g. — (all-null in sample) |
overtime_periods | integernullable | — | — e.g. — (all-null in sample) |
period | stringnullable | — | Current period (1, 2, 3, OT, SO, Final) e.g. — (all-null in sample) |
playoff_round | stringnullable | — | First Round, Second Round, Conference Finals, Stanley Cup Final e.g. — (all-null in sample) |
season_type | string | — | Canonical season phase (text). Was integer 1/2/3/4 before the 2026-06-29 normalization. e.g. — (all-null in sample) |
series_game_number | integernullable | — | — e.g. — (all-null in sample) |
status | string | — | — e.g. — (all-null in sample) |
time_remaining_minutes | integernullable | — | — e.g. — (all-null in sample) |
time_remaining_seconds | integernullable | — | — e.g. — (all-null in sample) |