Skip to contents

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

Wraps GET https://s3.eu-west-1.amazonaws.com/icehl.hokejovyzapis.cz/matches/{match_id}/team-stats/{team_id}.json of the ICE Hockey League eSports bucket. Example: https://s3.eu-west-1.amazonaws.com/icehl.hokejovyzapis.cz/matches/8161/team-stats/4.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_player_box(match_id, team_id, return_parsed = TRUE)

Arguments

match_id

Match id (per-bucket match key space: match_id in icehl_schedule). Not the league website's game id.

team_id

Team id (per-bucket team key space: home_id / guest_id in icehl_schedule).

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
player_idintegerPlayer id (playerId key space, per bucket, stable across games and seasons).
namecharacterPlayer full name.
firstnamecharacterFirst name of the player in this row.
surnamecharacterPlayer last name.
photocharacterPlayer photo URL.
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.
jerseyintegerJersey number.
birth_countrycharacterPlayer's country of birth (name).
nationalitycharacterNationality, country name.
nationality_shortcharacterNationality, three-letter code (CAN, GER; UK for Britain).
on_rosterintegerOn-roster flag sent as an integer, 1 = yes.
team_shortcutcharacterThree-letter team code.
gamesintegerGames played.
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.
xgnumericExpected goals of the player's shots.
top5logicalTrue when the player ranks in the team's top five.
rankintegerRank of the player in the file's default sort (points).

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_player_box(match_id = 8161, team_id = 4))
#> ── ICE Hockey League player_box from the eSports hokejovyzapis bucket ──────────
#> ℹ Data updated: 2026-10-13 01:54:28 UTC
#> # A tibble: 25 × 81
#>    player_id name        firstname surname photo birthdate active position stick
#>        <int> <chr>       <chr>     <chr>   <chr> <chr>     <lgl>  <chr>    <chr>
#>  1      4701 David Silye David     Silye   http… 1999-03-… TRUE   FW       right
#>  2      4700 Carter Sav… Carter    Savoie  http… 2002-01-… TRUE   FW       left 
#>  3      4109 Aku Kestila Aku       Kestila http… 1994-06-… TRUE   FW       left 
#>  4      4112 Jussi Tamm… Jussi     Tammela http… 1999-06-… TRUE   FW       right
#>  5      4121 Ferenc Las… Ferenc    Laskawy http… 2006-02-… TRUE   FW       right
#>  6      4119 Rasmus Ben… Rasmus    Bengts… http… 1993-05-… TRUE   DE       left 
#>  7      4101 Kristóf Na… Kristóf   Nagy    http… 1999-11-… TRUE   GK       right
#>  8      4105 Dávid Moln… Dávid     Molnár  http… 1998-06-… TRUE   FW       left 
#>  9      4662 Bencze Seb… Bencze    Sebest… http… 2008-10-… TRUE   FW       right
#> 10      1094 Bence Bali… Bence     Balizs  http… 1990-05-… TRUE   GK       left 
#> # ℹ 15 more rows
#> # ℹ 72 more variables: weight <int>, height <int>, jersey <int>,
#> #   birth_country <chr>, nationality <chr>, nationality_short <chr>,
#> #   on_roster <int>, team_shortcut <chr>, games <int>, goals <int>,
#> #   goals_home <int>, goals_away <int>, assists <int>, assists_home <int>,
#> #   assists_away <int>, points <int>, points_home <int>, points_away <int>,
#> #   penalty_minutes <int>, positive <int>, negative <int>, …
# }