STAT-API

NHL season_player_stats API

season_player_statsnhl.season_player_stats
Season totals for each NHL player — goals, assists, points, plus-minus, shots on goal, hits, blocks, penalty minutes, power-play and short-handed contributions, plus goaltender stats (wins, saves, shutouts, save percentage, goals-against average).
⚠️ This endpoint is documented but not yet live. Calls return 503 until data is wired in.
GET/api/v1/nhl/season_player_stats
Requires one of: season_id or player_id — requests satisfying none of these return 400.
Parameters
season_idquerybigintoptional
Filter to a single season. Defaults to the current season.
player_idquerybigintoptional
Filter to a single player.
team_idquerybigintoptional
Filter by team.
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/nhl/season_player_stats?season_id=2026'
Responses
200season_player_stats rows matching the declared filter set, wrapped in { season_player_stats, 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
503Coming soon — handler returns 503 until data is wired in.
Response Schema(62 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
player_id
bigint—
e.g. — (all-null in sample)
season_id
bigint—
e.g. — (all-null in sample)
team_id
bigintnullable—
e.g. — (all-null in sample)
assists
integer——
e.g. — (all-null in sample)
assists_per_game
decimal——
e.g. — (all-null in sample)
blocked_shots
integer——
e.g. — (all-null in sample)
empty_net_goals
integer——
e.g. — (all-null in sample)
even_strength_assists
integer——
e.g. — (all-null in sample)
even_strength_goals
integer——
e.g. — (all-null in sample)
even_strength_time_on_ice_seconds
integer——
e.g. — (all-null in sample)
faceoff_percentage
decimal——
e.g. — (all-null in sample)
faceoffs_lost
integer——
e.g. — (all-null in sample)
faceoffs_won
integer——
e.g. — (all-null in sample)
game_winning_goals
integer——
e.g. — (all-null in sample)
games_played
integer——
e.g. — (all-null in sample)
games_started
integer——
e.g. — (all-null in sample)
giveaways
integer——
e.g. — (all-null in sample)
goals
integer——
e.g. — (all-null in sample)
goals_against
integer——
e.g. — (all-null in sample)
goals_against_average
decimal——
e.g. — (all-null in sample)
goals_per_game
decimal——
e.g. — (all-null in sample)
hat_tricks
integer——
e.g. — (all-null in sample)
hits
integer——
e.g. — (all-null in sample)
losses
integer——
e.g. — (all-null in sample)
major_penalties
integer——
e.g. — (all-null in sample)
minor_penalties
integer——
e.g. — (all-null in sample)
minutes_played
integer——
e.g. — (all-null in sample)
overtime_goals
integer——
e.g. — (all-null in sample)
overtime_losses
integer——
e.g. — (all-null in sample)
penalties
integer——
e.g. — (all-null in sample)
penalty_minutes
integer——
e.g. — (all-null in sample)
plus_minus
integer——
e.g. — (all-null in sample)
position
stringnullable——
e.g. — (all-null in sample)
power_play_assists
integer——
e.g. — (all-null in sample)
power_play_goals
integer——
e.g. — (all-null in sample)
power_play_pts
integer——
e.g. — (all-null in sample)
power_play_time_on_ice_seconds
integer——
e.g. — (all-null in sample)
pts
integer——
e.g. — (all-null in sample)
pts_per_game
decimal——
e.g. — (all-null in sample)
save_percentage
decimal——
e.g. — (all-null in sample)
saves
integer——
e.g. — (all-null in sample)
season_type
string—Canonical season phase (text). Was integer 1/2/3 before the 2026-06-29 normalization.
e.g. — (all-null in sample)
shifts
integer——
e.g. — (all-null in sample)
shooting_percentage
decimal——
e.g. — (all-null in sample)
shootout_attempts
integer——
e.g. — (all-null in sample)
shootout_goals
integer——
e.g. — (all-null in sample)
shootout_goals_against
integer——
e.g. — (all-null in sample)
shootout_misses
integer——
e.g. — (all-null in sample)
shootout_saves
integer——
e.g. — (all-null in sample)
short_handed_assists
integer——
e.g. — (all-null in sample)
short_handed_goals
integer——
e.g. — (all-null in sample)
short_handed_pts
integer——
e.g. — (all-null in sample)
short_handed_time_on_ice_seconds
integer——
e.g. — (all-null in sample)
shots
integer——
e.g. — (all-null in sample)
shots_against
integer——
e.g. — (all-null in sample)
shots_on_goal
integer——
e.g. — (all-null in sample)
shutouts
integer——
e.g. — (all-null in sample)
takeaways
integer——
e.g. — (all-null in sample)
time_on_ice_per_game
decimal——
e.g. — (all-null in sample)
time_on_ice_seconds
integer——
e.g. — (all-null in sample)
wins
integer——
e.g. — (all-null in sample)
GET/api/v1/nhl/season_player_stats/{id}
Parameters
idpathbigintrequired
Primary key (id) of the season_player_stat 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/nhl/season_player_stats/{pk_value}'
Responses
200Single season_player_stat row.application/jsonshow example ▸
404Row not found.
503Coming soon — handler returns 503 until data is wired in.
Response Schema(62 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
player_id
bigint—
e.g. — (all-null in sample)
season_id
bigint—
e.g. — (all-null in sample)
team_id
bigintnullable—
e.g. — (all-null in sample)
assists
integer——
e.g. — (all-null in sample)
assists_per_game
decimal——
e.g. — (all-null in sample)
blocked_shots
integer——
e.g. — (all-null in sample)
empty_net_goals
integer——
e.g. — (all-null in sample)
even_strength_assists
integer——
e.g. — (all-null in sample)
even_strength_goals
integer——
e.g. — (all-null in sample)
even_strength_time_on_ice_seconds
integer——
e.g. — (all-null in sample)
faceoff_percentage
decimal——
e.g. — (all-null in sample)
faceoffs_lost
integer——
e.g. — (all-null in sample)
faceoffs_won
integer——
e.g. — (all-null in sample)
game_winning_goals
integer——
e.g. — (all-null in sample)
games_played
integer——
e.g. — (all-null in sample)
games_started
integer——
e.g. — (all-null in sample)
giveaways
integer——
e.g. — (all-null in sample)
goals
integer——
e.g. — (all-null in sample)
goals_against
integer——
e.g. — (all-null in sample)
goals_against_average
decimal——
e.g. — (all-null in sample)
goals_per_game
decimal——
e.g. — (all-null in sample)
hat_tricks
integer——
e.g. — (all-null in sample)
hits
integer——
e.g. — (all-null in sample)
losses
integer——
e.g. — (all-null in sample)
major_penalties
integer——
e.g. — (all-null in sample)
minor_penalties
integer——
e.g. — (all-null in sample)
minutes_played
integer——
e.g. — (all-null in sample)
overtime_goals
integer——
e.g. — (all-null in sample)
overtime_losses
integer——
e.g. — (all-null in sample)
penalties
integer——
e.g. — (all-null in sample)
penalty_minutes
integer——
e.g. — (all-null in sample)
plus_minus
integer——
e.g. — (all-null in sample)
position
stringnullable——
e.g. — (all-null in sample)
power_play_assists
integer——
e.g. — (all-null in sample)
power_play_goals
integer——
e.g. — (all-null in sample)
power_play_pts
integer——
e.g. — (all-null in sample)
power_play_time_on_ice_seconds
integer——
e.g. — (all-null in sample)
pts
integer——
e.g. — (all-null in sample)
pts_per_game
decimal——
e.g. — (all-null in sample)
save_percentage
decimal——
e.g. — (all-null in sample)
saves
integer——
e.g. — (all-null in sample)
season_type
string—Canonical season phase (text). Was integer 1/2/3 before the 2026-06-29 normalization.
e.g. — (all-null in sample)
shifts
integer——
e.g. — (all-null in sample)
shooting_percentage
decimal——
e.g. — (all-null in sample)
shootout_attempts
integer——
e.g. — (all-null in sample)
shootout_goals
integer——
e.g. — (all-null in sample)
shootout_goals_against
integer——
e.g. — (all-null in sample)
shootout_misses
integer——
e.g. — (all-null in sample)
shootout_saves
integer——
e.g. — (all-null in sample)
short_handed_assists
integer——
e.g. — (all-null in sample)
short_handed_goals
integer——
e.g. — (all-null in sample)
short_handed_pts
integer——
e.g. — (all-null in sample)
short_handed_time_on_ice_seconds
integer——
e.g. — (all-null in sample)
shots
integer——
e.g. — (all-null in sample)
shots_against
integer——
e.g. — (all-null in sample)
shots_on_goal
integer——
e.g. — (all-null in sample)
shutouts
integer——
e.g. — (all-null in sample)
takeaways
integer——
e.g. — (all-null in sample)
time_on_ice_per_game
decimal——
e.g. — (all-null in sample)
time_on_ice_seconds
integer——
e.g. — (all-null in sample)
wins
integer——
e.g. — (all-null in sample)