Skip to contents

One team with roster, stats and news feed (one row; lists as JSON text).

Usage

khl_webcaster_team(
  team_id,
  season = NULL,
  stage = "regular",
  stage_id = NULL,
  locale = "en",
  return_parsed = TRUE
)

Arguments

team_id

Required. Webcaster team id (khl_webcaster_teams id), not the khl.ru club id.

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 (44 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 team object (webcaster key space); join to khl.ru through its khl_id
stagecharacterStage type the team page answers for: regular or playoff
khl_idintegerkhl.ru club id of the team object (site key space): the join key to khl-rest
namecharacterName (English with locale=en)
locationcharacterTeam city / region (English with locale=en)
feed_itemscharacterTeam news feed, JSON list (type, date, id, title, image)
arena_idintegerWebcaster id of the team's home arena
arena_capacityintegerArena seating capacity
arena_phonecharacterArena phone number as published
arena_websitecharacterArena website URL
arena_namecharacterHome arena name (English with locale=en)
arena_addresscharacterArena street address (English with locale=en)
arena_citycharacterArena city (English with locale=en)
arena_imagecharacterArena photo URL on khl.ru
arena_geo_latnumericArena latitude, decimal degrees
arena_geo_longnumericArena longitude, decimal degrees
arenascharacterHome arenas, JSON list (id, capacity, phone, website, name, address)
calendar_eventscharacterTeam schedule, JSON list of webcaster events
recent_eventscharacterRecent team games, JSON list of webcaster events
websitecharacterClub website URL
mailcharacterClub e-mail address as published
foundation_yearcharacterYear the club was founded, as text
photocharacterTeam photo URL on khl.ru
phonecharacterClub phone number as published
head_coach_photocharacterHead coach photo URL on khl.ru
head_coach_namecharacterHead coach name (English with locale=en)
social_networks_twcharacterClub Twitter / X page URL (empty when none)
social_networks_vkcharacterClub VKontakte page URL
social_networks_okcharacterClub Odnoklassniki page URL
social_networks_fbcharacterClub Facebook page URL (empty when none)
social_networks_instagramcharacterClub Instagram page URL
social_networks_youtubecharacterClub YouTube channel URL (empty when none)
social_networks_telegramcharacterClub Telegram channel URL
apps_ioscharacterUndocumented provider field apps_ios; carried as sent.
apps_androidcharacterUndocumented provider field apps_android; carried as sent.
apps_windowscharacterUndocumented provider field apps_windows; carried as sent.
addresscharacterClub office address (English with locale=en)
imagecharacterTeam logo URL (webcaster thumbnail)
divisioncharacterDivision name (English with locale=en)
division_keycharacterDivision key (bobrov, tarasov, kharlamov, chernyshev)
conferencecharacterConference (west / east)
conference_keycharacterConference key (east / west)
statscharacterTeam stat lines
playerscharacterRoster (webcaster players)

Details

Endpoint: GET https://khl.api.webcaster.pro/api/khl_mobile/team_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_team(season = 2026, team_id = 18))
#> ── KHL Webcaster Team from khl.api.webcaster.pro ───── fastRhockey 1.0.0.9000 ──
#> ℹ Data updated: 2026-10-13 01:55:10 UTC
#> # A tibble: 1 × 44
#>      id stage   khl_id name    location feed_items       arena_id arena_capacity
#>   <int> <chr>    <int> <chr>   <chr>    <chr>               <int>          <int>
#> 1    18 regular      7 Spartak Moscow   "[{\"type\": \"…      469          12396
#> # ℹ 36 more variables: arena_phone <chr>, arena_website <chr>,
#> #   arena_name <chr>, arena_address <chr>, arena_city <chr>, arena_image <chr>,
#> #   arena_geo_lat <dbl>, arena_geo_long <dbl>, arenas <chr>,
#> #   calendar_events <chr>, recent_events <chr>, website <chr>, mail <chr>,
#> #   foundation_year <chr>, photo <chr>, phone <chr>, head_coach_photo <chr>,
#> #   head_coach_name <chr>, social_networks_tw <chr>, social_networks_vk <chr>,
#> #   social_networks_ok <chr>, social_networks_fb <chr>, …
# }