Skip to main content

NHL — ESPN FPI API (fitt v3)

sportsdataverse.nhl — 1 endpoint.

espn_nhl_fpi​

ESPN endpoint.

Endpoint URL: GET https://site.web.api.espn.com/apis/fitt/v3/sports/hockey/nhl/powerindex

Valid URL: https://site.web.api.espn.com/apis/fitt/v3/sports/hockey/nhl/powerindex?season=2024

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason (4-digit year) whose FPI table to return; defaults to the current season.
limitlimitYPage size. The response is a single page for every league observed, so the default suffices.
pagepageYPage number, for the paginated envelope.

Returns​

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

col_nametypedescription
team_idInt64Unique team identifier.
team_uidStringESPN team uid.
team_abbreviationStringTeam abbreviation.
team_display_nameStringTeam display name.
team_short_display_nameStringTeam short display name.
team_nicknameStringTeam nickname.
bpiFloat64
bpirankFloat64
bpioffenseFloat64
bpidefenseFloat64
playoffbpiFloat64
offtalentString
deftalentString
numwinsFloat64
numlossesFloat64
projectedwFloat64
projectedlFloat64
probwindivFloat64
probmakeplayoffsFloat64
top6seedFloat64
playinchanceFloat64
playoffseedFloat64
projdraftslotFloat64
probno1draftpickFloat64
playoffbpi_playoffsFloat64
playoffoffFloat64
playoffdefFloat64
probmakeplayoffs_playoffsFloat64
probmakeconfsemiFloat64
probmakeconfchampFloat64
probmaketitlegameFloat64
probwintitleFloat64
season.displayNameString
season.endDateString
season.startDateString
season.type.endDateString
season.type.idString
season.type.nameString
season.type.startDateString
season.type.typeInt64
season.yearInt64

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

Raises​

ExceptionDescription
NoDataErrorThe host answered 404 -- the requested resource does not exist.
ValueErrorThe host answered 400 / 422 -- the request is wrong; retrying cannot help.
AssetFetchErrorThe fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty.

Example​

espn_nhl_fpi(season=2024)