STAT-API

NFL games API

gamesnfl.games
Every 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/games
Requires one of: season_id — requests satisfying none of these return 400.
Parameters
season_idquerybigintoptional
Filter to a season by year (e.g., 2025 for the 2025-26 season). Defaults to the current season.
weekqueryintegeroptional
Filter by week of the season. Range syntax: week__gte=, week__lte=, week__between=.
season_typequerystringoptional
Filter by season phase. Postseason round detail is in `playoff_round`. Values: postseason, preseason, regular_season.
home_team_idquerybigintoptional
Filter by home team.
away_team_idquerybigintoptional
Filter by away team.
statusquerystringoptional
Filter by row status.
limitqueryintegeroptionaldefault 50
Page size. Defaults to 50; max 5000.
from_idquerybigintoptional
Return 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/json
Response Schema(30 fields)show schema ▸
FieldTypeReferencesDescription
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
integerStadium 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}
Parameters
idpathbigintrequired
Primary 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 ▸
FieldTypeReferencesDescription
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
integerStadium 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