Skip to main content

NHL — additional Python functions — Fox

fox_nhl_boxscore​

fox_nhl_boxscore(game_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL boxscore (long: one row per player-stat).

Parameters

ParameterTypeDefaultDescription
game_idUnion[int, str]Fox Bifrost event id.
return_parsedboolTrueIf True (default) flatten the per-team stat tables to long form; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_boxscore
df = fox_nhl_boxscore("...")

fox_nhl_event_matchup​

fox_nhl_event_matchup(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl pregame team-stat comparison (one row per stat).

Wraps nhl/event/{game_id}/matchup.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_event_matchup
df = fox_nhl_event_matchup("...")

fox_nhl_event_recap​

fox_nhl_event_recap(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl postgame top performers (one row per player).

Wraps nhl/event/{game_id}/recap.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_event_recap
df = fox_nhl_event_recap("...")

fox_nhl_event_standings​

fox_nhl_event_standings(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl the two teams' standings context.

Wraps nhl/event/{game_id}/standings.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_event_standings
df = fox_nhl_event_standings("...")

fox_nhl_league_conferences​

fox_nhl_league_conferences(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl conference / group directory.

Wraps nhl/league/conferences.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_league_conferences
df = fox_nhl_league_conferences()

fox_nhl_league_header​

fox_nhl_league_header(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl league header (one row).

Wraps nhl/league/header.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
templatecharacterFox layout template name for the header payload; always 'entity-header' in sampled data.
titlecharacterTransaction title/headline.
entity_idcharacterFox id of the league entity as a string: the trailing number of the league's Fox contentUri.
content_uricharacterFox content URI of the league entity (e.g., 'hockey/nhl/league/1'); entity_id is its trailing number.
content_typecharacterFox entity type of the header payload; always 'league' for the league header.
colorcharacterPrimary color hex.
logo_urlcharacterNBA CDN primary logo URL.
image_alt_textcharacterImage alt text Fox ships with the header, the full league name (e.g., 'National Hockey League').
rankcharacterRank of the streak.
detailscharacterOdds detail string (e.g. "DET -185").

Example

from sportsdataverse.nhl import fox_nhl_league_header
df = fox_nhl_league_header()

fox_nhl_league_leaders​

fox_nhl_league_leaders(category: 'str' = 'scoring', who: 'str' = 'player', page: 'int' = 0, *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL statistical leaders (stats-con); who=player|team.

Parameters

ParameterTypeDefaultDescription
categorystr'scoring'Stat category. Defaults to "scoring".
whostr'player'"player" or "team". Defaults to "player".
pageint00-based result page. Defaults to 0.
return_parsedboolTrueIf True (default) flatten the leader tables to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
playerscharacterNested list of per-player box scores.
v1characterAbbreviated player name (e.g., 'A. Ovechkin'), from the leader table's unlabeled second column.
gpcharacterGames played.
entity_idcharacterFox id of the row's linked player or team as a string: the trailing number of the row's entityLink contentUri.
gcharacterGoals (skaters).
acharacterAssists (skaters).
pcharacterP.

Example

from sportsdataverse.nhl import fox_nhl_league_leaders
df = fox_nhl_league_leaders("scoring")

fox_nhl_league_odds​

fox_nhl_league_odds(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl league odds board (one row per team per game).

Wraps nhl/league/odds.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_league_odds
df = fox_nhl_league_odds()

fox_nhl_league_player_news​

fox_nhl_league_player_news(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl league-wide player news feed.

Wraps nhl/league/playernews.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
titlecharacterTransaction title/headline.
subtitlecharacterPlayer's team abbreviation, jersey number and position formatted 'TEAM #NN - POS' (e.g., 'WPG #37 - G').
headlinecharacterArticle headline.
descriptioncharacterFull text description of the event.
impact_titlecharacterHeading label for the impact paragraph; always 'Impact' in sampled data.
impactcharacterFree-text analysis paragraph Fox shows under the item's impact_title heading.
datecharacterGame date (ISO 8601 datetime string).
sourcecharacterNews source.
athlete_idcharacterESPN athlete identifier (echoed from arg).
content_uricharacterFox content URI of the player the item is about (e.g., 'hockey/nhl/athletes/4442'); athlete_id is its trailing number.
web_urlcharacterSite-relative foxsports.com path of the player's page (e.g., '/nhl/connor-hellebuyck-player').

Example

from sportsdataverse.nhl import fox_nhl_league_player_news
df = fox_nhl_league_player_news()

fox_nhl_league_polls​

fox_nhl_league_polls(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl rankings / polls rendered as standings tables.

Wraps nhl/league/polls.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_league_polls
df = fox_nhl_league_polls()

fox_nhl_league_schedule​

fox_nhl_league_schedule(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl league schedule nav selections.

Wraps nhl/league/schedule.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
selection_listcharacterWhich Fox navigation list the row came from ('groupList', 'dailyList' or 'selectionList'); always 'dailyList' (one row per date) in sampled data.
idcharacterUnique player identifier.
titlecharacterTransaction title/headline.
datecharacterGame date (ISO 8601 datetime string).
uricharacterAbsolute Bifrost API URL of that date's schedule segment payload (e.g., 'https://api.foxsports.com/bifrost/v1/nhl/league/schedule-segment/2026-20260919').
web_urlcharacterSite-relative foxsports.com schedule page path for that date (e.g., '/nhl/schedule?date=2026-09-19').
selectedcharacterFox's default-selection flag, which Fox sets only on group-filter (groupList) items; this league's navigation payload has no groupList, so the column is null on every row. The current date or week is marked by the payload-level currentSelectionId, which the parser does not return.
group_idcharacterGroup id (echoed from arg).

Example

from sportsdataverse.nhl import fox_nhl_league_schedule
df = fox_nhl_league_schedule()

fox_nhl_league_scores​

fox_nhl_league_scores(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl league scores nav selections.

Wraps nhl/league/scores.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
selection_listcharacterWhich Fox navigation list the row came from ('groupList', 'dailyList' or 'selectionList'); always 'dailyList' (one row per date) in sampled data.
idcharacterUnique player identifier.
titlecharacterTransaction title/headline.
datecharacterGame date (ISO 8601 datetime string).
uricharacterAbsolute Bifrost API URL of that date's scores segment payload (e.g., 'https://api.foxsports.com/bifrost/v1/nhl/league/scores-segment/20260919').
web_urlcharacterSite-relative foxsports.com scores page path for that date (e.g., '/nhl/scores?date=2026-09-19').
selectedcharacterFox's default-selection flag, which Fox sets only on group-filter (groupList) items; this league's navigation payload has no groupList, so the column is null on every row. The current date or week is marked by the payload-level currentSelectionId, which the parser does not return.
group_idcharacterGroup id (echoed from arg).

Example

from sportsdataverse.nhl import fox_nhl_league_scores
df = fox_nhl_league_scores()

fox_nhl_league_standings​

fox_nhl_league_standings(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl league-wide standings tables.

Wraps nhl/league/standings.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
sectioncharacterTitle of the standings section the row's table sits in ('CONFERENCE', 'DIVISION', 'WILD CARD' or 'PRESEASON'); each team appears once per section.
eastern_conferencecharacterFirst-column cell of Fox's EASTERN CONFERENCE tables (CONFERENCE and PRESEASON sections), whose header text names this column; all null in the sampled preseason data, where Fox left that cell blank.
v1characterTeam nickname (e.g., 'Bruins'), from the standings table's unlabeled second column.
w_l_otlcharacterRecord as a 'W-L-OTL' string (wins-losses-overtime losses); '0-0-0' for every team in the sampled preseason data.
ptscharacterPoints scored.
gpcharacterGames played.
rowcharacterRow index within the game grouping (sequencing helper).
sowcharacterShootout wins (SOW column), as a string; '0' for every team in the sampled preseason data.
solcharacterShootout losses (SOL column), as a string; '0' for every team in the sampled preseason data.
gfcharacterGoals for (GF column), as a string; '0' for every team in the sampled preseason data.
gacharacterGoals against (goalies).
gdcharacterGoal differential (GD column), as a string; '0' for every team in the sampled preseason data.
homecharacterWhether the player's team was home.
awaycharacterAway team shots in the period.
l10characterLast-ten record.
strkcharacterCurrent streak.
entity_idcharacterFox id of the row's linked team as a string: the trailing number of the row's entityLink contentUri.
western_conferencecharacterFirst-column cell of Fox's WESTERN CONFERENCE tables (CONFERENCE and PRESEASON sections), whose header text names this column; all null in the sampled preseason data, where Fox left that cell blank.
east_atlanticcharacterFirst-column cell of Fox's 'EAST, ATLANTIC' division tables (DIVISION and WILD CARD sections), whose header text names this column; all null in the sampled preseason data, where Fox left that cell blank.
east_metropolitancharacterFirst-column cell of Fox's 'EAST, METROPOLITAN' division tables (DIVISION and WILD CARD sections), whose header text names this column; all null in the sampled preseason data, where Fox left that cell blank.
west_centralcharacterFirst-column cell of Fox's 'WEST, CENTRAL' division tables (DIVISION and WILD CARD sections), whose header text names this column; all null in the sampled preseason data, where Fox left that cell blank.
west_pacificcharacterFirst-column cell of Fox's 'WEST, PACIFIC' division tables (DIVISION and WILD CARD sections), whose header text names this column; all null in the sampled preseason data, where Fox left that cell blank.
wild_cardcharacterFirst-column cell of Fox's WILD CARD tables (one per conference in the WILD CARD section), whose header text names this column; all null in the sampled preseason data, where Fox left that cell blank.

Example

from sportsdataverse.nhl import fox_nhl_league_standings
df = fox_nhl_league_standings()

fox_nhl_league_stat_leaders​

fox_nhl_league_stat_leaders(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl league stats landing leaders.

Wraps nhl/league/stats.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
categorycharacterStat leader category.
statcharacterStat.
stat_abbreviationcharacterFox's short label for the leader's stat (e.g., 'G', 'GAA', 'TOI/G').
playercharacterPenalized player name.
valuecharacterLeader stat numeric value.

Example

from sportsdataverse.nhl import fox_nhl_league_stat_leaders
df = fox_nhl_league_stat_leaders()

fox_nhl_odds​

fox_nhl_odds(game_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL game odds six-pack (spread / to-win / total per team).

Parameters

ParameterTypeDefaultDescription
game_idUnion[int, str]Fox Bifrost event id.
return_parsedboolTrueIf True (default) flatten the six-pack market to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_odds
df = fox_nhl_odds("...")

fox_nhl_pbp​

fox_nhl_pbp(game_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL play-by-play (one row per play; period-based).

Parameters

ParameterTypeDefaultDescription
game_idUnion[int, str]Fox Bifrost event id.
return_parsedboolTrueIf True (default) flatten the pbp layout to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_pbp
df = fox_nhl_pbp("...")

fox_nhl_scoreboard​

fox_nhl_scoreboard(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl scoreboard nav selections (weeks / dates / groups).

Wraps nhl/scoreboard/main.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
selection_listcharacterWhich Fox navigation list the row came from ('groupList', 'dailyList' or 'selectionList'); always 'dailyList' (one row per date) in sampled data.
idcharacterUnique player identifier.
titlecharacterTransaction title/headline.
datecharacterGame date (ISO 8601 datetime string).
uricharacterAbsolute Bifrost API URL of that date's scoreboard segment payload (e.g., 'https://api.foxsports.com/bifrost/v1/nhl/scoreboard/segment/20260919').
web_urlcharacterSite-relative foxsports.com scoreboard page path for that date (e.g., '/scores/nhl?date=2026-09-19').
selectedcharacterFox's default-selection flag, which Fox sets only on group-filter (groupList) items; this league's navigation payload has no groupList, so the column is null on every row. The current date or week is marked by the payload-level currentSelectionId, which the parser does not return.
group_idcharacterGroup id (echoed from arg).

Example

from sportsdataverse.nhl import fox_nhl_scoreboard
df = fox_nhl_scoreboard()

fox_nhl_scorechip​

fox_nhl_scorechip(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl compact live score chip (raw dict -- live-only, uncaptured shape).

Wraps nhl/scorechip/{chip_id}.

Returns

The raw JSON dict.

Example

from sportsdataverse.nhl import fox_nhl_scorechip
df = fox_nhl_scorechip("nfl12345")

fox_nhl_scores_segment​

fox_nhl_scores_segment(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl one row per game in a scoreboard segment.

Wraps nhl/league/scores-segment/{segment_id}.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_scores_segment
df = fox_nhl_scores_segment("...")

fox_nhl_standings​

fox_nhl_standings(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL standings for a team's conference/division.

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten the standings tables to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_standings
df = fox_nhl_standings("...")

fox_nhl_team_gamelog​

fox_nhl_team_gamelog(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL team game log (long: one row per game-stat).

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten to long form; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_team_gamelog
df = fox_nhl_team_gamelog("...")

fox_nhl_team_header​

fox_nhl_team_header(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl team header (one row).

Wraps nhl/team/{team_id}/header.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_team_header
df = fox_nhl_team_header("...")

fox_nhl_team_roster​

fox_nhl_team_roster(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL team roster (one row per player).

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten the position-group tables to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_team_roster
df = fox_nhl_team_roster("...")

fox_nhl_team_stats​

fox_nhl_team_stats(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

NHL team stat leaders by category.

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten the leader sections to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.nhl import fox_nhl_team_stats
df = fox_nhl_team_stats("...")

fox_nhl_teamnav​

fox_nhl_teamnav(*args: 'Any', **kwargs: 'Any') -> 'Any'

Fox Sports nhl team directory (one row per team).

Wraps nhl/league/teamnav.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

col_nametypedescription
groupcharacterStat group (e.g. "hitting", "pitching", "fielding").
fox_idcharacterFox Sports team id as a string (e.g., '14'), the trailing number of content_uri.
abbreviationcharacterTeam abbreviation.
namecharacterTeam mascot name.
content_uricharacterFox content URI of the team (e.g., 'hockey/nhl/teams/14'); fox_id is its trailing number.
content_typecharacterFox entity type of the nav item; always 'team' in sampled data.
web_urlcharacterSite-relative foxsports.com path of the team page (e.g., '/nhl/detroit-red-wings-team').
colorcharacterPrimary color hex.
logo_urlcharacterNBA CDN primary logo URL.

Example

from sportsdataverse.nhl import fox_nhl_teamnav
df = fox_nhl_teamnav()