Skip to contents

Every match of one league-season (schedule, scores, quarter points, venue), in one request.

Endpoint: GET https://api.vtb-league.com/v2/leagues/{league_slug}/seasons/{season}/matches

Usage

vtb_league_matches(league_slug, season)

Arguments

league_slug

League slug (league in vtb_league_leagues): vtb (VTB United League), vtbyouth (youth league) or wbc (WINLINE Basket Cup).

season

Season END year (2026 = 2025-26). The v2 API holds 2025 onwards (vtb: 2025-2027; wbc: 2026-2027); earlier years answer no rows.

Value

A hoopR_data tibble: Every match of one league-season (schedule, scores, quarter points, venue), in one request. The columns are always these, in this order (sportsdataverse-py vtb_league_matches); an empty valid answer raises hoopR_no_data, a valid body with no rows for this frame is a zero-row tibble:

col_nametypedescription
match_idintegerMatch id; equals the Infobasket GameID (/Widget/GetOnline/{gameId}).
leaguecharacterLeague slug, echoed.
seasonintegerSeason END year, echoed.
competitioncharacterCompetition slug: 'vtb' (league games), 'vtb-supercup', 'vtb-allstars', 'wbc'.
phase_idintegerv2 phase id of the stage (not an Infobasket CompID).
phase_name_encharacterThe stage name in English.
phase_name_rucharacterThe stage name in Russian.
match_numbercharacterGame number ('1/2-2' = semi-final 2; regular-season numbers otherwise).
match_typecharacterGame type: REGULAR, FINALS (any playoff or cup knockout game), ALLSTARS.
match_statuscharacterStatus: SCHEDULED, IN_PROGRESS, COMPLETE, POSTPONED, CANCELLED, UNKNOWN (the site filters on the first four).
match_timecharacterTip-off in venue local time, ISO 8601 with offset.
match_time_mskcharacterTip-off in Moscow time (UTC+3), ISO 8601.
match_time_utccharacterTip-off in UTC, ISO 8601.
is_time_setlogicalTrue when the tip-off time is fixed.
time_actualcharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
time_end_actualcharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
durationintegerGame duration; 0 in every sample (unverified).
periodsintegerPeriods played (4 in regulation).
extra_periods_usedlogicalTrue when the game went to overtime.
attendanceintegerSpectators (null when not recorded).
hosting_team_idintegerHome team id (Infobasket TeamID).
venue_idintegerVenue id; equals the Infobasket arena id (ArenaId).
venue_name_encharacterThe venue name in English.
venue_name_rucharacterThe venue name in Russian.
venue_region_name_encharacterThe venue city in English.
venue_region_name_rucharacterThe venue city in Russian.
home_team_idintegerInfobasket TeamID of the home team.
home_scoreintegerFinal points of the home team (an integer; 0 for a cancelled match).
home_team_name_encharacterThe home team's name in English.
home_team_name_rucharacterThe home team's name in Russian.
home_team_code_encharacterThe home team's short code in English.
home_team_code_rucharacterThe home team's short code in Russian.
home_region_name_encharacterRegion or city of the home team in English.
home_region_name_rucharacterRegion or city of the home team in Russian.
away_team_idintegerInfobasket TeamID of the away team.
away_scoreintegerFinal points of the away team (an integer; 0 for a cancelled match).
away_team_name_encharacterThe away team's name in English.
away_team_name_rucharacterThe away team's name in Russian.
away_team_code_encharacterThe away team's short code in English.
away_team_code_rucharacterThe away team's short code in Russian.
away_region_name_encharacterRegion or city of the away team in English.
away_region_name_rucharacterRegion or city of the away team in Russian.
subtitle_encharacterThe site subtitle of the match in English.
subtitle_rucharacterThe site subtitle of the match in Russian.
necessary_label_encharacterThe site label of the match in English.
necessary_label_rucharacterThe site label of the match in Russian.
points_by_quarterscharacterPoints per period as [home, away] pairs; null before the game. The home team (isHomeCompetitor true) is listed first in competitors on every probed row (vtb seasons 2025 and 2026, wbc 2026: 620 of 620), and the first value of each pair summed to that team's score on every finished one.
home_q1integerPoints of the home team in period 1.
away_q1integerPoints of the away team in period 1.
home_q2integerPoints of the home team in period 2.
away_q2integerPoints of the away team in period 2.
home_q3integerPoints of the home team in period 3.
away_q3integerPoints of the away team in period 3.
home_q4integerPoints of the home team in period 4.
away_q4integerPoints of the away team in period 4.
home_otintegerPoints of the home team in all overtimes together (null without overtime).
away_otintegerPoints of the away team in all overtimes together (null without overtime).

Details

  • Source, access, seasons, ids and the error classes: see the notes of vtb_infobasket_seasons().

  • v2 pages: meta.count is the rows returned (not a total), page is ignored and the default limit is 20, so the matches wrapper asks for 1000 and refuses a body whose count reaches its limit. The API lists new seasons only (from 2024-25; vtb: 2025-2027, wbc: 2026-2027): earlier years answer no rows (hoopR_no_data).

Examples

# \donttest{
  try(vtb_league_matches(league_slug = "vtb", season = 2026))
#> ── VTB League Matches from api.vtb-league.com ─────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:35:38 UTC
#> # A tibble: 273 × 57
#>    match_id league season competition  phase_id phase_name_en  phase_name_ru    
#>       <int> <chr>   <int> <chr>           <int> <chr>          <chr>            
#>  1   932510 vtb      2026 vtb-supercup  1213772 1/2 finals (1) 1/2 финала (1)   
#>  2   932509 vtb      2026 vtb-supercup  1213771 1/2 finals (2) 1/2 финала (2)   
#>  3   932511 vtb      2026 vtb-supercup  1213774 Final for 3    Финал за 3 место 
#>  4   945674 vtb      2026 vtb-supercup  1213774 Final for 3    Финал за 3 место 
#>  5   932512 vtb      2026 vtb-supercup  1213773 Final          Финал            
#>  6   945673 vtb      2026 vtb-supercup  1213773 Final          Финал            
#>  7   921391 vtb      2026 vtb           1202269 Regular Season Регулярный чемпи…
#>  8   921390 vtb      2026 vtb           1202269 Regular Season Регулярный чемпи…
#>  9   921392 vtb      2026 vtb           1202269 Regular Season Регулярный чемпи…
#> 10   921394 vtb      2026 vtb           1202269 Regular Season Регулярный чемпи…
#> # ℹ 263 more rows
#> # ℹ 50 more variables: match_number <chr>, match_type <chr>,
#> #   match_status <chr>, match_time <chr>, match_time_msk <chr>,
#> #   match_time_utc <chr>, is_time_set <lgl>, time_actual <chr>,
#> #   time_end_actual <chr>, duration <int>, periods <int>,
#> #   extra_periods_used <lgl>, attendance <int>, hosting_team_id <int>,
#> #   venue_id <int>, venue_name_en <chr>, venue_name_ru <chr>, …
# }