---
title: "List games for NHL"
method: GET
path: "/api/v1/nhl/games"
tags: ["NHL"]
---

# List games for NHL

`GET /api/v1/nhl/games`

## Request

- Base URL: `https://api.stat-api.com`
- URL: `https://api.stat-api.com/api/v1/nhl/games`
- Auth: HTTP bearer

⚠️ This endpoint is documented but not yet live. Calls return 503 until the NHL data load is in production.

## Query parameters

- `season_id` integer
- `home_team_id` integer
- `away_team_id` integer
- `status` string
- `day` integer
- `day__gte` integer
- `day__lte` integer
- `day__between` integer
- `limit` integer
- `from_id` integer
- `format` 'json' | 'csv'

## Response `200`

games rows matching the declared filter set.

- NHLGamesListResponse
  - `games` NHLGames[], required
    - `arena_id` integer, nullable
    - `attendance` integer, nullable
    - `away_team_id` integer, required
    - `away_team_score` integer, nullable
    - `away_team_score_overtime` integer, nullable
    - `away_team_score_period1` integer, nullable
    - `away_team_score_period2` integer, nullable
    - `away_team_score_period3` integer, nullable
    - `away_team_series_wins` integer, nullable
    - `channel` string, nullable
    - `day` integer, required: Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern.
    - `game_time` string, date-time, required: Scheduled puck drop (timezone-aware).
    - `home_team_id` integer, required
    - `home_team_score` integer, nullable
    - `home_team_score_overtime` integer, nullable
    - `home_team_score_period1` integer, nullable
    - `home_team_score_period2` integer, nullable
    - `home_team_score_period3` integer, nullable
    - `home_team_series_wins` integer, nullable
    - `id` integer, required: Primary Key
    - `is_overtime` boolean, required
    - `is_shootout` boolean, required
    - `last_play` string, nullable
    - `league_game_id` integer, nullable: Official NHL game ID (issued by the league)
    - `league_id` string, nullable: Official NHL game identifier
    - `neutral_site` boolean, required
    - `overtime_periods` integer, nullable
    - `period` string, nullable: Current period (1, 2, 3, OT, SO, Final)
    - `playoff_round` string, nullable: First Round, Second Round, Conference Finals, Stanley Cup Final
    - `season_id` integer, required
    - `season_type` string, required: Canonical season phase (text). Was integer 1/2/3/4 before the 2026-06-29 normalization.
    - `series_game_number` integer, nullable
    - `status` string, required
    - `time_remaining_minutes` integer, nullable
    - `time_remaining_seconds` integer, nullable
  - `has_more` boolean, required: True when a full page came back, so more rows can exist.
  - `limit` integer, required: Page size used for this response.
  - `next_from_id` integer, nullable, required: Pass this as `from_id` on the next request to page forward. `null` on the terminal page, and on a first page requested without `from_id` (that page uses the default sort): to walk every row, start with `from_id=0`.

## Other responses

- `400`: No declared filter set was satisfied by the request — see `accepted` in the body for the valid combinations.
- `503`: Coming soon — handler returns 503 until data is wired in.

---

[API](https://skmtc.dev/stat-api/apis/sports-db-public-api.md) · [All operations](https://skmtc.dev/stat-api/apis/sports-db-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/stat-api/apis/sports-db-public-api/revisions/23b66b957723?raw)
