Skip to contents

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

Wraps GET https://s3.eu-west-1.amazonaws.com/icehl.hokejovyzapis.cz/league-matches/{season}/{league_id}.json of the ICE Hockey League eSports bucket. Example: https://s3.eu-west-1.amazonaws.com/icehl.hokejovyzapis.cz/league-matches/2026/1.json. Seasons are END years (2027 = 2026/27); every request waits at least one second after the last one to the same host.

Usage

icehl_schedule(season, league_id = 1L, return_parsed = TRUE)

Arguments

season

Season by its END year (2027 = 2026/27). The bucket keys seasons by their START year; the wrapper requests season - 1.

league_id

Competition id. 1 = ICE Hockey League, regular season and playoffs in one file (split them by league_part_name); 2 = pre-season (2025/26 on).

return_parsed

Parse the payload into a tibble (default TRUE); FALSE returns the raw decoded JSON body (a nested list).

Value

A tibble::tibble() with one row per row of the file (zero rows, carrying the documented columns, for an empty frame); the raw JSON list when return_parsed = FALSE. Columns:

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_start_datecharacterActual start, local YYYY-MM-DD HH:MM:SS; 0000-00-00 00:00:00 placeholder before the game.
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.
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. ICEHL 2026/27 or ... - Playoffs; splits regular season from playoffs where one league id holds both.
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.
highlightscharacterHighlights video URL; empty string or null when none.
match_numberintegerMatch number within the league part (ICEHL).
bets_home_winnumericDecimal odds for that outcome; null when not offered.
bets_drawnumericDecimal odds for that outcome; null when not offered.
bets_visitor_winnumericDecimal odds for that outcome; null when not offered.
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.
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.
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.
advanced_statisticslogicalTrue when the game has advanced stats files (shots, boxscore).
tickets_urlcharacterURL of the ticket shop for the match.
television_namecharacterBroadcaster name.
television_urlcharacterBroadcaster URL.
television_logocharacterBroadcaster logo image URL.
television2characterSecond broadcaster, same shape as television; null in the samples.

Errors

Signalled as classed conditions: fastRhockey_no_data when the bucket has no such key (S3 404 NoSuchKey: unknown season, competition, match or team) or the file holds no rows (an unplayed game, an empty shot shell); fastRhockey_asset_fetch for any other non-2xx answer (403 AccessDenied), a connection failure after retries, an empty or unreadable 200 body, an error envelope, a body of the wrong shape, or a body for another season or game; fastRhockey_bad_request for an HTTP 400/422 or an invalid argument. All three also inherit fastRhockey_error. Wrappers raise; they never warn and return an empty frame.

Examples

# \donttest{
  try(icehl_schedule(season = 2027, league_id = 1))
#> ── ICE Hockey League schedule from the eSports hokejovyzapis bucket ────────────
#> ℹ Data updated: 2026-10-13 01:54:30 UTC
#> # A tibble: 364 × 49
#>    match_id start_date          real_start_date   real_end_date league_id league
#>       <int> <chr>               <chr>             <chr>             <int> <chr> 
#>  1     8161 2026-09-18 18:30:00 2026-09-18 18:30… 2026-09-18 2…         1 ICEHL 
#>  2     8162 2026-09-18 19:15:00 2026-09-18 19:15… 2026-09-18 2…         1 ICEHL 
#>  3     8163 2026-09-18 19:15:00 2026-09-18 19:15… 2026-09-18 2…         1 ICEHL 
#>  4     8164 2026-09-18 19:15:00 2026-09-18 19:16… 2026-09-18 2…         1 ICEHL 
#>  5     8165 2026-09-18 19:30:00 2026-09-18 19:30… 2026-09-18 2…         1 ICEHL 
#>  6     8166 2026-09-18 19:45:00 2026-09-18 19:49… 2026-09-18 2…         1 ICEHL 
#>  7     8167 2026-09-18 19:45:00 2026-09-18 19:46… 2026-09-18 2…         1 ICEHL 
#>  8     8168 2026-09-19 16:00:00 2026-09-19 16:00… 2026-09-19 1…         1 ICEHL 
#>  9     8169 2026-09-19 17:30:00 2026-09-19 17:30… 2026-09-19 1…         1 ICEHL 
#> 10     8170 2026-09-19 19:30:00 2026-09-19 19:30… 2026-09-19 2…         1 ICEHL 
#> # ℹ 354 more rows
#> # ℹ 43 more variables: league_part_id <int>, league_part_name <chr>,
#> #   season <int>, round <chr>, highlights <chr>, match_number <int>,
#> #   bets_home_win <dbl>, bets_draw <dbl>, bets_visitor_win <dbl>, group <chr>,
#> #   home_id <int>, home_name <chr>, home_shortcut <chr>, guest_id <int>,
#> #   guest_name <chr>, guest_shortcut <chr>, status <chr>, overtime_count <int>,
#> #   extra_time <lgl>, shooting <lgl>, contumacy <lgl>, …
# }