Skip to contents

One player's game log for a season, every tournament.

Usage

liiga_player_game_log(player_id, season)

Arguments

player_id

Player id (player_id in liiga_players_info or a lineup; equals fihaId), e.g. 21870028.

season

Season END year (2026 = 2025-26).

Value

A fastRhockey_data tibble (42 columns; zero rows when a valid payload has none).

col_nametypedescription
player_idintegerPlayer id; the same number in lineups, rosters, stat tables and the profile (fihaId).
seasonintegerSeason END year (2026 = 2025-26).
tournamentcharacterTournament of the game (the body's list key): regular, playoffs, practice, qualifications, playout, chl or pitsiturnaus.
game_strcharacterMatchup label, e.g. HPK - LUK.
game_idintegerGame id, unique only within a season: key a game as (season, game_id).
datecharacterGame start, ISO 8601 UTC.
assistsintegerAssists (player, this game).
blocked_or_saved_shotsintegerBlocked or saved shots (player, this game).
faceoffs_totalintegerFaceoffs total (player, this game).
faceoffs_wonintegerFaceoffs won (player, this game).
faceoffs_percentagenumericFaceoffs percentage (player, this game). Percent, 0-100, sent as a STRING.
goalsintegerGoals (player, this game).
minusintegerOn ice for goals against (the - of plus/minus).
total_pointsintegerTotal points (player, this game).
home_team_namecharacterDisplay name of the home team of the game, e.g. HPK.
away_team_namecharacterDisplay name of the away team of the game, e.g. Lukko.
penalty_minutesintegerPenalty minutes (player, this game).
penaltykill_assistsintegerPenaltykill assists (player, this game).
penaltykill_goalsintegerPenaltykill goals (player, this game).
penaltykill_pointsintegerPenaltykill points (player, this game).
plusintegerOn ice for goals for (the + of plus/minus).
plus_minusintegerPlus/minus: on-ice goals for minus on-ice goals against.
powerplay_assistsintegerPowerplay assists (player, this game).
powerplay_goalsintegerPowerplay goals (player, this game).
powerplay_secondsintegerPowerplay seconds (player, this game). Seconds.
time_on_iceintegerTime on ice (player, this game). Seconds.
savesintegerSaves (player, this game).
save_percentagenumericSave percentage (player, this game). Percent, 0-100, sent as a STRING.
block_or_saved_shots_percentagenumericBlock or saved shots percentage (player, this game). Percent, 0-100, sent as a STRING.
shotsintegerShots (player, this game).
shots_into_goalintegerShots into goal (player, this game).
shut_outinteger1 for a goalkeeper's shutout in this game, else 0.
shots_savedintegerShots saved (player, this game).
shots_saved_by_skaterintegerShots saved by skater (player, this game).
shot_percentagenumericShot percentage (player, this game). Percent, 0-100, sent as a STRING.
shot_into_goal_percentagenumericShot into goal percentage (player, this game). Percent, 0-100, sent as a STRING.
goals_againstintegerGoals against (player, this game).
goalkeeperlogicalTrue when the player is a goalkeeper.
winning_goalsintegerWinning goals (player, this game).
woninteger1 when the player's team won the game, else 0.
tiedinteger1 when Liiga counts the game as a tie for the player's team, else 0 (overtime handling unverified).
lostinteger1 when the player's team lost the game, else 0.

Details

Endpoint: GET https://liiga.fi/api/v2/players/info/{player_id}/games/{season}

Seasons are END years (2026 = 2025-26), the same key as sdv-py. Requests to liiga.fi are spaced at least one second apart. A request Liiga answers with nothing (an unknown game, a tournament not played that season, a shot map before 2016) raises fastRhockey_no_data; a failed fetch or an error-shaped answer raises fastRhockey_asset_fetch; a bad argument raises fastRhockey_bad_request.

Examples

# \donttest{
  try(liiga_player_game_log(player_id = 21870028, season = 2026))
#> ── Liiga player game log Information from liiga.fi ─── fastRhockey 1.0.0.9000 ──
#> ℹ Data updated: 2026-10-13 01:55:27 UTC
#> # A tibble: 76 × 42
#>    player_id season tournament game_str  game_id date                 assists
#>        <int>  <int> <chr>      <chr>       <int> <chr>                  <int>
#>  1  21870028   2026 practice   LUK - HPK    1553 2025-08-15T12:00:00Z       0
#>  2  21870028   2026 practice   TPS - HPK    1556 2025-08-16T14:00:00Z       0
#>  3  21870028   2026 practice   IFK - HPK    1731 2025-08-21T15:00:00Z       1
#>  4  21870028   2026 practice   HPK - KES    2380 2025-08-27T15:30:00Z       0
#>  5  21870028   2026 practice   HPK - VAX    2382 2025-08-28T15:30:00Z       0
#>  6  21870028   2026 practice   HPK - IFK    1733 2025-09-02T15:30:00Z       1
#>  7  21870028   2026 practice   HPK - TAP    1547 2025-09-04T15:30:00Z       1
#>  8  21870028   2026 regular    HPK - TPS       1 2025-09-09T15:30:00Z       0
#>  9  21870028   2026 regular    ÄSS - HPK      13 2025-09-12T15:30:00Z       1
#> 10  21870028   2026 regular    HPK - SPO      15 2025-09-13T14:00:00Z       0
#> # ℹ 66 more rows
#> # ℹ 35 more variables: blocked_or_saved_shots <int>, faceoffs_total <int>,
#> #   faceoffs_won <int>, faceoffs_percentage <dbl>, goals <int>, minus <int>,
#> #   total_points <int>, home_team_name <chr>, away_team_name <chr>,
#> #   penalty_minutes <int>, penaltykill_assists <int>, penaltykill_goals <int>,
#> #   penaltykill_points <int>, plus <int>, plus_minus <int>,
#> #   powerplay_assists <int>, powerplay_goals <int>, powerplay_seconds <int>, …
# }