Skip to contents

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

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

Usage

del_team_player_stats(season, team_id, 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.

team_id

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

league_id

Competition 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).

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).
holema_idintegerUnobserved (null in every sample); an external registry id by its name, key space unknown, joins to nothing captured.
namecharacterPlayer full name.
firstnamecharacterFirst name of the player in this row.
surnamecharacterPlayer last 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.
jerseyintegerJersey 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.
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.

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.

See also

DEL (the league site whose widgets read this public eSports bucket)

Other DEL eSports functions: del_faceoffs(), del_game_info(), del_goalie_box(), del_pbp(), del_player_box(), del_roster(), del_schedule(), del_shifts(), del_shots(), del_standings(), del_top_scorers()

Examples

# \donttest{
  try(del_team_player_stats(season = 2027, team_id = 12, league_id = 1))
#> ── DEL team_player_stats from the eSports hokejovyzapis bucket ─────────────────
#> ℹ Data updated: 2026-10-13 01:51:39 UTC
#> # A tibble: 27 × 51
#>    player_id holema_id name      firstname surname date_of_birth active position
#>        <int>     <int> <chr>     <chr>     <chr>   <chr>         <lgl>  <chr>   
#>  1        16        NA Fabio Wa… Fabio     Wagner  1995-09-17    TRUE   DE      
#>  2        80        NA Yasin Eh… Yasin     Ehliz   1992-12-30    TRUE   FO      
#>  3       122        NA Mathias … Mathias   Nieder… 1992-11-26    TRUE   GK      
#>  4       139        NA Patrick … Patrick   Hager   1988-09-08    TRUE   FO      
#>  5       550        NA Dominik … Dominik   Kahun   1995-07-02    TRUE   FO      
#>  6       551        NA Maximili… Maximili… Kastner 1993-01-03    TRUE   DE      
#>  7      1168        NA Maximili… Maximili… Daubner 1997-09-20    TRUE   DE      
#>  8      1364        NA Markus E… Markus    Eisens… 1995-01-22    TRUE   FO      
#>  9      1753        NA Christop… Christop… DeSousa 1990-10-19    TRUE   FO      
#> 10      2117        NA Veit Osw… Veit      Oswald  2004-08-31    TRUE   FO      
#> # ℹ 17 more rows
#> # ℹ 43 more variables: stick <chr>, weight <int>, height <int>, jersey <int>,
#> #   birth_country <chr>, nationality <chr>, nationality_short <chr>,
#> #   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>, points_per_game <dbl>, …
# }