Skip to main content

DEL — DEL data feed (eSports hokejovyzapis S3 bucket, Germany)

sportsdataverse.hockey.del_ — 12 endpoints.

del_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/de.hokejovyzapis.cz/league-matches/{season}/{league_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/league-matches/2026/1.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. 1 = DEL regular season, 3 = DEL playoffs (also 2 = Test-Liga pre-season, 4 = MagentaSport Cup 2020/21, 5 = NHL Global Series 2022/23).

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 ....
real_end_datecharacterActual end, local YYYY-MM-DD HH:MM:SS.
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.
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).
overtime_score_homeintegerHome team goals in overtime (present once a game of the season went to overtime).
overtime_score_guestintegerVisiting team goals in overtime (present once a game of the season went to overtime).
shootout_score_homeintegerHome team shootout goals (present once a game of the season went to a shootout).
shootout_score_guestintegerVisiting team shootout goals (present once a game of the season went to a shootout).

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

Example​

del_schedule(league_id=1, season=2027)

Last validated n/a.

del_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/de.hokejovyzapis.cz/league-team-stats/{season}/{league_id}/{team_id}.json

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/league-team-stats/2026/1/12.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. 1 = DEL regular season, 3 = DEL playoffs (also 2 = Test-Liga pre-season, 4 = MagentaSport Cup 2020/21, 5 = NHL Global Series 2022/23).
team_idteam_idYTeam id (per-bucket team key space: home_id / guest_id in del_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).
holema_idintegerUnobserved (null in every sample); an external registry id by its name, key space unknown, joins to nothing captured.
namecharacterPlayer full name (first and last).
firstnamecharacterFirst name of the player in this row.
surnamecharacterPlayer's last (family) name.
date_of_birthcharacterBirth 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).
time_on_iceintegerTime on ice, whole seconds (0 when not tracked).
time_on_ice_ppintegerTime on ice on the power play (PP) or shorthanded (SH), whole seconds.
time_on_ice_shintegerTime on ice on the power play (PP) or shorthanded (SH), whole seconds.
time_on_ice_per_gamenumericTime on ice per game, seconds.
shiftsintegerShifts the player took (this game, or to date in the season / league-part files).
shifts_per_gamenumericAverage shifts per game played.

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

Example​

del_team_player_stats(league_id=1, season=2027, team_id=12)

Last validated n/a.

del_top_scorers​

Skater scoring leaderboard of one competition season.

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

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/league-top-scorers/2026/1.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. 1 = DEL regular season, 3 = DEL playoffs (also 2 = Test-Liga pre-season, 4 = MagentaSport Cup 2020/21, 5 = NHL Global Series 2022/23).

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.
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.
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).
gamesintegerGames played (two names for the same count).
penalty_minutesintegerPenalty minutes assessed to the player in the league-season.
time_on_iceintegerTime on ice, seconds; 0 placeholder in the samples.

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

Example​

del_top_scorers(league_id=1, season=2027)

Last validated n/a.

del_faceoffs​

Every faceoff of one match: time, dot, winner and loser.

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

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/matches/4444/faceoffs.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_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
idintegerFace-off id (face-off key space); no other captured file joins to it.
timeintegerSeconds of game time from the opening face-off (0-3600 in regulation, continuing through overtime).
realtimecharacterWall-clock local time, YYYY-MM-DD HH:MM:SS.
positioncharacterFace-off dot: BULY_CENTRAL or BULY_{HOME|AWAY}_{DEFENSE|BLUE}_{LEFT|RIGHT}.
position_shortcutcharacterShort dot code, e.g. C, HDL (home defence left), HDR.
winner_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
winner_namecharacterPlayer full name (first and last).
loser_idintegerPlayer id (playerId key space) of the faceoff loser (DEL spells the key losser, ICEHL looser).
loser_namecharacterFull name of the faceoff loser.

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

Example​

del_faceoffs(match_id=4444)

Last validated n/a.

del_game_info​

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

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

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/matches/4444/game-header.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_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_referee1_idintegerOfficial (referee/linesman) person id, its own key space; not a player id; no other captured file joins to it.
referees_head_referee1_namecharacterOfficial's full name.
referees_head_referee2_idintegerOfficial (referee/linesman) person id, its own key space; not a player id; no other captured file joins to it.
referees_head_referee2_namecharacterOfficial's full name.
referees_line_referee1_idintegerOfficial (referee/linesman) person id, its own key space; not a player id; no other captured file joins to it.
referees_line_referee1_namecharacterOfficial's full name.
referees_line_referee2_idintegerOfficial (referee/linesman) person id, its own key space; not a player id; no other captured file joins to it.
referees_line_referee2_namecharacterOfficial's full 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_visitor_head_coach_idintegerCoach person id, its own key space; not a player id; no other captured file joins to it.
trainers_visitor_head_coach_namecharacterHead coach full name.
trainers_home_head_coach_idintegerCoach person id, its own key space; not a player id; no other captured file joins to it.
trainers_home_head_coach_namecharacterHead coach full 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.
best_players_home_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
best_players_home_namecharacterPlayer full name (first and last).
best_players_visitor_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
best_players_visitor_namecharacterPlayer full name (first and last).
overtime_countintegerNumber of overtime periods; null in the samples.
last_event_timeintegerGame second of the latest event (3600 = end of regulation).

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

Example​

del_game_info(match_id=4444)

Last validated n/a.

del_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/de.hokejovyzapis.cz/matches/{match_id}/period-events.json

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

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_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.
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.
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).
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.

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

Example​

del_pbp(match_id=4444)

Last validated n/a.

del_roster​

Game roster of one match by line slot, one row per dressed player.

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

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/matches/4444/roster.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_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
team_sidecharacterTeam of the row: home or visitor.
slotcharacterLine slot, three digits : group 1 = goalies (101, 102), 2 = defence pairs, 3 = forward lines.
player_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
match_player_idintegerMatch-player id (one row per player per game; a different key space from the player id); joins to matchPlayerId in the same game's roster and events only.
namecharacterPlayer's first (given) name.
surnamecharacterPlayer's last (family) name.
jerseyintegerPlayer jersey (sweater) number.
positioncharacterPosition code: GK goalie, DE defence, FW / FO forward (FO meaning unverified).
captainlogicalTrue for the team captain.
starting_sixlogicalTrue for the six players who started the game.

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

Example​

del_roster(match_id=4444)

Last validated n/a.

del_shifts​

Every shift of one match, one row per player shift.

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

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/matches/4444/shiftsSC.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_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
shift_idintegerShift id within the shift files.
start_timeintegerShift start, game second.
start_real_timecharacterShift start, local wall clock.
end_timeintegerShift end, game second.
end_real_timecharacterShift end, local wall clock.
player_idintegerPlayer id (player key space, per bucket, stable across games and seasons); joins to playerId in rosters, events, boxscores and leaderboards.
player_namecharacterPlayer full name (first and last).
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.
durationintegerShift length in seconds (end_time - start_time).

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

Example​

del_shifts(match_id=4444)

Last validated n/a.

del_player_box​

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

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

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/matches/4444/team-stats/12.json

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_schedule). Not the league website's game id.
team_idteam_idYTeam id (per-bucket team key space: home_id / guest_id in del_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).
holema_idintegerUnobserved (null in every sample); an external registry id by its name, key space unknown, joins to nothing captured.
namecharacterPlayer full name (first and last).
firstnamecharacterFirst name of the player in this row.
surnamecharacterPlayer's last (family) name.
date_of_birthcharacterBirth 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).
time_on_iceintegerTime on ice, whole seconds (0 when not tracked).
time_on_ice_ppintegerTime on ice on the power play (PP) or shorthanded (SH), whole seconds.
time_on_ice_shintegerTime on ice on the power play (PP) or shorthanded (SH), whole seconds.
time_on_ice_per_gamenumericTime on ice per game, seconds.
shiftsintegerShifts the player took (this game, or to date in the season / league-part files).
shifts_per_gamenumericAverage shifts per game played.

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

Example​

del_player_box(match_id=4444, team_id=12)

Last validated n/a.

del_goalie_box​

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

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

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

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_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.
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).

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

Example​

del_goalie_box(match_id=4444)

Last validated n/a.

del_standings​

Standings of one competition season, one row per team.

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

Valid URL: https://s3.eu-west-1.amazonaws.com/de.hokejovyzapis.cz/tables/2026/1.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. 1 = DEL regular season, 3 = DEL playoffs (also 2 = Test-Liga pre-season, 4 = MagentaSport Cup 2020/21, 5 = NHL Global Series 2022/23).

Returns​

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

col_nametypedescription
league_part_idintegerLeague part id (league-part key space, per bucket: one stage of a competition, e.g. ICEHL 56 = 2026/27 regular season); joins to league_part_id in league-matches and the {league_part_id} path param.
league_part_namecharacterLeague part name, e.g. DEL 2026/27.
statecharacterStandings state flag (e.g. live or final; values unverified).
datetimecharacterStandings computed at, local time, YYYY-MM-DD HH:MM:SS.
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.
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.
tiesintegerTies (0 under current rules).
losses_otintegerLosses after overtime or shootout.
lossesintegerLosses in regulation time.
score1integerGoals the team scored (goals for).
score2integerGoals conceded (goals against).
only_so_winsintegerWins in a shootout.
only_so_lostsintegerLosses in a shootout.
only_ot_winsintegerWins in overtime.
only_ot_lostsintegerLosses in overtime.
bonusintegerBonus or deduction points (DEL).
ppgnumericPoints per game.

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

Example​

del_standings(league_id=1, season=2027)

Last validated n/a.

del_shots​

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

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

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

API ParameterPythonPatternRequiredNullableDescription
match_idmatch_idYMatch id (per-bucket match key space: match_id in del_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.
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.
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.
polygoncharacterRink area of the shot, {home|away}_{top|center|bottom|defense}_polygon (DEL).
timeintegerSeconds of game time from the opening face-off (0-3600 in regulation, continuing through overtime).
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.
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).

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

Example​

del_shots(match_id=4444)

Last validated n/a.