League standings of one regular season (/standings/league/; /standings/regular/ ignores the season).
Arguments
- season
Season END year (2026 = 2025/26; the calendar covers 2010/11 on). With
stageit is mapped to the site's tournament id, seevhl_tn().- 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 team:
| col_name | type | description |
season | integer | Season END year (2026 = 2025/26). |
stage | character | Season stage: regular or playoff. |
tn | integer | Tournament id of the season stage (2025/26 regular season = 1374, playoffs = 1375); vhl_tn maps season + stage to it. |
rank | integer | Rank (unlabelled first column). |
team | character | Team short name (Latin; the report tables' form). |
team_season_id | integer | Team-season id (khl/ terminology): one id per team per tournament, from the KHL's sequence (khl/: Spartak = 14934 in 1369; here Metallurg = 15017 in 1374). The {id} of /calendar/{tn}/0/{id}/ and /stats/players/{tn}/all/{id}/. Not the stable club id (*_club_id) and not the team page id. |
games_played | integer | Games played (GP). |
wins | integer | Regulation wins (W). |
ot_wins | integer | Overtime wins (OTW). |
so_wins | integer | Shootout wins (SOW). |
so_losses | integer | Shootout losses (SOL). |
ot_losses | integer | Overtime losses (OTL). |
losses | integer | Regulation losses (L). |
goals_for | integer | Goals for (left side of the G column '226-131'). |
goals_against | integer | Goals against (right side of the G column). |
points | integer | Points (PTS): 2 per win of any kind, 1 per OT or SO loss. |
With return_parsed = FALSE, the page's parsed record (a named list) instead.
Details
Regular season only: the site's playoff standings are not read.
Source: GET https://www.vhlru.ru/en/standings/league/{season}/ (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_standings(season = 2026))
#> ── VHL Standings Information from vhlru.ru ──────────────── fastRhockey 1.1.0 ──
#> ℹ Data updated: 2026-11-02 03:53:39 UTC
#> # A tibble: 32 × 16
#> season stage tn rank team team_season_id games_played wins ot_wins
#> <int> <chr> <int> <int> <chr> <int> <int> <int> <int>
#> 1 2026 regular 1374 1 Metallu… 15017 62 40 5
#> 2 2026 regular 1374 2 Ugra 15035 62 39 4
#> 3 2026 regular 1374 3 Neftyan… 15019 62 34 3
#> 4 2026 regular 1374 4 Khimik 15029 62 35 3
#> 5 2026 regular 1374 5 Magnitka 15016 62 26 7
#> 6 2026 regular 1374 6 Ryazan-… 15024 62 30 4
#> 7 2026 regular 1374 7 Omskie … 15021 62 30 4
#> 8 2026 regular 1374 8 Gornyak… 15008 62 25 3
#> 9 2026 regular 1374 9 Molot 15018 62 22 4
#> 10 2026 regular 1374 10 Chelmet 15033 62 30 3
#> # ℹ 22 more rows
#> # ℹ 7 more variables: so_wins <int>, so_losses <int>, ot_losses <int>,
#> # losses <int>, goals_for <int>, goals_against <int>, points <int>
# }
