CURRENT roster of a team page (player names in Cyrillic even on /en/).
Arguments
- team_page_id
Team page id (home_team_page_id / away_team_page_id in vhl_game_info), e.g. 390. Neither a club id nor a team-season id.
- return_parsed
TRUE(default) returns the parsed tibble;FALSEreturns the page's parsed record (a named list, plus_requestwith the season, stage, tn and the ids asked for).
Value
A fastRhockey_data tibble with one row per player:
| col_name | type | description |
team_page_id | integer | Team page id (vhlru.ru /en/teams/{team_page_id}/), stable across seasons; for report rows the page id of the row's side. |
team | character | Team short name (Latin; the report tables' form). |
calendar_tn | integer | Tournament id of the team's CURRENT season stage (the page's 'To the calendar' link). |
calendar_team_season_id | integer | The team's team-season id in calendar_tn. |
roster_as_of | character | Date the roster is valid for, as printed ('12.10.2026'). |
jersey | integer | Jersey number (integer). |
position | character | Position in English, lower case: goaltender, defense, forward. |
player_id | integer | Player id: the {player_id} of /en/players/{player_id}/, stable across seasons and teams; also the photo id on img.khl.ru. Same numeric sequence as khl.ru player ids; whether it equals the same person's khl.ru id is unverified. |
player | character | Player name, 'Surname Given' - in CYRILLIC even on the /en/ page. |
born | character | Birth date 'DD.MM.YYYY' as the public page prints it. |
country | character | Citizenship (English). |
With return_parsed = FALSE, the page's parsed record (a named list) instead.
Details
The roster is the team page's CURRENT one (names are Cyrillic even on /en/), not a season's.
Source: GET https://www.vhlru.ru/en/teams/{team_page_id}/ (server-rendered HTML, keyless; parsed with rvest). Unofficial use of a public source; payloads are not redistributed.
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 badseason/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
# \donttest{
try(vhl_roster(team_page_id = 390))
#> ── VHL Roster Information from vhlru.ru ─────────────────── fastRhockey 1.1.0 ──
#> ℹ Data updated: 2026-11-02 03:53:36 UTC
#> # A tibble: 23 × 11
#> team_page_id team calendar_tn calendar_team_season_id roster_as_of jersey
#> <int> <chr> <int> <int> <chr> <int>
#> 1 390 Toros 1430 15531 02.11.2026 28
#> 2 390 Toros 1430 15531 02.11.2026 97
#> 3 390 Toros 1430 15531 02.11.2026 31
#> 4 390 Toros 1430 15531 02.11.2026 25
#> 5 390 Toros 1430 15531 02.11.2026 71
#> 6 390 Toros 1430 15531 02.11.2026 36
#> 7 390 Toros 1430 15531 02.11.2026 1
#> 8 390 Toros 1430 15531 02.11.2026 46
#> 9 390 Toros 1430 15531 02.11.2026 19
#> 10 390 Toros 1430 15531 02.11.2026 88
#> # ℹ 13 more rows
#> # ℹ 5 more variables: position <chr>, player_id <int>, player <chr>,
#> # born <chr>, country <chr>
# }
