Skip to contents

Game header of a report: date, attendance, score by period, teams, coaches and officials.

Usage

vhl_game_info(season, game_id, stage = "regular", return_parsed = TRUE)

Arguments

season

Season END year (2026 = 2025/26; the calendar covers 2010/11 on). With stage it is mapped to the site's tournament id, see vhl_tn().

game_id

Required. Game id (game_id in vhl_schedule; the report's and the broadcast's idgame), e.g. 899223.

stage

Season stage: "regular" (default) or "playoff".

return_parsed

TRUE (default) returns the parsed tibble; FALSE returns the page's parsed record (a named list, plus _request with the season, stage, tn and the ids asked for).

Value

A fastRhockey_data tibble with one row per game (one row):

col_nametypedescription
game_idintegerGame id (the calendar's game_id; the report's and the broadcast's idgame). The report and broadcast pages do not print it: it comes from the request.
seasonintegerSeason END year (2026 = 2025/26).
stagecharacterSeason stage: regular or playoff.
game_numberintegerOfficial game number (from 'No.984'); checked against the request.
tnintegerTournament id of the season stage (2025/26 regular season = 1374, playoffs = 1375); vhl_tn maps season + stage to it.
datecharacterGame date, ISO 'YYYY-MM-DD', parsed from date_text.
local_timecharacterStart time 'HH:MM' from date_text; local time zone unverified (likely Moscow).
date_textcharacterDate line verbatim; RUSSIAN month and weekday even on /en/ ('18 Mart 2026, Sreda, 17:00'). The time datetime attribute is a constant placeholder (2020-01-23 18:00) and is ignored.
attendanceintegerAttendance (from '910 sp').
scorecharacterFinal score 'home:away' (the shootout counts as one goal).
home_scoreintegerHome final goals.
away_scoreintegerAway final goals.
decisioncharacterOT or SO when the game went past regulation; null otherwise.
period_scoreslist of characterScore of each period 'home:away', overtime and shootout included (SO game: '0:2','0:0','2:0','0:0','0:1').
home_team_page_idintegerHome team page id. Team page id (vhlru.ru only): the {team_id} of /en/teams/{team_id}/ (Toros = 390). Neither a club id nor a team-season id; it joins nothing else (bridge: the calendar row of the same game_id).
home_teamcharacterHome team name (Latin, FULL form: 'Kristall S'; the report's tables use the short 'Kristall').
home_shortcharacterHome team short name (the report tables' form).
home_citycharacterHome team city.
home_coachcharacterHome head coach, 'Surname Given'.
away_team_page_idintegerAway team page id. Team page id (vhlru.ru only): the {team_id} of /en/teams/{team_id}/ (Toros = 390). Neither a club id nor a team-season id; it joins nothing else (bridge: the calendar row of the same game_id).
away_teamcharacterAway team name (Latin, FULL form).
away_shortcharacterAway team short name (the report tables' form).
away_citycharacterAway team city.
away_coachcharacterAway head coach, 'Surname Given'.
referee1_numberintegerFirst referee's sweater number.
referee1characterFirst referee, 'Surname Given'.
referee2_numberintegerSecond referee's sweater number.
referee2characterSecond referee, 'Surname Given'.
linesman1_numberintegerFirst linesman's sweater number.
linesman1characterFirst linesman, 'Surname Given'.
linesman2_numberintegerSecond linesman's sweater number.
linesman2characterSecond linesman, 'Surname Given'.

With return_parsed = FALSE, the page's parsed record (a named list) instead.

Details

Source: GET https://www.vhlru.ru/en/report/{season}/ (server-rendered HTML, keyless; parsed with rvest). Unofficial use of a public source; payloads are not redistributed.

Terms of use

Check the provider's terms of use before redistributing this data.

Errors

  • fastRhockey_no_data: the VHL has nothing for the request (a season without that stage, a game not in the season's calendar, an unknown game, player or team page).

  • fastRhockey_bad_request: a bad season / stage / id, a missing argument, or HTTP 400 / 422.

  • fastRhockey_asset_fetch: the page could not be fetched, or it is not the page asked for (another season, game or player; a missing table or header drift).

Examples

if (FALSE) { # interactive()
# \donttest{
  try(vhl_game_info(season = 2026, game_id = 899223))
# }
}