Skip to main content
Version: main

NHL — NHL Stats REST API

sportsdataverse.nhl — 21 endpoints.

nhl_stats_rest_ping

Ping the NHL Stats REST API database.

Endpoint URL: GET https://api.nhle.com/stats/rest/ping

Valid URL: https://api.nhle.com/stats/rest/ping

API ParameterPythonPatternRequiredNullableDescription

Returns

Ping the NHL Stats REST API database.

Example

nhl_stats_rest_ping()

Last validated n/a.

nhl_stats_rest_component_season

Retrieve the component-season configuration.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/componentSeason

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

Retrieve the component-season configuration.

Example

nhl_stats_rest_component_season()

Last validated n/a.

nhl_stats_rest_config

Retrieve the Stats REST API configuration payload.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/config

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

Retrieve the Stats REST API configuration payload.

Example

nhl_stats_rest_config()

Last validated n/a.

nhl_stats_rest_content_module

Retrieve a content module by template key.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/content/module/{template_key}

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
template_keytemplate_keyYtemplate_key path parameter.
langlangYlang path parameter.

Returns

Retrieve a content module by template key.

Example

nhl_stats_rest_content_module(template_key='X')

Last validated n/a.

nhl_stats_rest_country

Retrieve the list of countries used in NHL data.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/country

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idcharacterUnique player identifier.
country3_codecharacter
country_codecharacterPlayer country code.
country_namecharacter
has_player_statsinteger
image_urlcharacterPlayer headshot URL.
ioc_codecharacter
is_activeintegerWhether the team is active.
nationality_namecharacter
olympic_urlcharacter
thumbnail_urlcharacter

return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_country()

Last validated n/a.

nhl_stats_rest_draft

Retrieve draft data, optionally filtered with Cayenne expressions.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/draft

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_draft()

Last validated n/a.

nhl_stats_rest_franchise

Retrieve franchise data.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/franchise

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerUnique player identifier.
full_namecharacterPlayer full name.
team_common_namecharacterTeam common (nickname) name.
team_place_namecharacterTeam place (city/location) name.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_franchise()

Last validated n/a.

nhl_stats_rest_game

Retrieve game-level data.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/game

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_game()

Last validated n/a.

nhl_stats_rest_glossary

Retrieve the NHL Stats glossary of stat definitions.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/glossary

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerUnique player identifier.
abbreviationcharacterTeam abbreviation.
definitioncharacterDefinition of the stat or term.
first_season_for_statdoubleFirst season the stat was tracked (YYYYYYYY).
full_namecharacterPlayer full name.
language_codecharacterLanguage code of the entry.
last_updatedcharacterTimestamp the entry was last updated.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_glossary()

Last validated n/a.

nhl_stats_rest_goalie_report

Retrieve a goalie statistical report.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/goalie/{report}

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
reportreportYreport path parameter.
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
assistsintegerAssists.
games_playedintegerGames played.
games_startedintegerGames started (goalies).
goalie_full_namecharacterGoalie full name.
goalsintegerGoals scored.
goals_againstintegerGoals against.
goals_against_averagedoubleGoals against average.
last_namecharacterPlayer last name.
lossesintegerLosses.
ot_lossesintegerOvertime losses.
penalty_minutesintegerPenalty minutes.
player_idintegerUnique player identifier.
pointsintegerTotal points (goals + assists).
save_pctdoubleSave percentage.
savesintegerSaves made.
season_idintegerSeason identifier.
shoots_catchescharacterHandedness (shoots/catches).
shots_againstintegerShots faced.
shutoutsintegerShutouts recorded.
team_abbrevscharacterTeam abbreviation(s).
tiescharacterTotal ties.
time_on_iceintegerTime on ice in seconds.
winsintegerWins.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_goalie_report(report='summary')

Last validated n/a.

nhl_stats_rest_leaders_goalies

Retrieve league leaders for a goalie statistical attribute.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/leaders/goalies/{attribute}

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
attributeattributeYattribute path parameter.
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_leaders_goalies(attribute='X')

Last validated n/a.

nhl_stats_rest_leaders_skaters

Retrieve league leaders for a skater statistical attribute.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/leaders/skaters/{attribute}

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
attributeattributeYattribute path parameter.
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_leaders_skaters(attribute='X')

Last validated n/a.

nhl_stats_rest_milestones_goalies

Retrieve milestone data for goalies.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/milestones/goalies

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_milestones_goalies()

Last validated n/a.

nhl_stats_rest_milestones_skaters

Retrieve milestone data for skaters.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/milestones/skaters

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_milestones_skaters()

Last validated n/a.

nhl_stats_rest_players

Retrieve the NHL player registry.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/players

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_players()

Last validated n/a.

nhl_stats_rest_season

Retrieve the list of all NHL seasons.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/season

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerUnique player identifier.
all_star_game_in_useintegerWhether an All-Star Game was held this season.
conferences_in_useintegerWhether conferences were in use that season.
divisions_in_useintegerWhether divisions were in use that season.
end_datecharacterSeason end date.
entry_draft_in_useintegerWhether an entry draft was in use this season.
formatted_season_idcharacterHuman-readable season string (e.g. "2023-24").
minimum_playoff_minutes_for_goalie_stats_leadersintegerMinimum playoff minutes to qualify for goalie stats leaders.
minimum_regular_games_for_goalie_stats_leadersintegerMinimum regular-season games to qualify for goalie stats leaders.
nhl_stanley_cup_ownerintegerWhether the NHL owned the Stanley Cup this season.
number_of_gamesintegerNumber of games per team this season.
olympics_participationintegerWhether NHL players participated in the Olympics this season.
point_for_ot_loss_in_useintegerWhether the overtime-loss point was in use this season.
preseason_startdatecharacterPreseason start date.
regular_season_end_datecharacterRegular-season end date.
row_in_useintegerWhether the regulation/overtime/shootout format was in use.
season_ordinalintegerOrdinal sequence number of the season.
start_datecharacterSeason start date.
supplemental_draft_in_useintegerWhether a supplemental draft was in use this season.
ties_in_useintegerWhether ties were in use that season.
total_playoff_gamesintegerTotal number of playoff games this season.
total_regular_season_gamesintegerTotal number of regular-season games this season.
wildcard_in_useintegerWhether the wild-card playoff format was in use this season.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_season()

Last validated n/a.

nhl_stats_rest_shiftcharts

Retrieve shift-chart data.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/shiftcharts

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_shiftcharts()

Last validated n/a.

nhl_stats_rest_skater_report

Retrieve a skater statistical report.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/skater/{report}

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
reportreportYreport path parameter.
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
assistsintegerAssists.
ev_goalsintegerEven-strength goals.
ev_pointsintegerEven-strength points.
faceoff_win_pctdoubleFaceoff win percentage.
game_winning_goalsintegerGame-winning goals.
games_playedintegerGames played.
goalsintegerGoals scored.
last_namecharacterPlayer last name.
ot_goalsintegerOvertime goals.
penalty_minutesintegerPenalty minutes.
player_idintegerUnique player identifier.
plus_minusintegerPlus/minus rating.
pointsintegerTotal points (goals + assists).
points_per_gamedoublePoints per game.
position_codecharacterPlayer position code.
pp_goalsintegerPower-play goals.
pp_pointsintegerPower-play points.
season_idintegerSeason identifier.
sh_goalsintegerShort-handed goals.
sh_pointsintegerShort-handed points.
shooting_pctdoubleShooting percentage.
shoots_catchescharacterHandedness (shoots/catches).
shotsintegerShots on goal.
skater_full_namecharacterPlayer full name.
team_abbrevscharacterTeam abbreviation(s).
time_on_ice_per_gamedoubleAverage time on ice per game.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_skater_report(report='summary')

Last validated n/a.

nhl_stats_rest_team

Retrieve the list of all NHL teams.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/team

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_team()

Last validated n/a.

nhl_stats_rest_team_by_id

Retrieve a single team by its numeric ID.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/team/id/{team_id}

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nhl_stats_rest); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_team_by_id(team_id=10)

Last validated n/a.

nhl_stats_rest_team_report

Retrieve a team statistical report.

Endpoint URL: GET https://api.nhle.com/stats/rest/{lang}/team/{report}

Valid URL: https://api.nhle.com/stats/rest

API ParameterPythonPatternRequiredNullableDescription
reportreportYreport path parameter.
langlangYlang path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
faceoff_win_pctdoubleFaceoff win percentage.
games_playedintegerGames played.
goals_againstintegerGoals against.
goals_against_per_gamedoubleGoals against per game.
goals_forintegerGoals for.
goals_for_per_gamedoubleGoals for per game.
lossesintegerLosses.
ot_lossesintegerOvertime losses.
penalty_kill_net_pctdoubleNet penalty kill percentage.
penalty_kill_pctdoublePenalty kill percentage.
point_pctdoublePoints percentage.
pointsintegerTotal points (goals + assists).
power_play_net_pctdoubleNet power play percentage.
power_play_pctdoublePower play percentage.
regulation_and_ot_winsintegerWins in regulation and overtime.
season_idintegerSeason identifier.
shots_against_per_gamedoubleShots against per game.
shots_for_per_gamedoubleShots for per game.
team_full_namecharacterFull team name.
team_idintegerUnique team identifier.
team_shutoutsintegerTeam shutouts.
tiescharacterTotal ties.
winsintegerWins.
wins_in_regulationintegerWins in regulation.
wins_in_shootoutintegerWins in shootout.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nhl_stats_rest_team_report(report='summary')

Last validated n/a.