NFL games API
games
nfl.gamesEvery scheduled and played NFL game — preseason exhibitions, the 18-week regular season, the playoffs from Wild Card weekend through the Super Bowl.
GET/api/v1/nfl/gamesList games for NFL
Requires one of:
season_id — requests satisfying none of these return 400.Parameters
season_idquerybigintoptionalFilter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season.
weekqueryintegeroptionalFilter by week of the season. Range syntax: week__gte=, week__lte=, week__between=.
season_typequerystringoptionalFilter by season phase. Postseason round detail is in `playoff_round`. Values: postseason, preseason, regular_season.
home_team_idquerybigintoptionalFilter by home team.
away_team_idquerybigintoptionalFilter by away team.
statusquerystringoptionalFilter by row status.
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/nfl/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/jsonResponse Schema(30 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
away_team_id | bigint | — e.g. 19 | |
home_team_id | bigint | — e.g. 16 | |
league_game_id | string | — | Official NFL game ID from league source e.g. c7ce9df0-2459-11ef-afd1-646009f18b2e |
season_id | bigint | — e.g. 2024 | |
stadium_id | integer | Stadium hosting the game (FK to `stadiums`). e.g. 16 | |
attendance | integernullable | — | Reported attendance count; null when not published. e.g. 64628 |
away_rotation_number | integernullable | — | Sportsbook rotation number for the away team (3-4 digit cross-book reference). e.g. — (all-null in sample) |
away_team | string | — | Denormalized team abbreviation for the away side at game time (snapshot copy of `teams.abbreviation`). e.g. LAR |
away_team_score | integer | — | Final away-team score; 0 (not null) until the game completes. e.g. 0 |
channel | stringnullable | — | Primary broadcast network/channel (e.g., `CBS`, `FOX`, `Prime Video`). e.g. — (all-null in sample) |
day | integer | — | Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern. e.g. 20210103 |
end_time | timestamptznullable | — | Actual game end timestamp; null until the game completes. e.g. — (all-null in sample) |
game_label | stringnullable | — | Display label for special games (e.g., `Thanksgiving Day`, `Monday Night Football`). Values:AFC Wild CardNFC Wild CardAFC DivisionalNFC DivisionalNFC ChampionshipAFC ChampionshipSuper Bowl |
game_sub_label | stringnullable | — | Secondary label or sub-category for the game. e.g. — (all-null in sample) |
game_time | timestamptznullable | — | Scheduled kickoff time (timezone-aware); null when the league published no time. e.g. 2027-01-10T18:00:00.000Z |
home_rotation_number | integernullable | — | Sportsbook rotation number for the home team (3-4 digit cross-book reference). e.g. — (all-null in sample) |
home_team | string | — | Denormalized team abbreviation for the home side at game time (snapshot copy of `teams.abbreviation`). e.g. KC |
home_team_score | integer | — | Final home-team score; 0 (not null) until the game completes. e.g. 0 |
neutral_venue | boolean | — | True if the game is played at a neutral site (Super Bowl, international games, etc.). Values:falsetrue |
overtime | boolean | — | True if the game went to overtime. Values:falsetrue |
overtime_periods | integernullable | — | Number of overtime periods played (1+ when `overtime` is true). e.g. — (all-null in sample) |
playoff_round | stringnullable | — | Postseason round (`WildCard`, `Divisional`, `Conference Championship`, `Super Bowl`); null outside the postseason. Values:Wild CardDivisionalConference ChampionshipSuper Bowl |
playoff_seed_away | integernullable | — | Away-team playoff seed (1-7); null outside the postseason. e.g. 5 |
playoff_seed_home | integernullable | — | Home-team playoff seed (1-7); null outside the postseason. e.g. 2 |
postponed_status | stringnullable | — | Reason for postponement (e.g., `Weather`, `COVID`); null for games played as scheduled. e.g. — (all-null in sample) |
season_type | string | — | Canonical season phase. Postseason round detail (Wild Card / Divisional / Conference Championship / Super Bowl) lives in `playoff_round`. Values:regular_seasonpreseasonpostseason |
status | string | — | Game status. Currently always `Scheduled` (status reconciliation is pending) — detect completed games via populated scores, not this field. Values:FinalScheduledCanceled |
type | string | — | Game classification (`Regular`, `Playoff`, `Super Bowl`, `Preseason`). Values:RegularPreseasonPlayoff |
week | integer | — | Week number within the season stage — 1-18 for regular season, restarting at 1 in the postseason (1 Wild Card, 2 Divisional, 3 Conference Championship, 4 Super Bowl). Note nfl.injuries.week uses the continuous 19-22 convention instead. e.g. 1 |
GET/api/v1/nfl/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/nfl/games/{pk_value}'Responses
200Single game row.application/jsonshow example ▸
404Row not found.
Response Schema(30 fields)show schema ▸
| Field | Type | References | Description |
|---|---|---|---|
idkey | bigint | — | Primary Key |
away_team_id | bigint | — e.g. 19 | |
home_team_id | bigint | — e.g. 16 | |
league_game_id | string | — | Official NFL game ID from league source e.g. c7ce9df0-2459-11ef-afd1-646009f18b2e |
season_id | bigint | — e.g. 2024 | |
stadium_id | integer | Stadium hosting the game (FK to `stadiums`). e.g. 16 | |
attendance | integernullable | — | Reported attendance count; null when not published. e.g. 64628 |
away_rotation_number | integernullable | — | Sportsbook rotation number for the away team (3-4 digit cross-book reference). e.g. — (all-null in sample) |
away_team | string | — | Denormalized team abbreviation for the away side at game time (snapshot copy of `teams.abbreviation`). e.g. LAR |
away_team_score | integer | — | Final away-team score; 0 (not null) until the game completes. e.g. 0 |
channel | stringnullable | — | Primary broadcast network/channel (e.g., `CBS`, `FOX`, `Prime Video`). e.g. — (all-null in sample) |
day | integer | — | Calendar day as a YYYYMMDD integer (e.g. 20240915), US Eastern. e.g. 20210103 |
end_time | timestamptznullable | — | Actual game end timestamp; null until the game completes. e.g. — (all-null in sample) |
game_label | stringnullable | — | Display label for special games (e.g., `Thanksgiving Day`, `Monday Night Football`). Values:AFC Wild CardNFC Wild CardAFC DivisionalNFC DivisionalNFC ChampionshipAFC ChampionshipSuper Bowl |
game_sub_label | stringnullable | — | Secondary label or sub-category for the game. e.g. — (all-null in sample) |
game_time | timestamptznullable | — | Scheduled kickoff time (timezone-aware); null when the league published no time. e.g. 2027-01-10T18:00:00.000Z |
home_rotation_number | integernullable | — | Sportsbook rotation number for the home team (3-4 digit cross-book reference). e.g. — (all-null in sample) |
home_team | string | — | Denormalized team abbreviation for the home side at game time (snapshot copy of `teams.abbreviation`). e.g. KC |
home_team_score | integer | — | Final home-team score; 0 (not null) until the game completes. e.g. 0 |
neutral_venue | boolean | — | True if the game is played at a neutral site (Super Bowl, international games, etc.). Values:falsetrue |
overtime | boolean | — | True if the game went to overtime. Values:falsetrue |
overtime_periods | integernullable | — | Number of overtime periods played (1+ when `overtime` is true). e.g. — (all-null in sample) |
playoff_round | stringnullable | — | Postseason round (`WildCard`, `Divisional`, `Conference Championship`, `Super Bowl`); null outside the postseason. Values:Wild CardDivisionalConference ChampionshipSuper Bowl |
playoff_seed_away | integernullable | — | Away-team playoff seed (1-7); null outside the postseason. e.g. 5 |
playoff_seed_home | integernullable | — | Home-team playoff seed (1-7); null outside the postseason. e.g. 2 |
postponed_status | stringnullable | — | Reason for postponement (e.g., `Weather`, `COVID`); null for games played as scheduled. e.g. — (all-null in sample) |
season_type | string | — | Canonical season phase. Postseason round detail (Wild Card / Divisional / Conference Championship / Super Bowl) lives in `playoff_round`. Values:regular_seasonpreseasonpostseason |
status | string | — | Game status. Currently always `Scheduled` (status reconciliation is pending) — detect completed games via populated scores, not this field. Values:FinalScheduledCanceled |
type | string | — | Game classification (`Regular`, `Playoff`, `Super Bowl`, `Preseason`). Values:RegularPreseasonPlayoff |
week | integer | — | Week number within the season stage — 1-18 for regular season, restarting at 1 in the postseason (1 Wild Card, 2 Divisional, 3 Conference Championship, 4 Super Bowl). Note nfl.injuries.week uses the continuous 19-22 convention instead. e.g. 1 |