STAT-API

NFL game_team_rosters API

game_team_rostersnfl.game_team_rosters
The gameday roster for each NFL game — every player who suited up that day, who started, who was inactive, and at what position.
GET/api/v1/nfl/game_team_rosters
Requires one of: game_id — requests satisfying none of these return 400.
Parameters
game_idquerybigintoptional
Filter to a single game.
team_idquerybigintoptional
Filter by team.
player_idquerybigintoptional
Filter to a single player.
positionquerystringoptional
Filter by player position. Values: C, CB, DB, DE, DL, DT, FB, FS, G, H, ILB, K, LB, LILB, LOLB, LOT, LS, MLB, NT, OL, OLB, OT, P, PK, PR, QB, RB, RILB, ROT, S, SAF, T, TE, WR.
statusquerystringoptional
Filter by game-roster status (readable single-word vocabulary; PracticeSquadReleased covers the league TRC/TRD transaction codes). Values: Active, Cut, Exempt, ExemptInternational, Inactive, NonFootballInjury, PhysicallyUnableToPerform, PracticeSquad, PracticeSquadReleased, ReleasedFromInjuredReserve, Reserve, RestrictedFreeAgent, Retired, Suspended, UnrestrictedFreeAgent, Waived.
depth_orderqueryintegeroptional
Filter by depth-chart rank (e.g., 1 for starters). Range syntax: depth_order__lte=.
formationquerystringoptional
Filter by unit/formation. Values: offense, defense, special_teams.
injury_statusquerystringoptional
Filter by injury status designation. Values: Active, Doubtful, Injured Reserve, Note, Out, Questionable, Unknown.
modequerystringoptionaldefault pre
Time wall. `pre` (default): each value as it stood at its game's kickoff; post-game fields are null. `full`: the latest value before week end (the first Tuesday 04:00 ET after the game), post-game fields included. See the Data timing guide. Values: pre, full.
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/game_team_rosters?game_id=1'
Responses
200game_team_rosters rows matching the declared filter set, wrapped in { game_team_rosters, 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(12 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigint—
e.g. 120
player_id
bigint—
e.g. 19
team_id
bigint—
e.g. 32
comment
stringnullable—Optional note from the gameday roster report (e.g., reason for inactive).
e.g. Knee
depth_order
integernullable—Depth-chart rank at this position for this game (1 = starter, 2 = backup, etc.).
e.g. 1
depth_position
stringnullable—Position slot on the depth chart for this game (e.g. QB, RB, WR, LT, CB).
e.g. WR
formation
stringnullable—Formation unit this slot belongs to (offense, defense, special_teams).
Values:offensedefensespecial_teams
injury_status
stringnullable—Final game injury report designation as of kickoff lock (e.g. Questionable, Doubtful, Out, or NULL if uninjured).
Values:QuestionableOutDoubtfulNote
position
stringnullable—Position the player suited up at for this game.
Values:DLOLDBWRLBQBLSTEKPRB
starter
boolean—True if the player started this game.
Values:truefalse
status
stringnullable—Roster status for the game, readable single-word vocabulary (`Active`, `Inactive`, `PracticeSquad`, `Reserve`, `Cut`, `Retired`, `Exempt`, `PracticeSquadReleased`).
Values:ActiveReservePracticeSquadInactiveRetiredCutExempt
GET/api/v1/nfl/game_team_rosters/{id}
Parameters
idpathbigintrequired
Primary key (id) of the game_team_roster row.
modequerystringoptionaldefault pre
Time wall. `pre` (default): each value as it stood at its game's kickoff; post-game fields are null. `full`: the latest value before week end (the first Tuesday 04:00 ET after the game), post-game fields included. See the Data timing guide. Values: pre, full.
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/game_team_rosters/{pk_value}'
Responses
200Single game_team_roster row.application/jsonshow example ▸
404Row not found.
Response Schema(12 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
game_id
bigint—
e.g. 120
player_id
bigint—
e.g. 19
team_id
bigint—
e.g. 32
comment
stringnullable—Optional note from the gameday roster report (e.g., reason for inactive).
e.g. Knee
depth_order
integernullable—Depth-chart rank at this position for this game (1 = starter, 2 = backup, etc.).
e.g. 1
depth_position
stringnullable—Position slot on the depth chart for this game (e.g. QB, RB, WR, LT, CB).
e.g. WR
formation
stringnullable—Formation unit this slot belongs to (offense, defense, special_teams).
Values:offensedefensespecial_teams
injury_status
stringnullable—Final game injury report designation as of kickoff lock (e.g. Questionable, Doubtful, Out, or NULL if uninjured).
Values:QuestionableOutDoubtfulNote
position
stringnullable—Position the player suited up at for this game.
Values:DLOLDBWRLBQBLSTEKPRB
starter
boolean—True if the player started this game.
Values:truefalse
status
stringnullable—Roster status for the game, readable single-word vocabulary (`Active`, `Inactive`, `PracticeSquad`, `Reserve`, `Cut`, `Retired`, `Exempt`, `PracticeSquadReleased`).
Values:ActiveReservePracticeSquadInactiveRetiredCutExempt