Skip to contents

Players with stage-scoped stats (one row per player; khl_id is the khl.ru player id).

Usage

khl_webcaster_players(
  player_ids = NULL,
  season = NULL,
  stage = "regular",
  stage_id = NULL,
  locale = "en",
  return_parsed = TRUE
)

Arguments

player_ids

Webcaster player id(s), not khl.ru ids. NULL = every player of the stage (a large body).

season

Season by its END year (2026 = 2025-26), mapped to the KHL webcaster stage id through the webcaster season table (khl_webcaster_stages). NULL = the current stage.

stage

Which stage of the season: regular or playoff. One of regular, playoff.

stage_id

Webcaster stage id, sent as is instead of season / stage (370 = 2025-26 regular season; khl_webcaster_stages lists them). Not a khl.ru tournament id.

locale

Response language: en or ru. One of en, ru.

return_parsed

Logical. TRUE (default) returns the parsed fastRhockey_data tibble; FALSE returns the raw JSON body as a list (betting fields and the caller's IP removed).

Value

A fastRhockey_data tibble (29 columns; zero rows with the same columns when the payload is empty), or the raw body as a list when return_parsed = FALSE. Raises fastRhockey_no_data (nothing there, or an unknown season / stage), fastRhockey_asset_fetch (an error envelope, an answer for another id than the one asked, or a failed fetch) and fastRhockey_bad_request (an invalid argument or an HTTP 400 / 422).

col_nametypesdescription
idintegerWebcaster id of the player object (webcaster key space); join to khl.ru through its khl_id
heightintegerPlayer height in cm
weightintegerPlayer weight in kg
ageintegerPlayer age in years
shirt_numberintegerJersey number (not an id)
khl_idintegerkhl.ru player id of the player object (site key space): the join key to khl-rest
rolecharacterPosition: goaltender, defensemen or forward
role_keycharacterPosition key: goaltender, defensemen, forward
countrycharacterCountry (English with locale=en)
imagecharacterPlayer photo URL on khl.ru
flag_image_urlcharacterCountry flag image URL
namecharacterPlayer name (English with locale=en)
birthdayintegerBirth date, unix seconds
stickcharacterShooting hand: l or r
team_idintegerWebcaster id of the team object (webcaster key space); join to khl.ru through its khl_id
team_khl_idintegerkhl.ru club id of the team object (site key space): the join key to khl-rest
team_namecharacterTeam name as the site prints it
team_locationcharacterTeam city / region (English with locale=en)
team_imagecharacterTeam logo URL (webcaster thumbnail)
team_divisioncharacterTeam division name (English with locale=en)
team_division_keycharacterTeam division key (bobrov, tarasov, kharlamov, chernyshev)
team_conferencecharacterTeam conference name (West / East)
team_conference_keycharacterTeam conference key (west / east)
statscharacterStage-scoped stat lines
teamscharacterTeams played for
quotescharacterVideo clips (webcaster quotes)
seasons_count_khlintegerKHL seasons played
seasons_count_teamintegerSeasons played for the current team
positionscharacterPositions played

Details

Endpoint: GET https://khl.api.webcaster.pro/api/khl_mobile/players_v2.json.

The webcaster API is keyless JSON. Neither backend takes a year: season (the END year, 2026 = 2025/26) and stage are mapped to the webcaster stage id through the season table of khl_webcaster_stages() (cached for the R session), or pass stage_id. Honours getOption("fastRhockey.proxy"); betting fields and the caller's IP are removed from every body.

Ids and counts are integers (sdv-py Int64); a column holding values past 2^31 (epoch milliseconds) is returned as a whole-number double.

At least one second is left between two requests to a host.

Owner flag (sanctions). The KHL and its webcaster platform are run by Russian operators, some clubs by sanctioned state companies. Fetching on your own machine is fine; any published data release, hosted mirror or redistribution needs owner (sanctions / legal) sign-off first.

Examples

# \donttest{
  try(khl_webcaster_players(player_ids = "[33405, 1144]", season = 2026))
#> ── KHL Webcaster Players from khl.api.webcaster.pro ── fastRhockey 1.0.0.9000 ──
#> ℹ Data updated: 2026-10-13 01:55:06 UTC
#> # A tibble: 0 × 29
#> # ℹ 29 variables: id <int>, height <int>, weight <int>, age <int>,
#> #   shirt_number <int>, khl_id <int>, role <chr>, role_key <chr>,
#> #   country <chr>, image <chr>, flag_image_url <chr>, name <chr>,
#> #   birthday <int>, stick <chr>, team_id <int>, team_khl_id <int>,
#> #   team_name <chr>, team_location <chr>, team_image <chr>,
#> #   team_division <chr>, team_division_key <chr>, team_conference <chr>,
#> #   team_conference_key <chr>, stats <chr>, teams <chr>, quotes <chr>, …
# }