Skip to main content

EIHL — EIHL data feed (eSports hokejovyzapis S3 bucket, UK)

sportsdataverse.hockey.eihl — 9 endpoints.

eihl_schedule​

Schedule and results of one competition season, one row per match, played or not.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/league-matches/{season}/{league_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/league-matches/2026/3.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason by its END year (2027 = 2026/27). The bucket keys seasons by their START year; the wrapper requests season - 1.
league_idleague_idYCompetition id. 3 = Elite League, 4 = Challenge Cup, 5 = playoffs.

Returns​

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

col_nametypedescription
match_idintegerMatch id (per-bucket match key space); joins to the {match_id} path param of the game wrappers.
start_datecharacterScheduled face-off, local YYYY-MM-DD HH:MM:SS; DEL playoff placeholders read 0000-00-00 ....
league_idintegerLeague id (per-bucket competition key space); joins to the {league_id} path param.
leaguecharacterLeague display name, e.g. DEL, EIHL, Metal Ligaen.
seasonintegerSeason by its END year (2027 = 2026/27); the body's START-year key plus one.
roundcharacterRound number as a string ("1", "249"); DEL values carry a leading U+FEFF byte-order mark, empty string in Denmark.
groupcharacterGroup name in group stages; empty string or null otherwise.
home_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
home_namecharacterTeam display name as the feed prints it.
home_shortcutcharacterThree-letter team code.
guest_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
guest_namecharacterTeam display name as the feed prints it.
guest_shortcutcharacterThree-letter team code.
statuscharacterMatch status: BEFORE_MATCH, LIVE, AFTER_MATCH.
overtime_countintegerNumber of overtime periods played; null in the samples.
extra_timelogicalTrue when the game went to overtime.
shootinglogicalTrue when the game was decided by a shootout.
contumacylogicalTrue when the result was awarded by forfeit.
final_score_homeintegerHome team goals in that span.
final_score_guestintegerVisiting team goals in that span.
first_period_score_homeintegerHome team goals in that span.
first_period_score_guestintegerVisiting team goals in that span.
second_period_score_homeintegerHome team goals in that span.
second_period_score_guestintegerVisiting team goals in that span.
third_period_score_homeintegerHome team goals in that span.
third_period_score_guestintegerVisiting team goals in that span.
actual_time_namecharacterDisplay label of the game state in the bucket's language, e.g. end, Ende, before game.
actual_time_aliascharacterShort game-state code: K = finished (Czech konec), 0 = not started.
last_event_timeintegerGame second of the latest event, of game time from the opening face-off (0-3600 in regulation, continuing through overtime).
arenacharacterArena name; empty string or null where not set.

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

Example​

eihl_schedule(league_id=3, season=2027)

Last validated n/a.

eihl_team_player_stats​

Season player stats of one team in one competition, one row per player.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/league-team-stats/{season}/{league_id}/{team_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/league-team-stats/2026/3/96.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason by its END year (2027 = 2026/27). The bucket keys seasons by their START year; the wrapper requests season - 1.
league_idleague_idYCompetition id. 3 = Elite League, 4 = Challenge Cup, 5 = playoffs.
team_idteam_idYTeam id (per-bucket team key space: home_id / guest_id in eihl_schedule).

Returns​

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

col_nametypedescription
player_idintegerPlayer id (playerId key space, per bucket, stable across games and seasons).
namecharacterPlayer full name (first and last).
firstnamecharacterFirst name of the player in this row.
surnamecharacterPlayer's last (family) name.
birthdatecharacterBirth date YYYY-MM-DD.
activelogicalTrue when the player is active on the team.
positioncharacterPosition code: GK goalie, DE defence, FW / FO forward (FO meaning unverified).
stickcharacterHandedness: left or right; null when unknown.
weightintegerWeight in kg; 0 placeholder when unknown.
heightintegerHeight in cm; 0 placeholder when unknown.
jerseyintegerPlayer jersey (sweater) number.
birth_countrycharacterPlayer's country of birth (name).
nationalitycharacterNationality, country name.
nationality_shortcharacterNationality, three-letter code (CAN, GER; UK for Britain).
team_shortcutcharacterThree-letter team code.
gamesintegerGames played in the table's scope.
goalsintegergoals in total (goals_home + goals_away: the body splits it by home and away games).
goals_homeintegerSplit by venue: home = in the player's home games, away = in away games.
goals_awayintegerSplit by venue: home = in the player's home games, away = in away games.
assistsintegerassists in total (assists_home + assists_away: the body splits it by home and away games).
assists_homeintegerSplit by venue: home = in the player's home games, away = in away games.
assists_awayintegerSplit by venue: home = in the player's home games, away = in away games.
pointsintegerpoints in total (points_home + points_away: the body splits it by home and away games).
points_homeintegerSplit by venue: home = in the player's home games, away = in away games.
points_awayintegerSplit by venue: home = in the player's home games, away = in away games.
penalty_minutesintegerPenalty minutes assessed to the player (this game, or to date in the season / league-part files).
positiveintegerPlus: on ice for goals for at even strength or shorthanded.
negativeintegerMinus: on ice for goals against at even strength or on the power play.
points_per_gamenumericAverage goals plus assists per game played.
shot_efficiencynumericShooting percentage, goals / shots on goal x 100.
penalty_minutes_per_gamenumericAverage penalty minutes per game played.
pp_goalsintegerPower-play goals.
sh_goalsintegerShorthanded goals.
gw_goalsintegerGame-winning goals.
shots_attemptsintegerShot attempts (on goal + missed + blocked).
shots_on_goalintegershots_on_goal in total (shots_on_goal_home + shots_on_goal_away: the body splits it by home and away games).
shots_on_goal_homeintegerSplit by venue: home = in the player's home games, away = in away games.
shots_on_goal_awayintegerSplit by venue: home = in the player's home games, away = in away games.
shots_missedintegerThis player's shot attempts that missed the net.
shots_blockedintegerThis player's shot attempts that were blocked.
blocked_shots_by_playerintegerOpponent shots this player blocked.
faceoffs_winintegerFace-offs the player won (this game, or to date in the season / league-part files).
faceoffs_lossesintegerFace-offs the player lost (this game, or to date in the season / league-part files).
faceoffs_countintegerFace-offs the player took (this game, or to date in the season / league-part files).
timeonicenumericTime on ice, seconds with decimals (tracking-based; differs from timeOnIce).
timeonice_eqnumericTime on ice at even strength (EQ), on the power play (PP) or shorthanded (SH), seconds with decimals.
timeonice_ppnumericTime on ice at even strength (EQ), on the power play (PP) or shorthanded (SH), seconds with decimals.
timeonice_shnumericTime on ice at even strength (EQ), on the power play (PP) or shorthanded (SH), seconds with decimals.
hitsintegerBody checks delivered.

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

Example​

eihl_team_player_stats(league_id=3, season=2027, team_id=96)

Last validated n/a.

eihl_top_scorers​

Skater scoring leaderboard of one competition season.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/league-top-scorers/{season}/{league_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/league-top-scorers/2026/3.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason by its END year (2027 = 2026/27). The bucket keys seasons by their START year; the wrapper requests season - 1.
league_idleague_idYCompetition id. 3 = Elite League, 4 = Challenge Cup, 5 = playoffs.

Returns​

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

col_nametypedescription
player_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
namecharacterPlayer's first (given) name.
surnamecharacterPlayer's last (family) name.
jerseyintegerPlayer jersey (sweater) number.
birthdatecharacterBirth date YYYY-MM-DD.
team_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
team_namecharacterTeam display name as the feed prints it.
team_shortcutcharacterThree-letter team code.
matchesintegerGames played (two names for the same count).
goalsintegerGoals the player scored in the league-season.
assistsintegerAssists credited to the player in the league-season.
pointsintegerPoints, goals + assists.
shotsintegerShots on goal (saved or scored).
positivesintegerPlus events of the player: on ice for a goal for (league-season).
negativesintegerMinus events of the player: on ice for a goal against (league-season).
positives_negativesintegerPlus/minus, positives - negatives.

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

Example​

eihl_top_scorers(league_id=3, season=2027)

Last validated n/a.

eihl_game_info​

Game info of one match: state, arena, attendance, officials, coaches, period scores.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/{match_id}/game-info.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/4440/game-info.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in eihl_schedule). Not the league website's game id.

Returns​

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

col_nametypedescription
actual_time_namecharacterDisplay label of the game state, e.g. end / Ende.
actual_time_aliascharacterShort game-state code: K = finished.
stadiumcharacterName of the arena the game was played in.
number_of_viewersintegerSpectators at the game (attendance).
referees_head_referee1characterOfficial's name (ICEHL/EIHL/Denmark: a full-name string; DEL: an object with id and name).
referees_head_referee2characterOfficial's name (ICEHL/EIHL/Denmark: a full-name string; DEL: an object with id and name).
referees_line_referee1characterOfficial's name (ICEHL/EIHL/Denmark: a full-name string; DEL: an object with id and name).
referees_line_referee2characterOfficial's name (ICEHL/EIHL/Denmark: a full-name string; DEL: an object with id and name).
team_info_home_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
team_info_home_namecharacterTeam display name as the feed prints it.
team_info_home_shortcutcharacterThree-letter team code.
team_info_visitor_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
team_info_visitor_namecharacterTeam display name as the feed prints it.
team_info_visitor_shortcutcharacterThree-letter team code.
trainers_home_head_coachcharacterHead coach (ICEHL/EIHL/Denmark: a full-name string; DEL: an object with id and name).
trainers_visitor_head_coachcharacterHead coach (ICEHL/EIHL/Denmark: a full-name string; DEL: an object with id and name).
team_bilance_home_winintegerWins of that team in the head-to-head record (unverified).
team_bilance_visitor_winintegerWins of that team in the head-to-head record (unverified).
results_extra_timelogicalTrue when the game went to overtime.
results_shootinglogicalTrue when the game was decided by a shootout.
results_contumacylogicalTrue when the result was awarded by forfeit.
results_score_final_score_homeintegerHome team goals in that span.
results_score_final_score_guestintegerVisiting team goals in that span.
results_score_first_period_score_homeintegerHome team goals in that span.
results_score_first_period_score_guestintegerVisiting team goals in that span.
results_score_second_period_score_homeintegerHome team goals in that span.
results_score_second_period_score_guestintegerVisiting team goals in that span.
results_score_third_period_score_homeintegerHome team goals in that span.
results_score_third_period_score_guestintegerVisiting team goals in that span.

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

Example​

eihl_game_info(match_id=4440)

Last validated n/a.

eihl_pbp​

Play-by-play of one match: goals, penalties, goalie changes and timeouts, one row per event.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/{match_id}/period-events.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/4440/period-events.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in eihl_schedule). Not the league website's game id.

Returns​

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

col_nametypedescription
event_indexintegerRow order of the event within the game (0-based), across periods.
periodcharacterPeriod key as the body sends it: 1, 2, 3, OT (overtime) or SO (shootout).
period_numberintegerPeriod number: 1-3, 4 = overtime, 5 = shootout.
timeintegerGame second of the event from the opening face-off (0-3600 in regulation, continuing through overtime).
event_typecharacterEvent type: goal, penalty, goalkeeperChange, timeout, periodStart, periodEnd, videoReview, ...
event_idintegerEvent id within its event type.
team_sidecharacterTeam of the row: home or visitor.
goalie_player_idintegerPlayer id (playerId key space) of the goalie entering the game (goalkeeperChange).
goalie_jerseyintegerJersey number of the goalie entering the game (goalkeeperChange).
goalie_namecharacterFull name of the goalie entering the game (goalkeeperChange).
current_scorecharacterScore after the goal, as home:visitor text, e.g. 1:0.
real_timecharacterWall-clock local time, YYYY-MM-DD HH:MM:SS.
scoreboard_timeintegerSeconds of game time from the opening face-off (0-3600 in regulation, continuing through overtime).
balancecharacterGoal strength: EQ even, PP1 / PP2 power play, SH1 / SH2 shorthanded.
extra_attackerlogicalTrue when the scoring team had an extra attacker on (goalie pulled).
empty_netlogicalTrue when the goal went into an empty net.
shootinglogicalTrue for a goal scored on a penalty shot.
technicallogicalTrue for a technical penalty (unverified).
scorer_player_idintegerPlayer id (playerId key space) of the goal scorer.
scorer_jerseyintegerJersey number of the goal scorer.
scorer_namecharacterFull name of the goal scorer.
assist1_player_idintegerPlayer id (playerId key space) of the first assist.
assist1_jerseyintegerJersey number of the first assist.
assist1_namecharacterFull name of the first assist.
assist2_player_idintegerPlayer id (playerId key space) of the second assist.
assist2_jerseyintegerJersey number of the second assist.
assist2_namecharacterFull name of the second assist.
plus_player_idscharacterComma-separated player ids (playerId key space) of the scoring team's players on ice.
minus_player_idscharacterComma-separated player ids (playerId key space) of the conceding team's players on ice.
team_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
team_shortcutcharacterThree-letter team code.
goal_reviewcharacterVideo review subject, e.g. a goal (EIHL videoReview events).
on_ice_decisioncharacterCall on the ice before the review.
reason_for_reviewcharacterWhy the play was reviewed (free text).
decision_after_reviewcharacterFinal call after the review.
outgoing_goalie_player_idintegerPlayer id (playerId key space) of the goalie leaving the game (goalkeeperChange).
outgoing_goalie_jerseyintegerJersey number of the goalie leaving the game (goalkeeperChange).
outgoing_goalie_namecharacterFull name of the goalie leaving the game (goalkeeperChange).
create_timeintegerGame second at which the event was entered (unverified).
penalized_player_idintegerPlayer id (playerId key space) of the penalized player.
penalized_jerseyintegerJersey number of the penalized player.
penalized_namecharacterFull name of the penalized player.
penalty_from_real_timecharacterPenalty start, local wall clock YYYY-MM-DD HH:MM:SS.
penalty_from_scoreboard_timeintegerPenalty start, game second.
penalty_to_real_timecharacterPenalty end, local wall clock YYYY-MM-DD HH:MM:SS.
penalty_to_scoreboard_timeintegerPenalty end, game second.
durationintegerPenalty length in seconds (120 = minor).
disciplined_functionarylogicalTrue when the penalty was assessed to a team official.
disciplined_bmlogicalTrue when the penalty was a bench minor.
codenamecharacterPenalty code, e.g. HOOK, TRIP, ROUGH, BOARD, DELAY.
replaced_player_idintegerPlayer id (playerId key space) of the player serving the penalty in the penalized player's place.
replaced_jerseyintegerJersey number of the player serving the penalty in the penalized player's place.
replaced_namecharacterFull name of the player serving the penalty in the penalized player's place.

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

Example​

eihl_pbp(match_id=4440)

Last validated n/a.

eihl_player_box​

Player boxscore of one team in one match, one row per player.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/{match_id}/team-stats/{team_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/4440/team-stats/96.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in eihl_schedule). Not the league website's game id.
team_idteam_idYTeam id (per-bucket team key space: home_id / guest_id in eihl_schedule).

Returns​

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

col_nametypedescription
player_idintegerPlayer id (playerId key space, per bucket, stable across games and seasons).
namecharacterPlayer full name (first and last).
firstnamecharacterFirst name of the player in this row.
surnamecharacterPlayer's last (family) name.
birthdatecharacterBirth date YYYY-MM-DD.
activelogicalTrue when the player is active on the team.
positioncharacterPosition code: GK goalie, DE defence, FW / FO forward (FO meaning unverified).
stickcharacterHandedness: left or right; null when unknown.
weightintegerWeight in kg; 0 placeholder when unknown.
heightintegerHeight in cm; 0 placeholder when unknown.
jerseyintegerPlayer jersey (sweater) number.
birth_countrycharacterPlayer's country of birth (name).
nationalitycharacterNationality, country name.
nationality_shortcharacterNationality, three-letter code (CAN, GER; UK for Britain).
team_shortcutcharacterThree-letter team code.
gamesintegerGames played in the table's scope.
goalsintegergoals in total (goals_home + goals_away: the body splits it by home and away games).
goals_homeintegerSplit by venue: home = in the player's home games, away = in away games.
goals_awayintegerSplit by venue: home = in the player's home games, away = in away games.
assistsintegerassists in total (assists_home + assists_away: the body splits it by home and away games).
assists_homeintegerSplit by venue: home = in the player's home games, away = in away games.
assists_awayintegerSplit by venue: home = in the player's home games, away = in away games.
pointsintegerpoints in total (points_home + points_away: the body splits it by home and away games).
points_homeintegerSplit by venue: home = in the player's home games, away = in away games.
points_awayintegerSplit by venue: home = in the player's home games, away = in away games.
penalty_minutesintegerPenalty minutes assessed to the player (this game, or to date in the season / league-part files).
positiveintegerPlus: on ice for goals for at even strength or shorthanded.
negativeintegerMinus: on ice for goals against at even strength or on the power play.
points_per_gamenumericAverage goals plus assists per game played.
shot_efficiencynumericShooting percentage, goals / shots on goal x 100.
penalty_minutes_per_gamenumericAverage penalty minutes per game played.
pp_goalsintegerPower-play goals.
sh_goalsintegerShorthanded goals.
gw_goalsintegerGame-winning goals.
shots_attemptsintegerShot attempts (on goal + missed + blocked).
shots_on_goalintegershots_on_goal in total (shots_on_goal_home + shots_on_goal_away: the body splits it by home and away games).
shots_on_goal_homeintegerSplit by venue: home = in the player's home games, away = in away games.
shots_on_goal_awayintegerSplit by venue: home = in the player's home games, away = in away games.
shots_missedintegerThis player's shot attempts that missed the net.
shots_blockedintegerThis player's shot attempts that were blocked.
blocked_shots_by_playerintegerOpponent shots this player blocked.
faceoffs_winintegerFace-offs the player won (this game, or to date in the season / league-part files).
faceoffs_lossesintegerFace-offs the player lost (this game, or to date in the season / league-part files).
faceoffs_countintegerFace-offs the player took (this game, or to date in the season / league-part files).
timeonicenumericTime on ice, seconds with decimals (tracking-based; differs from timeOnIce).
timeonice_eqnumericTime on ice at even strength (EQ), on the power play (PP) or shorthanded (SH), seconds with decimals.
timeonice_ppnumericTime on ice at even strength (EQ), on the power play (PP) or shorthanded (SH), seconds with decimals.
timeonice_shnumericTime on ice at even strength (EQ), on the power play (PP) or shorthanded (SH), seconds with decimals.
hitsintegerBody checks delivered.

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

Example​

eihl_player_box(match_id=4440, team_id=96)

Last validated n/a.

eihl_goalie_box​

Goalie lines of one match, one row per goalie who played.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/{match_id}/top-goalies.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/matches/4440/top-goalies.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in eihl_schedule). Not the league website's game id.

Returns​

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

col_nametypedescription
player_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
namecharacterGoaltender's first (given) name.
surnamecharacterGoaltender's last (family) name.
birthdatecharacterBirth date YYYY-MM-DD.
team_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
team_namecharacterTeam display name as the feed prints it.
team_shortcutcharacterThree-letter team code.
jerseyintegerPlayer jersey (sweater) number.
matchesintegerGames played (1 in a per-game file).
won_matchesintegerGames the goalie won.
lost_matchesintegerGames the goalie lost.
savesintegerShots on goal the goalie stopped.
goals_againstintegerGoals the goalie allowed.
saves_percentnumericSave percentage x 100 (e.g. 85.71).
averagenumericGoals-against average per 60 minutes.
zerosintegerShutouts by the goalie (zeros: games with no goal allowed).
time_on_iceintegerTime in goal, seconds.
seconds_per_gamenumericTime in goal per game, seconds.
minutes_in_playnumericShare of the team's game time in goal, percent (100.0 = the whole game).
visible_gameslogicalWidget flag: show the milestone for that stat.
visible_shutoutslogicalWidget flag: show the milestone for that stat.
visible_winslogicalWidget flag: show the milestone for that stat.
stars_gamesintegerWidget star marker for that stat (unverified).
stars_shutoutsintegerWidget star marker for that stat (unverified).
stars_winsintegerWidget star marker for that stat (unverified).
milestone_gamesnumericWidget value for the next milestone of that stat (unverified).
milestone_shutoutsnumericWidget value for the next milestone of that stat (unverified).
milestone_winsnumericWidget value for the next milestone of that stat (unverified).

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

Example​

eihl_goalie_box(match_id=4440)

Last validated n/a.

eihl_standings​

Standings of one competition season, one row per team.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/table/{season}/{league_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/table/2026/3.json

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason by its END year (2027 = 2026/27). The bucket keys seasons by their START year; the wrapper requests season - 1.
league_idleague_idYCompetition id. 3 = Elite League, 4 = Challenge Cup, 5 = playoffs.

Returns​

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

col_nametypedescription
group_idintegerGroup id (group key space); null when the stage has no groups, so unobserved here.
group_namecharacterGroup name; empty string when the stage has no groups.
completelogicalTrue when the standings include every finished game.
team_idintegerTeam id (per-bucket team key space); joins to home_id / guest_id in the schedule.
part_team_idintegerTeam-in-league-part id (its own key space: one team in one league part); no other captured file carries it.
namecharacterTeam display name as the feed prints it.
team_originalcharacterTeam's registered name.
shortcutcharacterThree-letter team code.
positionintegerTable position, 1 = first.
pointsintegerPoints in the standings table.
gamesintegerGames played in the table's scope.
winsintegerWins in regulation (DEL, EIHL, Denmark) or all wins (ICEHL, see winsReg); definition per bucket unverified.
wins_otintegerWins after overtime or shootout.
wins_regintegerWins in regulation time.
tiesintegerTies (0 under current rules).
losts_otintegerLosses after overtime or shootout.
lostsintegerLosses in regulation time.
score1integerGoals the team scored (goals for).
score2integerGoals conceded (goals against).
goals_awayintegerGoals scored in away games.
last10characterForm over the last ten games as a result string; empty string in the samples.
only_ot_winsintegerWins in overtime.
only_so_winsintegerWins in a shootout.
only_ot_lostsintegerLosses in overtime.
only_so_lostsintegerLosses in a shootout.
qualifiedlogicalTrue when the team has clinched qualification.
ppgnumericPoints per game.

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

Example​

eihl_standings(league_id=3, season=2027)

Last validated n/a.

eihl_shots​

Shots of one match with rink coordinates and result, one row per shot.

Endpoint URL: GET https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/visualization/shots/{match_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/eihl.hokejovyzapis.cz/visualization/shots/4440.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in eihl_schedule). Not the league website's game id.

Returns​

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

col_nametypedescription
match_idintegerMatch id (per-bucket match key space); joins to the {match_id} path param of the game wrappers.
datecharacterGame date YYYY-MM-DD.
home_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
home_namecharacterTeam display name as the feed prints it.
home_shortcutcharacterThree-letter team code.
visitor_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
visitor_namecharacterTeam display name as the feed prints it.
visitor_shortcutcharacterThree-letter team code.
statuscharacterMatch status: AFTER_MATCH, LIVE, BEFORE_MATCH.
shot_idintegerShot id within the shot files.
player_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
jerseyintegerPlayer jersey (sweater) number.
first_namecharacterFirst name of the shooter.
last_namecharacterLast name of the shooter.
team_idintegerTeam id (team key space, per bucket, stable across seasons); joins to league-matches home.id / guest.id and the {team_id} path param.
match_shot_resutl_idintegerShot result code (the provider's typo kept): 4 = goal; 1 / 2 / 3 probably on goal / missed / blocked (unverified). A code, not a joinable id.
timeintegerSeconds of game time from the opening face-off (0-3600 in regulation, continuing through overtime).
coordinate_xnumericShot x along the rink LENGTH, centre ice = 0, about -100..100 (units unverified, plausibly percent of half-length). Normalised to the attacking direction: each team keeps one sign for the whole game, the home team positive in the three sample games. DEL sends two-decimal floats, ICEHL and EIHL whole numbers (-71.0).
coordinate_ynumericShot y across the rink WIDTH, centre line = 0, about -100..100 (units and which board is positive unverified). DEL two-decimal floats, ICEHL and EIHL whole numbers.
real_datecharacterWall-clock local time, YYYY-MM-DD HH:MM:SS.
xgnumericExpected-goals value of the shot (ICEHL and EIHL only; null elsewhere).
xg_typecharacterShot-danger class from the xG model, e.g. LD / MD / HD (ICEHL and EIHL only; null elsewhere).
shot_result_idintegerShot result code, the same value as match_shot_resutl_id: 4 = goal (verified); 1, 2 and 3 (on goal / missed / blocked in the widgets) are unverified.
is_goallogicalTrue when the shot result code is 4 (goal).
team_sidecharacterTeam of the row: home or visitor.

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

Example​

eihl_shots(match_id=4440)

Last validated n/a.