STAT-API

NHL standings API

standingsnhl.standings
Current conference and division standings for the NHL season — wins, losses, overtime losses, points, points percentage, games behind, and home/away splits. One snapshot per team per season (no as-of-date history).
⚠️ This endpoint is documented but not yet live. Calls return 503 until data is wired in.
GET/api/v1/nhl/standings
Requires one of: season_id — requests satisfying none of these return 400.
Parameters
season_idquerybigintoptional
Filter to a single season. Defaults to the current season.
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/standings?season_id=2026'
Responses
200standings rows matching the declared filter set, wrapped in { standings, 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(36 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
season_id
bigint—
e.g. — (all-null in sample)
team_id
bigint—
e.g. — (all-null in sample)
away_losses
integer——
e.g. — (all-null in sample)
away_overtime_losses
integer——
e.g. — (all-null in sample)
away_wins
integer——
e.g. — (all-null in sample)
clinched_conference
boolean——
e.g. — (all-null in sample)
clinched_division
boolean——
e.g. — (all-null in sample)
clinched_playoffs
boolean——
e.g. — (all-null in sample)
clinched_presidents_trophy
boolean——
e.g. — (all-null in sample)
conference
string——
e.g. — (all-null in sample)
conference_rank
integer——
e.g. — (all-null in sample)
division
string——
e.g. — (all-null in sample)
division_rank
integer——
e.g. — (all-null in sample)
games_played
integer——
e.g. — (all-null in sample)
goal_differential
integer——
e.g. — (all-null in sample)
goals_against
integer——
e.g. — (all-null in sample)
goals_for
integer——
e.g. — (all-null in sample)
home_losses
integer——
e.g. — (all-null in sample)
home_overtime_losses
integer——
e.g. — (all-null in sample)
home_wins
integer——
e.g. — (all-null in sample)
last_10_losses
integer——
e.g. — (all-null in sample)
last_10_overtime_losses
integer——
e.g. — (all-null in sample)
last_10_wins
integer——
e.g. — (all-null in sample)
losses
integer——
e.g. — (all-null in sample)
overtime_losses
integer——
e.g. — (all-null in sample)
pts
integer——
e.g. — (all-null in sample)
pts_percentage
decimal——
e.g. — (all-null in sample)
rank
integer——
e.g. — (all-null in sample)
regulation_wins
integer——
e.g. — (all-null in sample)
season_type
string——
e.g. — (all-null in sample)
shootout_losses
integer——
e.g. — (all-null in sample)
shootout_wins
integer——
e.g. — (all-null in sample)
streak
stringnullable—Current streak (W3, L2, OTL1)
e.g. — (all-null in sample)
wild_card_rank
integernullable——
e.g. — (all-null in sample)
wins
integer——
e.g. — (all-null in sample)
GET/api/v1/nhl/standings/{id}
Parameters
idpathbigintrequired
Primary key (id) of the standing 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/standings/{pk_value}'
Responses
200Single standing row.application/jsonshow example ▸
404Row not found.
503Coming soon — handler returns 503 until data is wired in.
Response Schema(36 fields)show schema ▸
FieldTypeReferencesDescription
idkey
bigint—Primary Key
season_id
bigint—
e.g. — (all-null in sample)
team_id
bigint—
e.g. — (all-null in sample)
away_losses
integer——
e.g. — (all-null in sample)
away_overtime_losses
integer——
e.g. — (all-null in sample)
away_wins
integer——
e.g. — (all-null in sample)
clinched_conference
boolean——
e.g. — (all-null in sample)
clinched_division
boolean——
e.g. — (all-null in sample)
clinched_playoffs
boolean——
e.g. — (all-null in sample)
clinched_presidents_trophy
boolean——
e.g. — (all-null in sample)
conference
string——
e.g. — (all-null in sample)
conference_rank
integer——
e.g. — (all-null in sample)
division
string——
e.g. — (all-null in sample)
division_rank
integer——
e.g. — (all-null in sample)
games_played
integer——
e.g. — (all-null in sample)
goal_differential
integer——
e.g. — (all-null in sample)
goals_against
integer——
e.g. — (all-null in sample)
goals_for
integer——
e.g. — (all-null in sample)
home_losses
integer——
e.g. — (all-null in sample)
home_overtime_losses
integer——
e.g. — (all-null in sample)
home_wins
integer——
e.g. — (all-null in sample)
last_10_losses
integer——
e.g. — (all-null in sample)
last_10_overtime_losses
integer——
e.g. — (all-null in sample)
last_10_wins
integer——
e.g. — (all-null in sample)
losses
integer——
e.g. — (all-null in sample)
overtime_losses
integer——
e.g. — (all-null in sample)
pts
integer——
e.g. — (all-null in sample)
pts_percentage
decimal——
e.g. — (all-null in sample)
rank
integer——
e.g. — (all-null in sample)
regulation_wins
integer——
e.g. — (all-null in sample)
season_type
string——
e.g. — (all-null in sample)
shootout_losses
integer——
e.g. — (all-null in sample)
shootout_wins
integer——
e.g. — (all-null in sample)
streak
stringnullable—Current streak (W3, L2, OTL1)
e.g. — (all-null in sample)
wild_card_rank
integernullable——
e.g. — (all-null in sample)
wins
integer——
e.g. — (all-null in sample)