NHL

App · Sports · 28 actions

Follow the NHL with data straight from the league's own API: scores and schedules, live standings, team rosters and prospects, full box scores and play-by-play, player profiles and game logs, season leaderboards for skaters, goalies and clubs, the draft, and the playoff bracket. No account or API key required.

Actions

ActionWhat it does
Get a game's box scoreGet a game's box score: every skater's goals, assists, hits, blocks and ice time, and every goalie's saves, shots against and decision, for both clubs.
Get a game's detailsGet the rest of a game's detail: the on-ice officials, both head coaches, the scratches, goals and shots broken out by period, the head-to-head team comparison, and the clubs' other meetings this season.
Get a game's play-by-playGet every event of a game in order: faceoffs, shots, goals, hits, penalties, giveaways and stoppages, each with its period, clock, on-ice strength and rink coordinates, plus a roster key so a player id in an event can be turned into a name.
Get a game's summaryGet a game's scoring summary: every goal with its scorer, assists, strength and running score, plus the penalties, the three stars and the shootout if there was one.
Get a playerGet one player's profile (position, club, size, birthplace and where they were drafted) with their current-season line, career totals, a season-by-season table going back to junior, and any trophies they have won.
Get a player's game logGet one player's game-by-game record for a season: the opponent, whether it was home or away, and what they did in each game.
Get a playoff seriesGet one playoff series: the two clubs, how many wins it takes, and every game in it with dates, venues and scores.
Get a team's player statsGet every skater's and goalie's season totals for one club: goals, assists, points, ice time, save percentage and the rest.
Get a team's prospectsGet a club's prospects (players it holds the rights to who are not on the NHL roster), split into forwards, defencemen and goalies.
Get a team's rosterGet a club's roster split into forwards, defencemen and goalies, each with their jersey number, position, size, birthplace and player id.
Get a team's scheduleGet one club's whole season schedule in date order: games played with their scores and games still to come with their start times and broadcasters.
Get a team's scoreboardGet one club's games around today, the last few played and the next few coming up, with scores where they exist.
Get draft picksGet the selections made at an NHL Entry Draft: who went where, to which club, and out of which junior or college team.
Get draft prospect rankingsGet NHL Central Scouting's ranked list of draft-eligible prospects, with each player's club, league, size and where they sat at the midterm and final rankings.
Get goalie leadersGet the goalie leader boards: the top goaltenders by wins, shutouts, save percentage or goals-against average.
Get goalie season statsRank every goaltender in a season by any column: wins, save percentage, goals-against average, shutouts and more, optionally narrowed to one club.
Get scoresGet every game on one day with its score, how far along it is, and each goal as it was scored, with scorers and assists.
Get skater leadersGet the skater leader boards: the top players by goals, assists, points, plus/minus, ice time, faceoffs, and power-play or shorthanded goals.
Get skater season statsRank every skater in a season by any column: points, goals, shooting percentage, faceoffs, ice time and more, optionally narrowed to one club.
Get spotlighted playersGet the players NHL.com is featuring on its front page right now, each with their club and a link to their profile.
Get team season statsRank every club in a season by any team column: points, goals for and against, power play, penalty kill, faceoffs and shots.
Get the NHL Network TV scheduleGet what NHL Network is airing on a day: every programme with its title, start and end time.
Get the playoff bracketGet a postseason's whole bracket: all fifteen series with their two clubs, seedings, games won and who advanced.
Get the scheduleGet the league-wide schedule for the week containing a date: every game with its clubs, start time, arena, broadcasters and score if it has been played.
Get the standingsGet the NHL standings: every club's record, points, goal differential, streak and playoff position, ranked within its division, conference and the league.
List seasonsList every NHL season back to 1917-18, newest first, with the dates its standings cover and whether it used conferences, divisions, ties and wild cards.
List teamsList every NHL club with its three-letter code and team id, including franchises that no longer play.
Search playersSearch NHL players by name, past and present, and get back each match with the player id the other player actions take.

Get a game's box score

Get a game's box score: every skater's goals, assists, hits, blocks and ice time, and every goalie's saves, shots against and decision, for both clubs.

Inputs

Game IDgame_idnumberRequired
The game to read, for example 2024020001. Get one from Get the schedule, Get scores, or a team's schedule.

Outputs

away_playersobject
The visiting club's players.
gameobject
Which game this is, and its score.
home_playersobject
The home club's players.
Example output
{
  "away_players": {
    "goalies": [
      {
        "decision": "W",
        "even_strength_shots_against": "25/26",
        "goals_against": 1,
        "name": "J. Markstrom",
        "penalty_minutes": 0,
        "player_id": 8474593,
        "power_play_shots_against": "5/5",
        "save_pctg": 0.967742,
        "saves": 30,
        "shorthanded_shots_against": "0/0",
        "shots_against": 31,
        "starter": true,
        "sweater_number": 25,
        "time_on_ice": "59:38"
      }
    ],
    "skaters": [
      {
        "assists": 0,
        "blocked_shots": 0,
        "faceoff_win_pctg": 0.0,
        "giveaways": 2,
        "goals": 1,
        "hits": 2,
        "name": "S. Noesen",
        "penalty_minutes": 0,
        "player_id": 8476474,
        "plus_minus": 0,
        "points": 1,
        "position": "R",
        "power_play_goals": 0,
        "shifts": 20,
        "shots_on_goal": 1,
        "sweater_number": 11,
        "takeaways": 0,
        "time_on_ice": "13:11"
      }
    ]
  },
  "game": {
    "away_team": {
      "abbrev": "CAR",
      "common_name": "Hurricanes",
      "id": 12,
      "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
      "name": "Carolina Hurricanes",
      "place_name": "Carolina",
      "score": 2,
      "shots_on_goal": 29
    },
    "game_date": "2025-01-15",
    "game_state": "OFF",
    "game_type": 2,
    "game_type_name": "Regular season",
    "home_team": {
      "abbrev": "BUF",
      "common_name": "Sabres",
      "id": 7,
      "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
      "name": "Buffalo Sabres",
      "place_name": "Buffalo",
      "score": 4,
      "shots_on_goal": 31
    },
    "id": 2024020705,
    "period": 3,
    "period_type": "REG",
    "season": 20242025,
    "season_label": "2024-25",
    "start_time_utc": "2025-01-15T23:00:00Z",
    "time_remaining": "00:00",
    "venue": "KeyBank Center"
  },
  "home_players": {
    "goalies": [
      {
        "decision": "W",
        "even_strength_shots_against": "25/26",
        "goals_against": 1,
        "name": "J. Markstrom",
        "penalty_minutes": 0,
        "player_id": 8474593,
        "power_play_shots_against": "5/5",
        "save_pctg": 0.967742,
        "saves": 30,
        "shorthanded_shots_against": "0/0",
        "shots_against": 31,
        "starter": true,
        "sweater_number": 25,
        "time_on_ice": "59:38"
      }
    ],
    "skaters": [
      {
        "assists": 0,
        "blocked_shots": 0,
        "faceoff_win_pctg": 0.0,
        "giveaways": 2,
        "goals": 1,
        "hits": 2,
        "name": "S. Noesen",
        "penalty_minutes": 0,
        "player_id": 8476474,
        "plus_minus": 0,
        "points": 1,
        "position": "R",
        "power_play_goals": 0,
        "shifts": 20,
        "shots_on_goal": 1,
        "sweater_number": 11,
        "takeaways": 0,
        "time_on_ice": "13:11"
      }
    ]
  }
}

Get a game's details

Get the rest of a game's detail: the on-ice officials, both head coaches, the scratches, goals and shots broken out by period, the head-to-head team comparison, and the clubs' other meetings this season.

Inputs

Game IDgame_idnumberRequired
The game to read, for example 2024020001. Get one from Get the schedule, Get scores, or a team's schedule.

Outputs

away_teamobject
The visiting club's coach and scratches.
final_scoreobject
The final score.
game_idnumber
The game read.
goals_by_periodlist
Goals scored in each period.
home_teamobject
The home club's coach and scratches.
linesmenlist
The two linesmen.
refereeslist
The two referees.
season_serieslist
Every meeting between the two clubs this season.
season_series_winsobject
How the season series stands.
shots_by_periodlist
Shots on goal in each period.
team_game_statslist
Head-to-head totals: shots, faceoffs, power play, penalty minutes, hits, blocks, giveaways, takeaways.
Example output
{
  "away_team": {
    "head_coach": "Sheldon Keefe",
    "scratches": [
      {
        "name": "Justin Dowling",
        "player_id": 8475413
      }
    ]
  },
  "final_score": {
    "away": 4,
    "home": 1
  },
  "game_id": 2024020001,
  "goals_by_period": [
    {
      "away": 2,
      "home": 0,
      "period": 1,
      "period_type": "REG"
    }
  ],
  "home_team": {
    "head_coach": "Sheldon Keefe",
    "scratches": [
      {
        "name": "Justin Dowling",
        "player_id": 8475413
      }
    ]
  },
  "linesmen": [
    "Brad Kovachik",
    "Michel Cormier"
  ],
  "referees": [
    "Ghislain Hebert",
    "Chris Lee"
  ],
  "season_series": [
    {
      "away_team": {
        "abbrev": "CAR",
        "common_name": "Hurricanes",
        "id": 12,
        "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
        "name": "Carolina Hurricanes",
        "place_name": "Carolina",
        "score": 2,
        "shots_on_goal": 29
      },
      "game_center_url": "https://www.nhl.com/gamecenter/car-vs-buf/2025/01/15/2024020705",
      "game_date": "2025-01-15",
      "game_number": null,
      "game_schedule_state": "OK",
      "game_state": "OFF",
      "game_type": 2,
      "game_type_name": "Regular season",
      "home_team": {
        "abbrev": "BUF",
        "common_name": "Sabres",
        "id": 7,
        "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
        "name": "Buffalo Sabres",
        "place_name": "Buffalo",
        "score": 4,
        "shots_on_goal": 31
      },
      "id": 2024020705,
      "in_intermission": false,
      "last_period_type": "REG",
      "neutral_site": false,
      "period": 3,
      "period_type": "REG",
      "recap_url": "/video/car-at-buf-recap-6367153994112",
      "season": 20242025,
      "season_label": "2024-25",
      "start_time_utc": "2025-01-15T23:00:00Z",
      "time_remaining": "00:00",
      "tv_broadcasts": [
        {
          "country_code": "US",
          "market": "N",
          "network": "TNT"
        }
      ],
      "venue": "KeyBank Center",
      "venue_timezone": "America/New_York"
    }
  ],
  "season_series_wins": {
    "away": 2,
    "home": 1
  },
  "shots_by_period": [
    {
      "away": 2,
      "home": 0,
      "period": 1,
      "period_type": "REG"
    }
  ],
  "team_game_stats": [
    {
      "away_value": 23,
      "category": "sog",
      "home_value": 31
    }
  ]
}

Get a game's play-by-play

Get every event of a game in order: faceoffs, shots, goals, hits, penalties, giveaways and stoppages, each with its period, clock, on-ice strength and rink coordinates, plus a roster key so a player id in an event can be turned into a name.

Inputs

Game IDgame_idnumberRequired
The game to read, for example 2024020001. Get one from Get the schedule, Get scores, or a team's schedule.

Outputs

countnumber
How many events.
gameobject
Which game this is, and its score.
playslist
Every event, in the order it happened.
roster_spotslist
Everyone who dressed, so a player id in an event can be matched to a name.
Example output
{
  "count": 1,
  "game": {
    "away_team": {
      "abbrev": "CAR",
      "common_name": "Hurricanes",
      "id": 12,
      "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
      "name": "Carolina Hurricanes",
      "place_name": "Carolina",
      "score": 2,
      "shots_on_goal": 29
    },
    "game_date": "2025-01-15",
    "game_state": "OFF",
    "game_type": 2,
    "game_type_name": "Regular season",
    "home_team": {
      "abbrev": "BUF",
      "common_name": "Sabres",
      "id": 7,
      "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
      "name": "Buffalo Sabres",
      "place_name": "Buffalo",
      "score": 4,
      "shots_on_goal": 31
    },
    "id": 2024020705,
    "period": 3,
    "period_type": "REG",
    "season": 20242025,
    "season_label": "2024-25",
    "start_time_utc": "2025-01-15T23:00:00Z",
    "time_remaining": "00:00",
    "venue": "KeyBank Center"
  },
  "plays": [
    {
      "details": {
        "awaySOG": 1,
        "eventOwnerTeamId": 1,
        "goalieInNetId": 8480045,
        "homeSOG": 0,
        "shootingPlayerId": 8483495,
        "shotType": "wrist",
        "xCoord": 56,
        "yCoord": -39,
        "zoneCode": "O"
      },
      "event_id": 103,
      "period": 1,
      "period_type": "REG",
      "situation_code": "1551",
      "sort_order": 13,
      "time_in_period": "00:08",
      "time_remaining": "19:52",
      "type_code": 506,
      "type_desc_key": "shot-on-goal"
    }
  ],
  "roster_spots": [
    {
      "name": "Jacob Markstrom",
      "player_id": 8474593,
      "position_code": "G",
      "sweater_number": 25,
      "team_id": 1
    }
  ]
}

Get a game's summary

Get a game's scoring summary: every goal with its scorer, assists, strength and running score, plus the penalties, the three stars and the shootout if there was one.

Inputs

Game IDgame_idnumberRequired
The game to read, for example 2024020001. Get one from Get the schedule, Get scores, or a team's schedule.

Outputs

gameobject
Which game this is, and its score.
goalslist
Every goal, in the order they were scored.
penaltieslist
Every penalty, in order.
shootoutlist
Shootout attempts in order. Empty for a game that did not reach one.
three_starslist
The game's three stars. Empty until they are named.
Example output
{
  "game": {
    "away_team": {
      "abbrev": "CAR",
      "common_name": "Hurricanes",
      "id": 12,
      "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
      "name": "Carolina Hurricanes",
      "place_name": "Carolina",
      "score": 2,
      "shots_on_goal": 29
    },
    "game_date": "2025-01-15",
    "game_state": "OFF",
    "game_type": 2,
    "game_type_name": "Regular season",
    "home_team": {
      "abbrev": "BUF",
      "common_name": "Sabres",
      "id": 7,
      "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
      "name": "Buffalo Sabres",
      "place_name": "Buffalo",
      "score": 4,
      "shots_on_goal": 31
    },
    "id": 2024020705,
    "period": 3,
    "period_type": "REG",
    "season": 20242025,
    "season_label": "2024-25",
    "start_time_utc": "2025-01-15T23:00:00Z",
    "time_remaining": "00:00",
    "venue": "KeyBank Center"
  },
  "goals": [
    {
      "assists": [
        {
          "assists_to_date": 1,
          "name": "Johnathan Kovacevic",
          "player_id": 8480192
        }
      ],
      "away_score": 1,
      "goal_modifier": "none",
      "goals_to_date": 1,
      "highlight_url": "https://nhl.com/video/njd-buf-noesen-scores-goal-against-ukko-pekka-luukkonen-6362848229112",
      "home_score": 0,
      "name": "Stefan Noesen",
      "period": 1,
      "period_type": "REG",
      "player_id": 8476474,
      "shot_type": "snap",
      "strength": "ev",
      "team_abbrev": "NJD",
      "time_in_period": "08:39"
    }
  ],
  "penalties": [
    {
      "committed_by": "Erik Haula",
      "description": "slashing",
      "drawn_by": "Tage Thompson",
      "duration": 2,
      "period": 1,
      "served_by": null,
      "team_abbrev": "NJD",
      "time_in_period": "01:37",
      "type": "MIN"
    }
  ],
  "shootout": [
    {
      "game_winner": false,
      "name": "Adrian Kempe",
      "player_id": 8477960,
      "result": "save",
      "sequence": 1,
      "shot_type": "wrist",
      "team_abbrev": "LAK"
    }
  ],
  "three_stars": [
    {
      "assists": 1,
      "goals": 1,
      "goals_against_average": null,
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/NJD/8480192.png",
      "name": "J. Kovacevic",
      "player_id": 8480192,
      "points": 2,
      "position": "D",
      "save_pctg": null,
      "star": 1,
      "sweater_number": 8,
      "team_abbrev": "NJD"
    }
  ]
}

Get a player

Get one player's profile (position, club, size, birthplace and where they were drafted) with their current-season line, career totals, a season-by-season table going back to junior, and any trophies they have won.

Inputs

Player IDplayer_idnumberRequired
The player to read, for example 8478402. Use Search players to find one by name.

Outputs

awardslist
Trophies won, with the seasons they won them.
career_totalsobject
Career totals in the NHL.
current_seasonobject
This season's regular-season line.
playerobject
Who they are.
season_totalslist
A row per season and league, junior and pro alike, oldest first.
Example output
{
  "awards": [
    {
      "seasons": [
        20222023
      ],
      "trophy": "Hart Trophy"
    }
  ],
  "career_totals": {
    "playoffs": {
      "assists": 56,
      "avg_time_on_ice": "21:52",
      "faceoff_winning_pctg": 0.4792,
      "game_winning_goals": 4,
      "games_played": 82,
      "games_started": null,
      "goals": 44,
      "goals_against": null,
      "goals_against_average": null,
      "losses": null,
      "ot_goals": 1,
      "ot_losses": null,
      "penalty_minutes": 44,
      "plus_minus": 20,
      "points": 100,
      "power_play_goals": 13,
      "power_play_points": 54,
      "save_pctg": null,
      "shooting_pctg": 0.1438,
      "shorthanded_goals": 1,
      "shorthanded_points": 2,
      "shots": 306,
      "shots_against": null,
      "shutouts": null,
      "time_on_ice": null,
      "wins": null
    },
    "regular_season": {
      "assists": 56,
      "avg_time_on_ice": "21:52",
      "faceoff_winning_pctg": 0.4792,
      "game_winning_goals": 4,
      "games_played": 82,
      "games_started": null,
      "goals": 44,
      "goals_against": null,
      "goals_against_average": null,
      "losses": null,
      "ot_goals": 1,
      "ot_losses": null,
      "penalty_minutes": 44,
      "plus_minus": 20,
      "points": 100,
      "power_play_goals": 13,
      "power_play_points": 54,
      "save_pctg": null,
      "shooting_pctg": 0.1438,
      "shorthanded_goals": 1,
      "shorthanded_points": 2,
      "shots": 306,
      "shots_against": null,
      "shutouts": null,
      "time_on_ice": null,
      "wins": null
    }
  },
  "current_season": {
    "season": 20242025,
    "season_label": "2024-25",
    "stats": {
      "assists": 56,
      "avg_time_on_ice": "21:52",
      "faceoff_winning_pctg": 0.4792,
      "game_winning_goals": 4,
      "games_played": 82,
      "games_started": null,
      "goals": 44,
      "goals_against": null,
      "goals_against_average": null,
      "losses": null,
      "ot_goals": 1,
      "ot_losses": null,
      "penalty_minutes": 44,
      "plus_minus": 20,
      "points": 100,
      "power_play_goals": 13,
      "power_play_points": 54,
      "save_pctg": null,
      "shooting_pctg": 0.1438,
      "shorthanded_goals": 1,
      "shorthanded_points": 2,
      "shots": 306,
      "shots_against": null,
      "shutouts": null,
      "time_on_ice": null,
      "wins": null
    }
  },
  "player": {
    "birth_city": "Richmond Hill",
    "birth_country": "CAN",
    "birth_date": "1997-01-13",
    "birth_state_province": "ON",
    "current_team_abbrev": "EDM",
    "current_team_id": 22,
    "current_team_name": "Edmonton Oilers",
    "draft_overall_pick": 1,
    "draft_round": 1,
    "draft_team_abbrev": "EDM",
    "draft_year": 2015,
    "headshot": "https://assets.nhle.com/mugs/nhl/20242025/EDM/8478402.png",
    "height_in_inches": 73,
    "is_active": true,
    "name": "Connor McDavid",
    "player_id": 8478402,
    "position": "C",
    "profile_url": "https://www.nhl.com/player/connor-mcdavid-8478402",
    "shoots_catches": "L",
    "sweater_number": 97,
    "weight_in_pounds": 194
  },
  "season_totals": [
    {
      "assists": 74,
      "avg_time_on_ice": "21:57",
      "game_type": 2,
      "game_type_name": "Regular season",
      "games_played": 67,
      "games_started": null,
      "goals": 26,
      "goals_against": null,
      "goals_against_average": null,
      "league_abbrev": "NHL",
      "losses": null,
      "ot_losses": null,
      "penalty_minutes": 42,
      "plus_minus": 20,
      "points": 100,
      "save_pctg": null,
      "season": 20242025,
      "season_label": "2024-25",
      "shots": 174,
      "shots_against": null,
      "shutouts": null,
      "team_name": "Edmonton Oilers",
      "wins": null
    }
  ]
}

Get a player's game log

Get one player's game-by-game record for a season: the opponent, whether it was home or away, and what they did in each game. Defaults to the season in progress.

Inputs

Player IDplayer_idnumberRequired
The player to read, for example 8478402. Use Search players to find one by name.
Seasonseasontext
Optional. The season to read. Defaults to the season in progress.
Game typegame_typetext
Optional. Which games to count. Defaults to the regular season. Ignored unless a season is chosen.One of: 2 (Regular season), 3 (Playoffs), 1 (Preseason), 4 (All-Star).

Outputs

countnumber
How many games.
game_typenumber
2 regular season, 3 playoffs.
gameslist
One row per game, most recent first.
player_idnumber
The player read.
seasonnumber
The season returned, e.g. 20242025.
season_labeltext
Season as 2024-25.
Example output
{
  "count": 1,
  "game_type": 2,
  "games": [
    {
      "assists": 1,
      "decision": null,
      "game_date": "2025-04-16",
      "game_id": 2024021306,
      "game_winning_goals": 0,
      "games_started": null,
      "goals": 0,
      "goals_against": null,
      "home_road_flag": "R",
      "opponent_abbrev": "SJS",
      "penalty_minutes": 0,
      "plus_minus": 1,
      "points": 1,
      "power_play_goals": 0,
      "save_pctg": null,
      "saves": null,
      "shifts": 16,
      "shorthanded_goals": 0,
      "shots": 1,
      "shots_against": null,
      "shutouts": null,
      "team_abbrev": "EDM",
      "time_on_ice": "17:31"
    }
  ],
  "player_id": 8478402,
  "season": 20242025,
  "season_label": "2024-25"
}

Get a playoff series

Get one playoff series: the two clubs, how many wins it takes, and every game in it with dates, venues and scores. Get the series letter from the playoff bracket.

Inputs

SeasonseasontextRequired
The season to read, for example 2024-25.
Seriesseries_lettertextRequired
Which series. A to H are the first round, I to L the second, M and N the conference finals, and O the Stanley Cup Final.One of: a (A: First round), b (B: First round), c (C: First round), d (D: First round), e (E: First round), f (F: First round), g (G: First round), h (H: First round), i (I: Second round), j (J: Second round), and 5 more.

Outputs

bottom_seed_teamobject
The lower-seeded club.
countnumber
How many games.
gameslist
Every game in the series, in order.
needed_to_winnumber
Wins needed to take the series.
roundnumber
Round number, 1 to 4.
round_labeltext
Round name, e.g. 1st-round.
seasontext
The season, e.g. 20242025.
season_labeltext
Season as 2024-25.
series_lettertext
The series returned, e.g. A.
top_seed_teamobject
The higher-seeded club.
Example output
{
  "bottom_seed_team": {
    "abbrev": "OTT",
    "common_name": "Senators",
    "id": 9,
    "logo": "https://assets.nhle.com/logos/nhl/svg/OTT_light.svg",
    "name": "Ottawa Senators"
  },
  "count": 1,
  "games": [
    {
      "away_team": {
        "abbrev": "CAR",
        "common_name": "Hurricanes",
        "id": 12,
        "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
        "name": "Carolina Hurricanes",
        "place_name": "Carolina",
        "score": 2,
        "shots_on_goal": 29
      },
      "game_center_url": "https://www.nhl.com/gamecenter/car-vs-buf/2025/01/15/2024020705",
      "game_date": "2025-01-15",
      "game_number": 1,
      "game_schedule_state": "OK",
      "game_state": "OFF",
      "game_type": 3,
      "game_type_name": "Regular season",
      "home_team": {
        "abbrev": "BUF",
        "common_name": "Sabres",
        "id": 7,
        "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
        "name": "Buffalo Sabres",
        "place_name": "Buffalo",
        "score": 4,
        "shots_on_goal": 31
      },
      "id": 2024020705,
      "in_intermission": false,
      "last_period_type": "REG",
      "neutral_site": false,
      "period": 3,
      "period_type": "REG",
      "recap_url": "/video/car-at-buf-recap-6367153994112",
      "season": 20242025,
      "season_label": "2024-25",
      "start_time_utc": "2025-01-15T23:00:00Z",
      "time_remaining": "00:00",
      "tv_broadcasts": [
        {
          "country_code": "US",
          "market": "N",
          "network": "TNT"
        }
      ],
      "venue": "KeyBank Center",
      "venue_timezone": "America/New_York"
    }
  ],
  "needed_to_win": 4,
  "round": 1,
  "round_label": "1st-round",
  "season": "20242025",
  "season_label": "2024-25",
  "series_letter": "A",
  "top_seed_team": {
    "abbrev": "TOR",
    "common_name": "Maple Leafs",
    "id": 10,
    "logo": "https://assets.nhle.com/logos/nhl/svg/TOR_light.svg",
    "name": "Toronto Maple Leafs"
  }
}

Get a team's player stats

Get every skater's and goalie's season totals for one club: goals, assists, points, ice time, save percentage and the rest. Defaults to the season in progress.

Inputs

TeamteamtextRequired
The club to read. Pick one, or reference a three-letter code such as TOR from an earlier step.
Seasonseasontext
Optional. The season to read. Defaults to the season in progress.
Game typegame_typetext
Optional. Which games to count. Defaults to the regular season. Ignored unless a season is chosen.One of: 2 (Regular season), 3 (Playoffs), 1 (Preseason), 4 (All-Star).

Outputs

countnumber
Skaters and goalies together.
game_typenumber
2 regular season, 3 playoffs.
goalieslist
Every goalie who played.
seasontext
The season returned, e.g. 20242025.
season_labeltext
Season as 2024-25.
skaterslist
Every skater who played, best scorers first.
team_abbrevtext
The club asked for, e.g. TOR.
Example output
{
  "count": 2,
  "game_type": 2,
  "goalies": [
    {
      "games_played": 34,
      "games_started": 33,
      "goals_against": 71,
      "goals_against_average": 2.14404,
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8476316.png",
      "losses": 8,
      "name": "Anthony Stolarz",
      "overtime_losses": 3,
      "player_id": 8476316,
      "save_pctg": 0.925926,
      "saves": 887,
      "shots_against": 958,
      "shutouts": 2,
      "time_on_ice_seconds": 119221,
      "wins": 21
    }
  ],
  "season": "20242025",
  "season_label": "2024-25",
  "skaters": [
    {
      "assists": 45,
      "avg_shifts_per_game": 21.3134,
      "avg_time_on_ice_seconds": 1180.4478,
      "faceoff_win_pctg": 0.545455,
      "game_winning_goals": 5,
      "games_played": 67,
      "goals": 33,
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8479318.png",
      "name": "Auston Matthews",
      "overtime_goals": 1,
      "penalty_minutes": 24,
      "player_id": 8479318,
      "plus_minus": 8,
      "points": 78,
      "position_code": "C",
      "power_play_goals": 9,
      "shooting_pctg": 0.147321,
      "shorthanded_goals": 1,
      "shots": 224
    }
  ],
  "team_abbrev": "TOR"
}

Get a team's prospects

Get a club's prospects (players it holds the rights to who are not on the NHL roster), split into forwards, defencemen and goalies.

Inputs

TeamteamtextRequired
The club to read. Pick one, or reference a three-letter code such as TOR from an earlier step.

Outputs

countnumber
Players across all three groups.
defensemenlist
Defencemen.
forwardslist
Centres and wingers.
goalieslist
Goaltenders.
team_abbrevtext
The club asked for, e.g. TOR.
Example output
{
  "count": 3,
  "defensemen": [
    {
      "birth_city": "San Ramon",
      "birth_country": "USA",
      "birth_date": "1997-09-17",
      "birth_state_province": "CA",
      "first_name": "Morgan",
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8479318.png",
      "height_in_inches": 75,
      "last_name": "Rielly",
      "name": "Morgan Rielly",
      "player_id": 8476853,
      "position_code": "D",
      "shoots_catches": "L",
      "sweater_number": 44,
      "weight_in_pounds": 208
    }
  ],
  "forwards": [
    {
      "birth_city": "San Ramon",
      "birth_country": "USA",
      "birth_date": "1997-09-17",
      "birth_state_province": "CA",
      "first_name": "Auston",
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8479318.png",
      "height_in_inches": 75,
      "last_name": "Matthews",
      "name": "Auston Matthews",
      "player_id": 8479318,
      "position_code": "C",
      "shoots_catches": "L",
      "sweater_number": 34,
      "weight_in_pounds": 208
    }
  ],
  "goalies": [
    {
      "birth_city": "San Ramon",
      "birth_country": "USA",
      "birth_date": "1997-09-17",
      "birth_state_province": "CA",
      "first_name": "Anthony",
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8479318.png",
      "height_in_inches": 75,
      "last_name": "Stolarz",
      "name": "Anthony Stolarz",
      "player_id": 8476316,
      "position_code": "G",
      "shoots_catches": "L",
      "sweater_number": 41,
      "weight_in_pounds": 208
    }
  ],
  "team_abbrev": "TOR"
}

Get a team's roster

Get a club's roster split into forwards, defencemen and goalies, each with their jersey number, position, size, birthplace and player id. Defaults to the current roster; pick a season for a historical one.

Inputs

TeamteamtextRequired
The club to read. Pick one, or reference a three-letter code such as TOR from an earlier step.
Seasonseasontext
Optional. The season to read. Defaults to the season in progress.

Outputs

countnumber
Players across all three groups.
defensemenlist
Defencemen.
forwardslist
Centres and wingers.
goalieslist
Goaltenders.
seasontext
The season asked for. Null when the current roster was returned.
team_abbrevtext
The club asked for, e.g. TOR.
Example output
{
  "count": 3,
  "defensemen": [
    {
      "birth_city": "San Ramon",
      "birth_country": "USA",
      "birth_date": "1997-09-17",
      "birth_state_province": "CA",
      "first_name": "Morgan",
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8479318.png",
      "height_in_inches": 75,
      "last_name": "Rielly",
      "name": "Morgan Rielly",
      "player_id": 8476853,
      "position_code": "D",
      "shoots_catches": "L",
      "sweater_number": 44,
      "weight_in_pounds": 208
    }
  ],
  "forwards": [
    {
      "birth_city": "San Ramon",
      "birth_country": "USA",
      "birth_date": "1997-09-17",
      "birth_state_province": "CA",
      "first_name": "Auston",
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8479318.png",
      "height_in_inches": 75,
      "last_name": "Matthews",
      "name": "Auston Matthews",
      "player_id": 8479318,
      "position_code": "C",
      "shoots_catches": "L",
      "sweater_number": 34,
      "weight_in_pounds": 208
    }
  ],
  "goalies": [
    {
      "birth_city": "San Ramon",
      "birth_country": "USA",
      "birth_date": "1997-09-17",
      "birth_state_province": "CA",
      "first_name": "Anthony",
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/TOR/8479318.png",
      "height_in_inches": 75,
      "last_name": "Stolarz",
      "name": "Anthony Stolarz",
      "player_id": 8476316,
      "position_code": "G",
      "shoots_catches": "L",
      "sweater_number": 41,
      "weight_in_pounds": 208
    }
  ],
  "season": "20242025",
  "team_abbrev": "TOR"
}

Get a team's schedule

Get one club's whole season schedule in date order: games played with their scores and games still to come with their start times and broadcasters. Defaults to the current season.

Inputs

TeamteamtextRequired
The club to read. Pick one, or reference a three-letter code such as TOR from an earlier step.
Seasonseasontext
Optional. The season to read. Defaults to the season in progress.

Outputs

club_timezonetext
The club's home timezone.
countnumber
How many games.
current_seasonnumber
The season returned.
gameslist
Every game that season, in date order.
next_seasonnumber
The season after this one.
previous_seasonnumber
The season before this one.
team_abbrevtext
The club asked for, e.g. TOR.
Example output
{
  "club_timezone": "America/Toronto",
  "count": 1,
  "current_season": 20242025,
  "games": [
    {
      "away_team": {
        "abbrev": "CAR",
        "common_name": "Hurricanes",
        "id": 12,
        "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
        "name": "Carolina Hurricanes",
        "place_name": "Carolina",
        "score": 2,
        "shots_on_goal": 29
      },
      "game_center_url": "https://www.nhl.com/gamecenter/car-vs-buf/2025/01/15/2024020705",
      "game_date": "2025-01-15",
      "game_number": null,
      "game_schedule_state": "OK",
      "game_state": "OFF",
      "game_type": 2,
      "game_type_name": "Regular season",
      "home_team": {
        "abbrev": "BUF",
        "common_name": "Sabres",
        "id": 7,
        "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
        "name": "Buffalo Sabres",
        "place_name": "Buffalo",
        "score": 4,
        "shots_on_goal": 31
      },
      "id": 2024020705,
      "in_intermission": false,
      "last_period_type": "REG",
      "neutral_site": false,
      "period": 3,
      "period_type": "REG",
      "recap_url": "/video/car-at-buf-recap-6367153994112",
      "season": 20242025,
      "season_label": "2024-25",
      "start_time_utc": "2025-01-15T23:00:00Z",
      "time_remaining": "00:00",
      "tv_broadcasts": [
        {
          "country_code": "US",
          "market": "N",
          "network": "TNT"
        }
      ],
      "venue": "KeyBank Center",
      "venue_timezone": "America/New_York"
    }
  ],
  "next_season": 20252026,
  "previous_season": 20232024,
  "team_abbrev": "TOR"
}

Get a team's scoreboard

Get one club's games around today, the last few played and the next few coming up, with scores where they exist. The quickest way to answer "how did they do last night, and who is next".

Inputs

TeamteamtextRequired
The club to read. Pick one, or reference a three-letter code such as TOR from an earlier step.

Outputs

club_timezonetext
The club's home timezone.
countnumber
How many games.
focused_datetext
The day the scoreboard is centred on.
gameslist
Recent and upcoming games, in date order.
team_abbrevtext
The club asked for, e.g. TOR.
Example output
{
  "club_timezone": "America/Toronto",
  "count": 1,
  "focused_date": "2025-01-15",
  "games": [
    {
      "away_team": {
        "abbrev": "CAR",
        "common_name": "Hurricanes",
        "id": 12,
        "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
        "name": "Carolina Hurricanes",
        "place_name": "Carolina",
        "score": 2,
        "shots_on_goal": 29
      },
      "game_center_url": "https://www.nhl.com/gamecenter/car-vs-buf/2025/01/15/2024020705",
      "game_date": "2025-01-15",
      "game_number": null,
      "game_schedule_state": "OK",
      "game_state": "OFF",
      "game_type": 2,
      "game_type_name": "Regular season",
      "home_team": {
        "abbrev": "BUF",
        "common_name": "Sabres",
        "id": 7,
        "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
        "name": "Buffalo Sabres",
        "place_name": "Buffalo",
        "score": 4,
        "shots_on_goal": 31
      },
      "id": 2024020705,
      "in_intermission": false,
      "last_period_type": "REG",
      "neutral_site": false,
      "period": 3,
      "period_type": "REG",
      "recap_url": "/video/car-at-buf-recap-6367153994112",
      "season": 20242025,
      "season_label": "2024-25",
      "start_time_utc": "2025-01-15T23:00:00Z",
      "time_remaining": "00:00",
      "tv_broadcasts": [
        {
          "country_code": "US",
          "market": "N",
          "network": "TNT"
        }
      ],
      "venue": "KeyBank Center",
      "venue_timezone": "America/New_York"
    }
  ],
  "team_abbrev": "TOR"
}

Get draft picks

Get the selections made at an NHL Entry Draft: who went where, to which club, and out of which junior or college team. Defaults to the most recent draft.

Inputs

Draft yearyearnumber
Optional. The draft to read, for example 2024. Defaults to the most recent one.At least 1963.
Roundround_numbertext
Optional. Which round to return. Defaults to all seven. Ignored unless a draft year is chosen.One of: all (All rounds), 1 (Round 1), 2 (Round 2), 3 (Round 3), 4 (Round 4), 5 (Round 5), 6 (Round 6), 7 (Round 7). Default: all.

Outputs

countnumber
How many picks.
draft_yearnumber
The draft returned.
pickslist
Selections in draft order.
statetext
over once the draft has finished.
Example output
{
  "count": 1,
  "draft_year": 2024,
  "picks": [
    {
      "amateur_club": "Boston University",
      "amateur_league": "H-EAST",
      "country_code": "CAN",
      "height_in_inches": 72,
      "name": "Macklin Celebrini",
      "overall_pick": 1,
      "pick_in_round": 1,
      "player_id": null,
      "position_code": "C",
      "round": 1,
      "team_abbrev": "SJS",
      "team_id": 28,
      "team_name": "San Jose Sharks",
      "weight_in_pounds": 197
    }
  ],
  "state": "over"
}

Get draft prospect rankings

Get NHL Central Scouting's ranked list of draft-eligible prospects, with each player's club, league, size and where they sat at the midterm and final rankings. Defaults to the current North American skaters list.

Inputs

Draft yearyearnumber
Optional. The draft class to read, for example 2025. Defaults to the current one.At least 2010.
Prospect listcategorytext
Optional. Which of Central Scouting's four lists to read. Defaults to North American skaters. Ignored unless a draft year is chosen.One of: 1 (North American skaters), 2 (International skaters), 3 (North American goalies), 4 (International goalies). Default: 1.

Outputs

category_idnumber
Which list, 1 to 4.
category_nametext
The list's name.
countnumber
How many prospects.
draft_yearnumber
The draft class returned.
prospectslist
Prospects in rank order.
Example output
{
  "category_id": 1,
  "category_name": "North American skaters",
  "count": 1,
  "draft_year": 2025,
  "prospects": [
    {
      "birth_city": "Hamilton",
      "birth_country": "CAN",
      "birth_date": "2007-09-05",
      "birth_state_province": "ON",
      "final_rank": 1,
      "first_name": "Matthew",
      "height_in_inches": 74,
      "last_amateur_club": "Erie",
      "last_amateur_league": "OHL",
      "last_name": "Schaefer",
      "midterm_rank": 1,
      "name": "Matthew Schaefer",
      "position_code": "D",
      "shoots_catches": "L",
      "weight_in_pounds": 186
    }
  ]
}

Get goalie leaders

Get the goalie leader boards: the top goaltenders by wins, shutouts, save percentage or goals-against average. Ask for several at once and each comes back as its own board. Defaults to wins in the season in progress.

Inputs

Categoriescategorieslist
Which leader boards to return. Defaults to Wins.One or more of: wins, shutouts, savePctg (Save %), goalsAgainstAverage (Goals-against average).
Seasonseasontext
Optional. The season to read. Defaults to the season in progress.
Game typegame_typetext
Optional. Which games to count. Defaults to the regular season. Ignored unless a season is chosen.One of: 2 (Regular season), 3 (Playoffs), 1 (Preseason), 4 (All-Star).
Players per boardlimitnumber
How many players to return per category, 1 to 100. Defaults to 10.From 1 to 100. Default: 10.

Outputs

boardslist
One board per category asked for.
countnumber
How many boards.
Example output
{
  "boards": [
    {
      "category": "wins",
      "leaders": [
        {
          "headshot": "https://assets.nhle.com/mugs/nhl/20242025/WPG/8476945.png",
          "name": "Connor Hellebuyck",
          "player_id": 8476945,
          "position": "G",
          "sweater_number": 37,
          "team_abbrev": "WPG",
          "team_name": "Jets",
          "value": 47
        }
      ]
    }
  ],
  "count": 1
}

Get goalie season stats

Rank every goaltender in a season by any column: wins, save percentage, goals-against average, shutouts and more, optionally narrowed to one club.

Inputs

SeasonseasontextRequired
The season to read, for example 2024-25.
Game typegame_typetext
Optional. Which games to count. Defaults to the regular season. Ignored unless a season is chosen.One of: 2 (Regular season), 3 (Playoffs), 1 (Preseason), 4 (All-Star).
Team filterteamtext
Optional. Narrow the ranking to one club. Defaults to the whole league.
Sort bysort_bytext
Which column to rank by. Defaults to Wins.One of: wins, losses, otLosses (Overtime losses), savePct (Save %), goalsAgainstAverage (Goals-against average), shutouts, saves, shotsAgainst (Shots against), goalsAgainst (Goals against), gamesPlayed (Games played), gamesStarted (Games started), timeOnIce (Time on ice). Default: wins.
Orderdirectiontext
Which end of the ranking to start from. Defaults to highest first.One of: DESC (Highest first), ASC (Lowest first). Default: DESC.
Number of rowslimitnumber
How many rows to return, 1 to 100. Defaults to 25.From 1 to 100. Default: 25.
Skipoffsetnumber
How many rows to skip before the first one returned, for paging past the first page. Defaults to 0.At least 0. Default: 0.

Outputs

countnumber
How many rows were returned.
goalieslist
Goalies in the order asked for.
seasontext
The season ranked, e.g. 20242025.
season_labeltext
Season as 2024-25.
totalnumber
How many rows match in all; use it to page.
Example output
{
  "count": 1,
  "goalies": [
    {
      "assists": 1,
      "games_played": 63,
      "games_started": 63,
      "goals": 0,
      "goals_against": 126,
      "goals_against_average": 2.00203,
      "last_name": "Hellebuyck",
      "losses": 12,
      "name": "Connor Hellebuyck",
      "ot_losses": 3,
      "penalty_minutes": 2,
      "player_id": 8476945,
      "save_pct": 0.92533,
      "saves": 1657,
      "season": 20242025,
      "shoots_catches": "L",
      "shots_against": 1791,
      "shutouts": 8,
      "team_abbrevs": "WPG",
      "time_on_ice_seconds": 226532,
      "wins": 47
    }
  ],
  "season": "20242025",
  "season_label": "2024-25",
  "total": 103
}

Get scores

Get every game on one day with its score, how far along it is, and each goal as it was scored, with scorers and assists. This is the action for a daily results digest. Defaults to today.

Inputs

Datedatedate
Optional. The day to score. Defaults to today.

Outputs

countnumber
How many games.
datetext
The day covered.
gameslist
Games that day, each with its goals.
next_datetext
The next day with games.
previous_datetext
The previous day with games.
Example output
{
  "count": 1,
  "date": "2025-01-15",
  "games": [
    {
      "away_team": {
        "abbrev": "CAR",
        "common_name": "Hurricanes",
        "id": 12,
        "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
        "name": "Carolina Hurricanes",
        "place_name": "Carolina",
        "score": 2,
        "shots_on_goal": 29
      },
      "game_center_url": "https://www.nhl.com/gamecenter/car-vs-buf/2025/01/15/2024020705",
      "game_date": "2025-01-15",
      "game_number": null,
      "game_schedule_state": "OK",
      "game_state": "OFF",
      "game_type": 2,
      "game_type_name": "Regular season",
      "goals": [
        {
          "assists": [
            {
              "assists_to_date": 1,
              "name": "Johnathan Kovacevic",
              "player_id": 8480192
            }
          ],
          "away_score": 1,
          "goal_modifier": "none",
          "goals_to_date": 1,
          "highlight_url": "https://nhl.com/video/njd-buf-noesen-scores-goal-against-ukko-pekka-luukkonen-6362848229112",
          "home_score": 0,
          "name": "Stefan Noesen",
          "player_id": 8476474,
          "shot_type": "snap",
          "strength": "ev",
          "team_abbrev": "NJD",
          "time_in_period": "08:39"
        }
      ],
      "home_team": {
        "abbrev": "BUF",
        "common_name": "Sabres",
        "id": 7,
        "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
        "name": "Buffalo Sabres",
        "place_name": "Buffalo",
        "score": 4,
        "shots_on_goal": 31
      },
      "id": 2024020705,
      "in_intermission": false,
      "last_period_type": "REG",
      "neutral_site": false,
      "period": 3,
      "period_type": "REG",
      "recap_url": "/video/car-at-buf-recap-6367153994112",
      "season": 20242025,
      "season_label": "2024-25",
      "start_time_utc": "2025-01-15T23:00:00Z",
      "time_remaining": "00:00",
      "tv_broadcasts": [
        {
          "country_code": "US",
          "market": "N",
          "network": "TNT"
        }
      ],
      "venue": "KeyBank Center",
      "venue_timezone": "America/New_York"
    }
  ],
  "next_date": "2025-01-16",
  "previous_date": "2025-01-14"
}

Get skater leaders

Get the skater leader boards: the top players by goals, assists, points, plus/minus, ice time, faceoffs, and power-play or shorthanded goals. Ask for several at once and each comes back as its own board. Defaults to points in the season in progress.

Inputs

Categoriescategorieslist
Which leader boards to return. Defaults to Points.One or more of: goals, assists, points, plusMinus (Plus/minus), toi (Time on ice), faceoffLeaders (Faceoff win %), goalsSh (Shorthanded goals), goalsPp (Power-play goals).
Seasonseasontext
Optional. The season to read. Defaults to the season in progress.
Game typegame_typetext
Optional. Which games to count. Defaults to the regular season. Ignored unless a season is chosen.One of: 2 (Regular season), 3 (Playoffs), 1 (Preseason), 4 (All-Star).
Players per boardlimitnumber
How many players to return per category, 1 to 100. Defaults to 10.From 1 to 100. Default: 10.

Outputs

boardslist
One board per category asked for.
countnumber
How many boards.
Example output
{
  "boards": [
    {
      "category": "goals",
      "leaders": [
        {
          "headshot": "https://assets.nhle.com/mugs/nhl/20242025/EDM/8477934.png",
          "name": "Leon Draisaitl",
          "player_id": 8477934,
          "position": "C",
          "sweater_number": 29,
          "team_abbrev": "EDM",
          "team_name": "Oilers",
          "value": 52
        }
      ]
    }
  ],
  "count": 1
}

Get skater season stats

Rank every skater in a season by any column: points, goals, shooting percentage, faceoffs, ice time and more, optionally narrowed to one club. Returns a page at a time, so it also answers "who led the league" in one row.

Inputs

SeasonseasontextRequired
The season to read, for example 2024-25.
Game typegame_typetext
Optional. Which games to count. Defaults to the regular season. Ignored unless a season is chosen.One of: 2 (Regular season), 3 (Playoffs), 1 (Preseason), 4 (All-Star).
Team filterteamtext
Optional. Narrow the ranking to one club. Defaults to the whole league.
Sort bysort_bytext
Which column to rank by. Defaults to Points.One of: points, goals, assists, plusMinus (Plus/minus), penaltyMinutes (Penalty minutes), shots, shootingPct (Shooting %), pointsPerGame (Points per game), gamesPlayed (Games played), ppGoals (Power-play goals), and 4 more. Default: points.
Orderdirectiontext
Which end of the ranking to start from. Defaults to highest first.One of: DESC (Highest first), ASC (Lowest first). Default: DESC.
Number of rowslimitnumber
How many rows to return, 1 to 100. Defaults to 25.From 1 to 100. Default: 25.
Skipoffsetnumber
How many rows to skip before the first one returned, for paging past the first page. Defaults to 0.At least 0. Default: 0.

Outputs

countnumber
How many rows were returned.
seasontext
The season ranked, e.g. 20242025.
season_labeltext
Season as 2024-25.
skaterslist
Skaters in the order asked for.
totalnumber
How many rows match in all; use it to page.
Example output
{
  "count": 1,
  "season": "20242025",
  "season_label": "2024-25",
  "skaters": [
    {
      "assists": 84,
      "even_strength_goals": 29,
      "even_strength_points": 75,
      "faceoff_win_pct": 0.5,
      "game_winning_goals": 9,
      "games_played": 78,
      "goals": 37,
      "last_name": "Kucherov",
      "name": "Nikita Kucherov",
      "ot_goals": 1,
      "penalty_minutes": 45,
      "player_id": 8476453,
      "plus_minus": 22,
      "points": 121,
      "points_per_game": 1.55128,
      "position_code": "R",
      "power_play_goals": 8,
      "power_play_points": 46,
      "season": 20242025,
      "shooting_pct": 0.13962,
      "shoots_catches": "L",
      "shorthanded_goals": 0,
      "shorthanded_points": 0,
      "shots": 265,
      "team_abbrevs": "TBL",
      "time_on_ice_per_game_seconds": 1271.3717
    }
  ],
  "total": 920
}

Get spotlighted players

Get the players NHL.com is featuring on its front page right now, each with their club and a link to their profile.

Inputs

None.

Outputs

countnumber
How many players.
playerslist
Featured players.
Example output
{
  "count": 1,
  "players": [
    {
      "headshot": "https://assets.nhle.com/mugs/nhl/20242025/CHI/8484144.png",
      "name": "Connor Bedard",
      "player_id": 8484144,
      "position": "C",
      "profile_url": "https://www.nhl.com/player/connor-bedard-8484144",
      "sweater_number": 98,
      "team_abbrev": "CHI",
      "team_id": 16
    }
  ]
}

Get team season stats

Rank every club in a season by any team column: points, goals for and against, power play, penalty kill, faceoffs and shots. Use it to compare clubs rather than players.

Inputs

SeasonseasontextRequired
The season to read, for example 2024-25.
Game typegame_typetext
Optional. Which games to count. Defaults to the regular season. Ignored unless a season is chosen.One of: 2 (Regular season), 3 (Playoffs), 1 (Preseason), 4 (All-Star).
Team filterteamtext
Optional. Narrow the ranking to one club. Defaults to the whole league.
Sort bysort_bytext
Which column to rank by. Defaults to Points.One of: points, wins, losses, otLosses (Overtime losses), pointPct (Points %), goalsFor (Goals for), goalsAgainst (Goals against), goalsForPerGame (Goals for per game), goalsAgainstPerGame (Goals against per game), powerPlayPct (Power-play %), and 4 more. Default: points.
Orderdirectiontext
Which end of the ranking to start from. Defaults to highest first.One of: DESC (Highest first), ASC (Lowest first). Default: DESC.
Number of rowslimitnumber
How many rows to return, 1 to 100. Defaults to 25.From 1 to 100. Default: 25.
Skipoffsetnumber
How many rows to skip before the first one returned, for paging past the first page. Defaults to 0.At least 0. Default: 0.

Outputs

countnumber
How many rows were returned.
seasontext
The season ranked, e.g. 20242025.
season_labeltext
Season as 2024-25.
teamslist
Clubs in the order asked for.
totalnumber
How many rows match in all; use it to page.
Example output
{
  "count": 1,
  "season": "20242025",
  "season_label": "2024-25",
  "teams": [
    {
      "faceoff_win_pct": 0.504107,
      "games_played": 82,
      "goals_against": 214,
      "goals_against_per_game": 2.60975,
      "goals_for": 274,
      "goals_for_per_game": 3.34146,
      "losses": 22,
      "name": "Vegas Golden Knights",
      "ot_losses": 10,
      "penalty_kill_pct": 0.757397,
      "point_pct": 0.67073,
      "points": 110,
      "power_play_pct": 0.283422,
      "regulation_and_ot_wins": 49,
      "season": 20242025,
      "shots_against_per_game": 26.10975,
      "shots_for_per_game": 30.26829,
      "shutouts": 6,
      "team_id": 54,
      "wins": 50,
      "wins_in_regulation": 46,
      "wins_in_shootout": 1
    }
  ],
  "total": 32
}

Get the NHL Network TV schedule

Get what NHL Network is airing on a day: every programme with its title, start and end time. Defaults to today.

Inputs

Datedatedate
Optional. The day to look up. Defaults to today.

Outputs

broadcastslist
Programmes in air order.
countnumber
How many programmes.
datetext
The day covered.
Example output
{
  "broadcasts": [
    {
      "broadcast_type": "HD",
      "description": "On The Fly",
      "duration_seconds": 1800,
      "end_time": "2025-01-15T00:30:00",
      "start_time": "2025-01-15T00:00:00",
      "title": "On The Fly"
    }
  ],
  "count": 1,
  "date": "2025-01-15"
}

Get the playoff bracket

Get a postseason's whole bracket: all fifteen series with their two clubs, seedings, games won and who advanced. Each series carries the letter Get a playoff series takes.

Inputs

SeasonseasontextRequired
The season to read, for example 2024-25.

Outputs

countnumber
How many series.
serieslist
Every series, first round first.
yearnumber
The year the postseason was played.
Example output
{
  "count": 1,
  "series": [
    {
      "bottom_seed_rank": "WC1",
      "bottom_seed_team": {
        "abbrev": "OTT",
        "common_name": "Senators",
        "id": 9,
        "logo": "https://assets.nhle.com/logos/nhl/svg/OTT_light.svg",
        "name": "Ottawa Senators"
      },
      "bottom_seed_wins": 2,
      "losing_team_id": 9,
      "playoff_round": 1,
      "series_abbrev": "R1",
      "series_letter": "A",
      "series_title": "1st Round",
      "series_url": "https://www.nhl.com/schedule/playoff-series/2025/series-a/senators-vs-mapleleafs",
      "top_seed_rank": "D1",
      "top_seed_team": {
        "abbrev": "TOR",
        "common_name": "Maple Leafs",
        "id": 10,
        "logo": "https://assets.nhle.com/logos/nhl/svg/TOR_light.svg",
        "name": "Toronto Maple Leafs"
      },
      "top_seed_wins": 4,
      "winning_team_id": 10
    }
  ],
  "year": 2025
}

Get the schedule

Get the league-wide schedule for the week containing a date: every game with its clubs, start time, arena, broadcasters and score if it has been played. Defaults to the current week.

Inputs

Datedatedate
Optional. Any day in the week you want. Defaults to this week.

Outputs

countnumber
How many games.
dayslist
The seven days covered, with a game count each.
gameslist
Every game that week, in date order.
next_start_datetext
First day of the next week.
previous_start_datetext
First day of the previous week.
Example output
{
  "count": 1,
  "days": [
    {
      "date": "2025-01-15",
      "day_abbrev": "WED",
      "number_of_games": 1
    }
  ],
  "games": [
    {
      "away_team": {
        "abbrev": "CAR",
        "common_name": "Hurricanes",
        "id": 12,
        "logo": "https://assets.nhle.com/logos/nhl/svg/CAR_light.svg",
        "name": "Carolina Hurricanes",
        "place_name": "Carolina",
        "score": 2,
        "shots_on_goal": 29
      },
      "game_center_url": "https://www.nhl.com/gamecenter/car-vs-buf/2025/01/15/2024020705",
      "game_date": "2025-01-15",
      "game_number": null,
      "game_schedule_state": "OK",
      "game_state": "OFF",
      "game_type": 2,
      "game_type_name": "Regular season",
      "home_team": {
        "abbrev": "BUF",
        "common_name": "Sabres",
        "id": 7,
        "logo": "https://assets.nhle.com/logos/nhl/svg/BUF_light.svg",
        "name": "Buffalo Sabres",
        "place_name": "Buffalo",
        "score": 4,
        "shots_on_goal": 31
      },
      "id": 2024020705,
      "in_intermission": false,
      "last_period_type": "REG",
      "neutral_site": false,
      "period": 3,
      "period_type": "REG",
      "recap_url": "/video/car-at-buf-recap-6367153994112",
      "season": 20242025,
      "season_label": "2024-25",
      "start_time_utc": "2025-01-15T23:00:00Z",
      "time_remaining": "00:00",
      "tv_broadcasts": [
        {
          "country_code": "US",
          "market": "N",
          "network": "TNT"
        }
      ],
      "venue": "KeyBank Center",
      "venue_timezone": "America/New_York"
    }
  ],
  "next_start_date": "2025-01-22",
  "previous_start_date": "2025-01-08"
}

Get the standings

Get the NHL standings: every club's record, points, goal differential, streak and playoff position, ranked within its division, conference and the league. Defaults to right now; pick a date to see how the table looked that day.

Inputs

As of datedatedate
Optional. The day to read the standings as they stood. Defaults to right now.

Outputs

as_oftext
When these standings were generated, UTC.
countnumber
How many clubs.
standingslist
One row per club, best in the league first.
Example output
{
  "as_of": "2025-04-17T12:00:00Z",
  "count": 1,
  "standings": [
    {
      "clinch_indicator": "p",
      "conference_name": "Western",
      "conference_sequence": 1,
      "date": "2025-04-17",
      "division_name": "Central",
      "division_sequence": 1,
      "games_played": 82,
      "goal_differential": 99,
      "goals_against": 203,
      "goals_for": 302,
      "home_record": "26-9-6",
      "l10_record": "7-2-1",
      "league_sequence": 1,
      "losses": 16,
      "ot_losses": 11,
      "place_name": "Colorado",
      "point_pctg": 0.737805,
      "points": 121,
      "regulation_plus_ot_wins": 51,
      "regulation_wins": 48,
      "road_record": "29-7-5",
      "season": 20242025,
      "season_label": "2024-25",
      "streak_code": "W",
      "streak_count": 3,
      "team_abbrev": "COL",
      "team_common_name": "Avalanche",
      "team_logo": "https://assets.nhle.com/logos/nhl/svg/COL_light.svg",
      "team_name": "Colorado Avalanche",
      "wildcard_sequence": 0,
      "wins": 55
    }
  ]
}

List seasons

List every NHL season back to 1917-18, newest first, with the dates its standings cover and whether it used conferences, divisions, ties and wild cards.

Inputs

None.

Outputs

countnumber
How many seasons.
current_datetext
The NHL's current date.
seasonslist
Seasons, newest first.
Example output
{
  "count": 1,
  "current_date": "2025-04-17",
  "seasons": [
    {
      "conferences_in_use": true,
      "divisions_in_use": true,
      "season": 20242025,
      "season_label": "2024-25",
      "standings_end": "2025-04-17",
      "standings_start": "2024-10-04",
      "ties_in_use": false,
      "wildcard_in_use": true
    }
  ]
}

List teams

List every NHL club with its three-letter code and team id, including franchises that no longer play. Use it to turn a team name into the code the other actions take.

Inputs

None.

Outputs

countnumber
How many clubs.
teamslist
Every club, in alphabetical order.
Example output
{
  "count": 1,
  "teams": [
    {
      "franchise_id": 5,
      "id": 10,
      "name": "Toronto Maple Leafs",
      "tricode": "TOR"
    }
  ]
}

Search players

Search NHL players by name, past and present, and get back each match with the player id the other player actions take. Start here when all you have is a name.

Inputs

Search queryquerytextRequired
The name to search for, for example "mcdavid". Part of a name is enough.
Active players onlyactive_onlytrue/false
Optional. Leave out players who are no longer active. Off by default.Default: false.
Number of resultslimitnumber
How many players to return, 1 to 100. Defaults to 20.From 1 to 100. Default: 20.

Outputs

countnumber
How many matches.
playerslist
Matching players, closest match first.
Example output
{
  "count": 1,
  "players": [
    {
      "active": true,
      "birth_city": "Richmond Hill",
      "birth_country": "CAN",
      "birth_state_province": "ON",
      "height_in_inches": 73,
      "last_season": "20242025",
      "name": "Connor McDavid",
      "player_id": 8478402,
      "position_code": "C",
      "sweater_number": 97,
      "team_abbrev": "EDM",
      "weight_in_pounds": 194
    }
  ]
}

On this page