STAT-API

Pre-game injuries vs. the full week (mode=pre|full)

Some NFL values change after kickoff: a Questionable player gets hurt in the game and is ruled Out on Monday. STAT-API keeps the kickoff value and the later value apart. mode=pre (the default) returns each value as it stood at its own game's kickoff. mode=full returns the latest value before week end, the first Tuesday 04:00 ET after the game. Train and back-test on PRE; read FULL for the full story of the week.

  1. 1. Read the injury report as it stood at kickoff

    No mode parameter means PRE. The envelope says which mode served the rows, and so does the X-Time-Wall-Mode header.

    curl -sS \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      'https://api.stat-api.com/api/v1/nfl/injuries?game_id=43445'
    
  2. 2. Read the full week

    mode=full adds every change seen after kickoff and before week end, including players first listed after the game started.

    curl -sS \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      'https://api.stat-api.com/api/v1/nfl/injuries?game_id=43445&mode=full'
    
  3. 3. Game rosters and slate players work the same way

    nfl/game_team_rosters (status, injury status, depth, starter) and dfs/slate_players (operator injury code, details, average points) take the same parameter. Each DFS player locks at his own game's kickoff, as in late swap.

    curl -sS \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      'https://api.stat-api.com/api/v1/dfs/slate_players?slate_id=129036&mode=full'
    
  4. 4. NBA game rosters: the values at tip

    nba/game_team_rosters takes the same parameter. An NBA status belongs to one game, so mode=pre returns each player's status, injury designation, starter flag, the injury report's reason and depth-chart slot (depth_order, depth_position) as they stood at that game's tip, and null when nothing was known before tip. mode=full returns the values recorded after the game, with the same depth-chart slot. For 2021-22 through 2025-26 only the league's injury report is known before tip. Like the NFL route, depth_order=1 returns the first player at each position.

    curl -sS \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      'https://api.stat-api.com/api/v1/nba/game_team_rosters?game_id=615'
    curl -sS \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      'https://api.stat-api.com/api/v1/nba/game_team_rosters?game_id=615&depth_order=1'
    
  5. 5. Post-game fields need FULL

    In PRE, the actual_* columns of nfl/projected_player_snaps and nfl/projected_team_snaps are null, and dfs/slate_players with enrich=dfs.player_stats returns 400, because fantasy points exist only after the game. Add mode=full to read them.

    curl -sS \
      -H 'Authorization: Bearer YOUR_API_KEY' \
      'https://api.stat-api.com/api/v1/dfs/slate_players?slate_id=129036&enrich=dfs.player_stats&mode=full'
    
  6. 6. Which endpoints take mode

    The six tables above (nfl/injuries, nfl/game_team_rosters, nba/game_team_rosters, dfs/slate_players, nfl/projected_player_snaps, nfl/projected_team_snaps) and the DFS slate projections, roster-context and injuries views. Depth charts, lines and props hold only pre-kickoff captures. Box scores, play-by-play, participation, weather and contest results are post-game data. Any other table returns 400 on mode. The Data timing guide in the SDK docs has the full NFL week timeline.