Skip to main content

VTB — VTB United League Infobasket (Russia) — Other

vtb_infobasket_seasons​

Season END year -> season-level CompID for a competition tag (the table every season-keyed wrapper maps with).

Endpoint URL: GET https://org.infobasket.su/Comp/GetSeasonsForTag

Valid URL: https://org.infobasket.su/Comp/GetSeasonsForTag?format=json&tag=vtb

API ParameterPythonPatternRequiredNullableDescription
tagtagYCompetition tag scoping the profile: vtb (VTB United League, default), vtbyouth, wbc, wpremier or rfb. The season table is read for this tag.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
seasonintegerSeason END year (2026 = 2025-26): the season the request asked for, stamped by the runtime.
comp_idintegerSeason-level CompID of that season (50714 = VTB 2025-26). Pass it as comps to /Comp/GetCalendar/.
name_rucharacterSeason name in Russian ('Сезон 2025/2026' = 'Season 2025/2026').
name_encharacterSeason name in English.
dbcharacterInfobasket database the competition lives in ('org').
tagcharacterCompetition tag of the request (vtb is the VTB United League; vtbyouth, wbc, wpremier and rfb also answer).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_seasons()

Last validated n/a.

vtb_infobasket_calendar​

Every game of a season (finished, live and planned): teams, scores, date, venue, attendance.

Endpoint URL: GET https://org.infobasket.su/Comp/GetCalendar/

Valid URL: https://org.infobasket.su/Comp/GetCalendar/?format=json&season=2026&tag=vtb

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason END year (2026 = 2025-26); the wrapper maps it to the season-level Infobasket CompID with vtb_infobasket_seasons (one extra request per tag, cached). Required.
tagtagYCompetition tag scoping the profile: vtb (VTB United League, default), vtbyouth, wbc, wpremier or rfb. The season table is read for this tag.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
seasonintegerSeason END year (2026 = 2025-26): the season the request asked for, stamped by the runtime.
comp_idintegerSeason-level Infobasket CompID of the season (50714 = 2025-26): the id every season-keyed route takes.
game_idintegerInfobasket game id (GameID); equals the v2 API matchId. Joins to /Widget/GetOnline/{gameId} and /Widget/GamePage/{gameId}.
game_numbercharacterGame number within the competition, e.g. 'RS-002' (RS = regular season); playoff games use the series code.
game_datecharacterGame date as an ISO 8601 date (YYYY-MM-DD); the wire sends DD.MM.YYYY.
has_timelogicalTrue when a tip-off time is set.
game_timecharacterTip-off local time, 'HH:MM'.
game_time_mskcharacterTip-off time in Moscow time ('HH:MM' on calendar rows, 'HH.MM' in GetOnline).
game_date_timecharacterTip-off instant as an ISO 8601 string in Moscow time with its +03:00 offset (the wire sends a .NET /Date(ms)/ value).
game_date_time_moscowcharacterTip-off instant as an ISO 8601 string in Moscow time with its +03:00 offset (the wire's second .NET date; equal to game_date_time in every sample).
game_statusintegerGame status in the calendar code set: 0 planned, 1 completed, 2 live.
team_a_idintegerTeam A (home) TeamID. Infobasket team id (TeamID): one club's entry in a competition family (Lokomotiv Kuban = 2650). Joins to /Widget/Team*/{teamId} and equals the v2 API teamId.
team_b_idintegerTeam B (away) TeamID. Infobasket team id (TeamID): one club's entry in a competition family (Lokomotiv Kuban = 2650). Joins to /Widget/Team*/{teamId} and equals the v2 API teamId.
short_team_name_arucharacterTeam short name of team A (home), Russian.
short_team_name_brucharacterTeam short name of team B (away), Russian.
team_name_arucharacterTeam name with city in brackets of team A (home), Russian.
team_name_brucharacterTeam name with city in brackets of team B (away), Russian.
comp_team_name_arucharacterTeam name as registered in the competition of team A (home), Russian.
comp_team_name_brucharacterTeam name as registered in the competition of team B (away), Russian.
region_team_name_arucharacterTeam's city or region of team A (home), Russian.
region_team_name_brucharacterTeam's city or region of team B (away), Russian.
short_team_name_aencharacterTeam short name of team A (home), English.
short_team_name_bencharacterTeam short name of team B (away), English.
team_name_aencharacterTeam name with city in brackets of team A (home), English.
team_name_bencharacterTeam name with city in brackets of team B (away), English.
comp_team_name_aencharacterTeam name as registered in the competition of team A (home), English.
comp_team_name_bencharacterTeam name as registered in the competition of team B (away), English.
region_team_name_aencharacterTeam's city or region of team A (home), English.
region_team_name_bencharacterTeam's city or region of team B (away), English.
score_aintegerFinal score of team A (home).
score_bintegerFinal score of team B (away).
tv_rucharacterTV channels, in Russian.
tv_encharacterTV channels, in English.
region_rucharacterCity or region of the game's venue in Russian.
region_encharacterCity or region of the game's venue in English.
arena_encharacterArena name, English.
arena_rucharacterArena, Russian ('СК' = sports complex).
arena_idintegerInfobasket arena id; equals the v2 API venueId (11687 = SK Basket-Hall, Krasnodar).
game_attendanceintegerSpectators at the game (null when not recorded).
comp_name_rucharacterStage name, Russian ('Регулярный чемпионат' = 'Regular Season', 'Группа А' = 'Group A').
comp_name_encharacterStage name (e.g. 'Regular Season'), English.
league_name_rucharacterLeague name, Russian ('Единая лига ВТБ' / 'Чемпионат Единой лиги ВТБ' = 'VTB United League' / 'VTB United League Championship').
league_name_encharacterLeague name, English.
league_short_name_rucharacterLeague short name, Russian ('ВТБ' = 'VTB').
league_short_name_encharacterLeague short name, English.
genderintegerCompetition gender: 0 on every VTB sample (men). Other values unverified.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_calendar(season=2026)

Last validated n/a.

vtb_infobasket_best_players​

Player leaders of a season for the first count leader categories.

Endpoint URL: GET https://org.infobasket.su/Comp/GetBestPlayers/{season}

Valid URL: https://org.infobasket.su/Comp/GetBestPlayers/2026?count=5&lang=en&tag=vtb

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason END year (2026 = 2025-26); the wrapper maps it to the season-level Infobasket CompID with vtb_infobasket_seasons (one extra request per tag, cached).
countcountYLeader categories to return (the site's widget asks 5).
langlangYLabel language (en or ru). Most bodies carry both languages whatever is asked; the leader categories' labels follow it.
tagtagYCompetition tag scoping the profile: vtb (VTB United League, default), vtbyouth, wbc, wpremier or rfb. The season table is read for this tag.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
seasonintegerSeason END year (2026 = 2025-26): the season the request asked for, stamped by the runtime.
param_idintegerLeader-category id (the param of the parameter lists).
param_namecharacterLeader category name (ParamName), e.g. 'Points'.
param_short_namecharacterLeader category short label, e.g. 'Points in a game'.
param_labelcharacterLeader category label in the requested language (lang).
param_groupintegerCategory group; 0 in the samples.
rankintegerRank in the leader list.
team_idintegerInfobasket TeamID (2650 = Lokomotiv Kuban); the v2 teamId. Not a club-record id and not a registration id.
team_short_name_rucharacterThe the team's short name in Russian (as the competition names it).
team_short_name_encharacterThe the team's short name in English (as the competition names it).
team_name_rucharacterThe the team's name in Russian (as the competition names it).
team_name_encharacterThe the team's name in English (as the competition names it).
team_region_name_rucharacterThe the team's region or city in Russian (as the competition names it).
team_region_name_encharacterThe the team's region or city in English (as the competition names it).
person_idintegerInfobasket person id (PersonID): one person (player, coach or official) across clubs and seasons. Joins to /Widget/PlayerPage/{personId} (players) and /Widget/CoachPage/{personId} (coaches).
person_last_name_rucharacterLast name, Russian.
person_last_name_encharacterLast name, English.
person_first_name_rucharacterFirst name, Russian.
person_first_name_encharacterFirst name, English.
person_full_name_rucharacterFull name, 'Last First', Russian.
person_full_name_encharacterFull name, 'Last First', English.
person_genderintegerPerson gender: 1 on every sampled (male) person.
game_idintegerInfobasket GameID of the game (the v2 matches' match_id); global across seasons.
game_countintegerGames the value is averaged over.
resnumericThe leader's value (a per-game average for 'in a game' categories).
pre_rescharacterThe value as displayed, a string (e.g. '1070' for 10.70 without separator; format unverified).
is_samelogicalTrue when the row ties the previous one.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_best_players(season=2026)

Last validated n/a.

vtb_infobasket_best_teams​

Team leaders of a season for the first count leader categories.

Endpoint URL: GET https://org.infobasket.su/Comp/GetBestTeams/{season}

Valid URL: https://org.infobasket.su/Comp/GetBestTeams/2026?count=5&lang=en&tag=vtb

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason END year (2026 = 2025-26); the wrapper maps it to the season-level Infobasket CompID with vtb_infobasket_seasons (one extra request per tag, cached).
countcountYLeader categories to return (the site's widget asks 5).
langlangYLabel language (en or ru). Most bodies carry both languages whatever is asked; the leader categories' labels follow it.
tagtagYCompetition tag scoping the profile: vtb (VTB United League, default), vtbyouth, wbc, wpremier or rfb. The season table is read for this tag.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
seasonintegerSeason END year (2026 = 2025-26): the season the request asked for, stamped by the runtime.
param_idintegerLeader-category id (the param of the parameter lists).
param_namecharacterLeader category name (ParamName), e.g. 'Points'.
param_short_namecharacterLeader category short label, e.g. 'Points in a game'.
param_labelcharacterLeader category label in the requested language (lang).
param_groupintegerCategory group; 0 in the samples.
rankintegerRank in the leader list.
team_idintegerInfobasket TeamID (2650 = Lokomotiv Kuban); the v2 teamId. Not a club-record id and not a registration id.
team_short_name_rucharacterThe the team's short name in Russian (as the competition names it).
team_short_name_encharacterThe the team's short name in English (as the competition names it).
team_name_rucharacterThe the team's name in Russian (as the competition names it).
team_name_encharacterThe the team's name in English (as the competition names it).
team_region_name_rucharacterThe the team's region or city in Russian (as the competition names it).
team_region_name_encharacterThe the team's region or city in English (as the competition names it).
game_idintegerInfobasket GameID of the game (the v2 matches' match_id); global across seasons.
game_countintegerGames the value is averaged over.
resnumericThe leader's value (a per-game average for 'in a game' categories).
pre_rescharacterThe value as displayed, a string (e.g. '1070' for 10.70 without separator; format unverified).
is_samelogicalTrue when the row ties the previous one.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_best_teams(season=2026)

Last validated n/a.

vtb_infobasket_game​

Header of a finished game: stage, venue, rules, the two teams and their scores.

Endpoint URL: GET https://org.infobasket.su/Widget/GetOnline/{game_id}

Valid URL: https://org.infobasket.su/Widget/GetOnline/921391?format=json

API ParameterPythonPatternRequiredNullableDescription
game_idgame_idYInfobasket GameID (game_id in vtb_infobasket_calendar; the v2 matches' match_id), e.g. 921391. Global across seasons.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
is_onlinelogicalTrue while the game is live; False for a completed game.
game_statusintegerGame status: 0 planned, 1 completed, 2 live (the site's widget code). Samples are completed games.
max_periodintegerLast period played (4 = regulation; 5+ = overtime).
from_datecharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
game_datecharacterGame date (ISO), local.
has_timelogicalTrue when a tip-off time is set.
game_timecharacterTip-off time of day as 'HH.MM' (a dot, local time).
game_time_mskcharacterTip-off time of day as 'HH.MM' in Moscow time.
has_videologicalTrue when a video embed is attached.
tv_rucharacterTV channels, in Russian ('Матч ТВ' = Match TV).
tv_encharacterTV channels, in English.
comp_name_rucharacterStage name, Russian ('Регулярный чемпионат' = 'Regular Season').
comp_name_encharacterStage name (e.g. 'Regular Season'), English.
league_name_rucharacterLeague name, Russian ('Единая лига ВТБ' = 'VTB United League').
league_name_encharacterLeague name, English.
league_short_name_rucharacterLeague short name, Russian.
league_short_name_encharacterLeague short name, English.
genderintegerCompetition gender code from the host (1 male, 0 unspecified).
comp_idintegerStage CompID of the game (50720 = the 2025-26 regular season): a stage below the season.
is3x3logicalTrue for a 3x3 competition (False in every sample).
season_comp_idintegerSeason-level CompID of the game (the body calls it LeagueID).
game_idintegerInfobasket GameID of the game (the v2 matches' match_id); global across seasons.
game_numbercharacterGame number within the competition, e.g. 'RS-002' (RS = regular season); playoff games use the series code.
game_date_timecharacterTip-off as an ISO 8601 string in Moscow time (+03:00), from Online.GameTime.
region_idintegerInfobasket region (city) id of the venue.
arena_idintegerInfobasket arena id; equals the v2 API venueId (11687 = SK Basket-Hall, Krasnodar).
venue_encharacterVenue, 'City, Arena', in English.
venue_rucharacterVenue, 'City, Arena', in Russian.
attendanceintegerSpectators at the game (null when not recorded).
period_countintegerRegulation periods (4).
period_extra_secondsintegerOvertime length in seconds (300 = 5 minutes).
period_minutescharacterPeriod lengths in minutes, comma separated ('10,10,10,10').
intervals_minutescharacterBreak lengths in minutes after each period, comma separated ('2,15,2,2').
personal_foulsintegerPersonal fouls that disqualify a player (5).
team_foulscharacterTeam-foul setting per period, comma separated (4 or 5 seen; exact meaning unverified).
players_on_courtintegerPlayers per team on the court (5).
free_throw_valueintegerPoints for a made free throw (1).
field_goal_valueintegerPoints for a made 2-point shot (2).
long_shot_valueintegerPoints for a made 3-point shot (3).
left_team_numberintegerTeam number drawn on the left in the widget (1 in every sample).
team_a_idintegerInfobasket TeamID of team A, the team listed first (the home side in the calendar).
score_aintegerFinal points of team A (listed first).
team_a_short_name_rucharacterThe team A (the home side in the calendar)'s short name in Russian (as the competition names it).
team_a_short_name_encharacterThe team A (the home side in the calendar)'s short name in English (as the competition names it).
team_a_name_rucharacterThe team A (the home side in the calendar)'s name in Russian (as the competition names it).
team_a_name_encharacterThe team A (the home side in the calendar)'s name in English (as the competition names it).
team_a_region_name_rucharacterThe team A (the home side in the calendar)'s region or city in Russian (as the competition names it).
team_a_region_name_encharacterThe team A (the home side in the calendar)'s region or city in English (as the competition names it).
team_b_idintegerInfobasket TeamID of team B, the team listed second (the away side).
score_bintegerFinal points of team B.
team_b_short_name_rucharacterThe team B (the away side)'s short name in Russian (as the competition names it).
team_b_short_name_encharacterThe team B (the away side)'s short name in English (as the competition names it).
team_b_name_rucharacterThe team B (the away side)'s name in Russian (as the competition names it).
team_b_name_encharacterThe team B (the away side)'s name in English (as the competition names it).
team_b_region_name_rucharacterThe team B (the away side)'s region or city in Russian (as the competition names it).
team_b_region_name_encharacterThe team B (the away side)'s region or city in English (as the competition names it).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_game(game_id=921391)

Last validated n/a.

vtb_infobasket_box_score​

Player box score of a finished game (one row per player of each team, DNPs included).

Endpoint URL: GET https://org.infobasket.su/Widget/GetOnline/{game_id}

Valid URL: https://org.infobasket.su/Widget/GetOnline/921391?format=json

API ParameterPythonPatternRequiredNullableDescription
game_idgame_idYInfobasket GameID (game_id in vtb_infobasket_calendar; the v2 matches' match_id), e.g. 921391. Global across seasons.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
game_idintegerInfobasket GameID of the game (the v2 matches' match_id); global across seasons.
team_idintegerInfobasket TeamID (2650 = Lokomotiv Kuban); the v2 teamId. Not a club-record id and not a registration id.
is_homelogicalTrue for team 1, the team listed first (team A, the home side in the calendar); the body has no explicit home flag (unverified).
person_idintegerInfobasket person id (PersonID): one person (player, coach or official) across clubs and seasons. Joins to /Widget/PlayerPage/{personId} (players) and /Widget/CoachPage/{personId} (coaches).
team_numberintegerSide of the player's team: 1 team A (home), 2 team B (away).
player_numberintegerShirt number as an integer (-1 when none).
display_numbercharacterShirt number as displayed ('0' and '00' differ).
last_name_rucharacterLast name in Russian.
last_name_encharacterLast name in English.
first_name_rucharacterFirst name in Russian.
first_name_encharacterFirst name in English.
person_name_rucharacterName 'Last First' in Russian.
person_name_encharacterName 'Last First' in English.
is_captainlogical1 for the team captain, else 0.
birth_datecharacterBirth date (ISO 8601 date) of a player: public bio, kept; coaches' and officials' birth data is never output.
pos_idintegerPosition code: players 1 point guard, 2 shooting guard, 3 small forward, 4 power forward, 5 centre; coaches 1000 head coach, 1001 assistant; officials 101-103 referees, 104 commissioner, 111-123 table officials (exact roles unverified).
country_code_ioccharacterNationality code: ISO 3166 alpha-2 in most rows ('RU', 'US'), IOC alpha-3 in some ('BLR').
country_name_rucharacterNationality code (same as CountryCodeIOC), not a name.
country_name_encharacterNationality code (same as CountryCodeIOC), not a name.
rank_rucharacterSporting title, Russian; empty or null in the samples.
rank_encharacterSporting title, English; empty or null in the samples.
heightintegerHeight in centimetres.
weightintegerWeight in kilograms.
pointsintegerPoints. The wire's null is 0 here (null counts are filled).
shot1integerFree throws attempted. The wire's null is 0 here (null counts are filled).
goal1integerFree throws made. The wire's null is 0 here (null counts are filled).
shot1_percentnumericFree-throw percentage (0-100); parsed to a number (the wire sends a comma-decimal string, null when there were no attempts).
shot2integer2-point field goals attempted. The wire's null is 0 here (null counts are filled).
goal2integer2-point field goals made. The wire's null is 0 here (null counts are filled).
shot2_percentnumeric2-point percentage (0-100); parsed to a number (the wire sends a comma-decimal string, null when there were no attempts).
shot3integer3-point field goals attempted. The wire's null is 0 here (null counts are filled).
goal3integer3-point field goals made. The wire's null is 0 here (null counts are filled).
shot3_percentnumeric3-point percentage (0-100); parsed to a number (the wire sends a comma-decimal string, null when there were no attempts).
assistintegerAssists. The wire's null is 0 here (null counts are filled).
blocksintegerBlocked shots. The wire's null is 0 here (null counts are filled).
def_reboundintegerDefensive rebounds. The wire's null is 0 here (null counts are filled).
off_reboundintegerOffensive rebounds. The wire's null is 0 here (null counts are filled).
reboundintegerTotal rebounds. The wire's null is 0 here (null counts are filled).
stealintegerSteals. The wire's null is 0 here (null counts are filled).
turnoverintegerTurnovers. The wire's null is 0 here (null counts are filled).
foulintegerPersonal fouls committed. The wire's null is 0 here (null counts are filled).
opponent_foulintegerFouls drawn. The wire's null is 0 here (null counts are filled).
plus_minusintegerPlus-minus: point differential while on the court. Null where the host sends none.
secondsintegerPlaying time in seconds.
played_timecharacterPlaying time as 'minutes:seconds' (team rows sum the five players: '200:00' = 40 minutes x 5).
is_startlogicalTrue for a starter.
start_markcharacter'+' for a starter, else empty.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_box_score(game_id=921391)

Last validated n/a.

vtb_infobasket_pbp​

Play-by-play of a finished game with shot x/y (2022-23 onwards; earlier games have no plays).

Endpoint URL: GET https://org.infobasket.su/Widget/GetOnline/{game_id}

Valid URL: https://org.infobasket.su/Widget/GetOnline/921391?format=json

API ParameterPythonPatternRequiredNullableDescription
game_idgame_idYInfobasket GameID (game_id in vtb_infobasket_calendar; the v2 matches' match_id), e.g. 921391. Global across seasons.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
game_idintegerInfobasket GameID of the game (the v2 matches' match_id); global across seasons.
play_idintegerPlay id within the game (the row-0 header play included); parent_play_id points at another play_id.
parent_play_idintegerplay_id of the parent play (a made shot's children: shot type, assist, possession change).
play_type_idintegerPlay type code (see play_type; the full table is in vtb-returns.md).
play_typecharacterEnglish label of play_type_id from the site widget's table (null for a code the table lacks).
play_periodintegerPeriod: 1-4 quarters, 5+ overtimes.
play_secondintegerTime ELAPSED in the period, in tenths of a second (6000 = 600 s = end of a 10-minute quarter). Game clock = period length - PlaySecond/10.
play_sort_orderintegerOrder among plays sharing the same play_second.
play_flagintegerPlay flag; 0 in every sample (meaning unverified).
start_idintegerLine-up slot id within this game's line-up (0 = the placeholder row); not a person id.
team_numberintegerSide (1 or 2) of the line-up slot the play belongs to; null for a play with no player.
team_idintegerInfobasket TeamID of the team the play belongs to; null for a play with no player.
person_idintegerInfobasket PersonID of the player of the line-up slot; null for a play with no player.
play_zoneintegerCourt zone code of a shot: 1-3 count as paint in the site's widget, 3-pointers sit in zones 7-12; the full map is unverified.
play_xintegerShot x in decimetres across the court, -75..75, origin at the basket centre (orientation from the renderer, unverified).
play_yintegerShot y in decimetres from the basket toward midcourt (about -16 baseline, 124 midcourt).
video_fromintegerVideo clip start, Unix epoch seconds; 0 when none.
video_tointegerVideo clip end, Unix epoch seconds; 0 when none.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_pbp(game_id=921391)

Last validated n/a.

vtb_infobasket_game_staff​

The coaches and officials of a finished game (names and roles only).

Endpoint URL: GET https://org.infobasket.su/Widget/GetOnline/{game_id}

Valid URL: https://org.infobasket.su/Widget/GetOnline/921391?format=json

API ParameterPythonPatternRequiredNullableDescription
game_idgame_idYInfobasket GameID (game_id in vtb_infobasket_calendar; the v2 matches' match_id), e.g. 921391. Global across seasons.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
game_idintegerInfobasket GameID of the game (the v2 matches' match_id); global across seasons.
team_numberintegerSide: 1 team A (home), 2 team B (away), 0 neither (officials, the placeholder row).
team_idintegerInfobasket TeamID (2650 = Lokomotiv Kuban); the v2 teamId. Not a club-record id and not a registration id.
start_idintegerLine-up slot id within this game; not a person id.
start_typeintegerLine-up row type: 3 coach, 4 official.
rolecharacterEnglish role of the person: head coach, assistant coach, referee, commissioner, table official (from start_type and pos_id).
pos_idintegerPosition code of the coach or official (coach 1000 head / 1001 assistant; referees 101-103, commissioner 104, table officials 111-123).
person_idintegerInfobasket person id (PersonID): one person (player, coach or official) across clubs and seasons. Joins to /Widget/PlayerPage/{personId} (players) and /Widget/CoachPage/{personId} (coaches). 0 on team and placeholder rows.
person_name_encharacterName in English, as 'Last First'.
person_name_rucharacterName in Russian, as 'Last First'.
country_code_ioccharacterCountry code as the host sends it (ISO alpha-2 in most rows, IOC alpha-3 in some).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_game_staff(game_id=921391)

Last validated n/a.

vtb_infobasket_game_page​

Thin header of a finished game (use vtb_infobasket_game for teams, box score and plays).

Endpoint URL: GET https://org.infobasket.su/Widget/GamePage/{game_id}

Valid URL: https://org.infobasket.su/Widget/GamePage/921391?format=json

API ParameterPythonPatternRequiredNullableDescription
game_idgame_idYInfobasket GameID (game_id in vtb_infobasket_calendar; the v2 matches' match_id), e.g. 921391. Global across seasons.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
comp_name_rucharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
comp_name_encharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
league_name_rucharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
league_name_encharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
league_short_name_rucharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
league_short_name_encharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
genderintegerCompetition gender: 0 on every VTB sample (men). Other values unverified.
comp_idintegerAlways 0 on this thin header; use vtb_infobasket_game for the stage.
league_idintegerSeason-level competition id of the game (50714 = VTB 2025-26); 0 in GamePage.
game_idintegerInfobasket game id (GameID); equals the v2 API matchId. Joins to /Widget/GetOnline/{gameId} and /Widget/GamePage/{gameId}. The scope check compares it with the request.
game_datecharacterGame date as an ISO 8601 string in Moscow time (+03:00), midnight.
game_timecharacterTip-off as an ISO 8601 string in Moscow time (+03:00).
game_date_timecharacterTip-off as an ISO 8601 string in Moscow time (+03:00).
game_numbercharacterGame number within the competition, e.g. 'RS-002' (RS = regular season); playoff games use the series code.
game_regionintegerRegion (city) id of the game.
game_arenaintegerArena id of the game. Infobasket arena id; equals the v2 API venueId (11687 = SK Basket-Hall, Krasnodar).
game_rulesintegerRules code (1 in the samples; unverified).
game_forfeitinteger1 when the game was forfeited, else 0.
game_attendanceintegerSpectators at the game (null when not recorded).
game_statusintegerGame status: 0 planned, 1 completed, 2 live (the site's widget code). Samples are completed games.
game_stats_statusintegerStats status of the game; 0 in the samples.
game_time_moscow_stringcharacterTip-off time in Moscow time, 'HH:MM'.
region_name_rucharacterCity or region in Russian.
region_name_encharacterCity or region in English.
arena_name_rucharacterArena name in Russian.
arena_name_encharacterArena name in English.
arena_full_name_rucharacterArena full name in Russian.
arena_full_name_encharacterArena full name in English.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_game_page(game_id=921391)

Last validated n/a.

vtb_infobasket_comp_issue​

Stage tree of a season (regular season, playoff, series): the stage ids the standings wrappers take.

Endpoint URL: GET https://org.infobasket.su/Widget/CompIssue/{season}

Valid URL: https://org.infobasket.su/Widget/CompIssue/2026?format=json&tag=vtb

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason END year (2026 = 2025-26); the wrapper maps it to the season-level Infobasket CompID with vtb_infobasket_seasons (one extra request per tag, cached).
tagtagYCompetition tag scoping the profile: vtb (VTB United League, default), vtbyouth, wbc, wpremier or rfb. The season table is read for this tag.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
seasonintegerSeason END year (2026 = 2025-26): the season the request asked for, stamped by the runtime.
season_comp_idintegerSeason-level Infobasket CompID of the season (50714 = 2025-26): the id every season-keyed route takes.
levelintegerDepth in the stage tree: 1 = a stage of the season, 2 = a series or group below it.
comp_idintegerStage CompID (the id vtb_infobasket_standings, _cross_table and _playoff take).
parent_comp_idintegerCompID of the parent stage (0 at the top).
comp_typeintegerStage type code: 0 season, regular season or group; 10 playoff container; 5 and 7 playoff series; -5 seen in season lists. Meanings inferred from the stage names, unverified.
comp_sortintegerSort order among sibling stages.
comp_roundintegerPlayoff round as the number of series in it (4 = quarter-finals, 2 = semi-finals, 1 = final); 0 outside the playoff.
comp_short_name_rucharacterStage name, Russian.
comp_short_name_encharacterStage name, English.
comp_abc_name_rucharacterStage abbreviation ('1/4-1' = quarter-final 1), Russian.
comp_abc_name_encharacterStage abbreviation ('1/4-1' = quarter-final 1), English.
comp_genderintegerCompetition gender: 0 on every sample (men).
comp_stateintegerStage state code: 0 or 2 seen (2 on finished stages, but some finished stages show 0); unverified.
is_publiclogicalTrue when the site shows the stage.
note_rucharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.
note_encharacterUnobserved: null in every sample, so its type and meaning are unconfirmed.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_comp_issue(season=2026)

Last validated n/a.

vtb_infobasket_standings​

Standings of one stage (a round-robin stage such as the regular season), one row per team.

Endpoint URL: GET https://org.infobasket.su/Widget/CompTeamResults/{comp_id}

Valid URL: https://org.infobasket.su/Widget/CompTeamResults/50720?format=json

API ParameterPythonPatternRequiredNullableDescription
comp_idcomp_idYStage CompID (comp_id in vtb_infobasket_comp_issue), not a season id and not an END year, e.g. 50720 (Regular Season 2025-26) or 54281 (Playoff 2025-26).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
comp_idintegerStage CompID the request asked for (50720 = the 2025-26 regular season): a stage below the season, not an END year.
comp_team_idintegerInfobasket competition-team id: one team's registration in one competition stage (a different key space from TeamID).
team_idintegerInfobasket team id (TeamID): one club's entry in a competition family (Lokomotiv Kuban = 2650). Joins to /Widget/Team*/{teamId} and equals the v2 API teamId.
placeintegerCurrent place in the standings.
start_placeintegerPlace before the latest round (unverified).
gamesintegerGames played in the stage (top-level copy of standing_game).
wonintegerGames won in the stage (top-level copy of standing_win).
lostintegerGames lost in the stage (top-level copy of standing_lose).
standing_gameintegerGames played in the stage.
standing_winintegerGames won in the stage.
standing_drawcharacterDraws; null in basketball.
standing_loseintegerGames lost in the stage.
standing_forfeitintegerGames lost by forfeit in the stage.
standing_pointsintegerLeague points (2 per win, 1 per loss).
standing_goal_plusintegerPoints scored in the stage.
standing_goal_minusintegerPoints conceded in the stage.
standing_goal_differenceintegerPoint difference (scored minus conceded).
standing_penaltyintegerPoints deducted.
standing_is_playlogicalTrue while the team is still playing in the stage.
victory_percentnumericWin percentage as a number (83 = 83%).
avg_goal_plusnumericAverage points scored per game.
avg_goal_minusnumericAverage points conceded per game.
team_short_name_rucharacterThe the team's short name in Russian (as the competition names it).
team_short_name_encharacterThe the team's short name in English (as the competition names it).
team_name_rucharacterThe the team's name in Russian (as the competition names it).
team_name_encharacterThe the team's name in English (as the competition names it).
team_region_name_rucharacterThe the team's region or city in Russian (as the competition names it).
team_region_name_encharacterThe the team's region or city in English (as the competition names it).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_standings(comp_id=50720)

Last validated n/a.

vtb_infobasket_cross_table​

Head-to-head results grid of a round-robin stage (every game twice, once from each side).

Endpoint URL: GET https://org.infobasket.su/Widget/CrossTable/{comp_id}

Valid URL: https://org.infobasket.su/Widget/CrossTable/50720?format=json

API ParameterPythonPatternRequiredNullableDescription
comp_idcomp_idYStage CompID (comp_id in vtb_infobasket_comp_issue), not a season id and not an END year, e.g. 50720 (Regular Season 2025-26) or 54281 (Playoff 2025-26).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
comp_idintegerStage CompID the request asked for (50720 = the 2025-26 regular season): a stage below the season, not an END year.
game_idintegerInfobasket game id (GameID); equals the v2 API matchId. Joins to /Widget/GetOnline/{gameId} and /Widget/GamePage/{gameId}.
game_statusintegerGame status in the game-record code set: 21 on every completed game sampled (not the calendar's 0/1/2).
scorecharacterFinal score 'row team:opponent'. Every game appears twice, once from each side.
plus_minusintegerPoint difference from the row team's side.
game_datecharacterDay and month of the game as the host sends them ('04.04.'): there is no year in this route.
team1_idintegerTeamID of the row team. Infobasket team id (TeamID): one club's entry in a competition family (Lokomotiv Kuban = 2650). Joins to /Widget/Team*/{teamId} and equals the v2 API teamId.
team2_idintegerTeamID of the opponent. Infobasket team id (TeamID): one club's entry in a competition family (Lokomotiv Kuban = 2650). Joins to /Widget/Team*/{teamId} and equals the v2 API teamId.
team1_placeintegerStandings place of the row team.
team2_placeintegerStandings place of the opponent.
home_teamintegerWhich side was at home: 1 the row team, 2 the opponent.
win_teamintegerWhich side won: 1 the row team, 2 the opponent.
score1integerPoints of team 1, parsed from the 'a:b' score string.
score2integerPoints of team 2, parsed from the 'a:b' score string.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_cross_table(comp_id=50720)

Last validated n/a.

vtb_infobasket_playoff​

Playoff bracket of a playoff stage, one row per series.

Endpoint URL: GET https://org.infobasket.su/Widget/PlayOff/{comp_id}

Valid URL: https://org.infobasket.su/Widget/PlayOff/54281?format=json

API ParameterPythonPatternRequiredNullableDescription
comp_idcomp_idYStage CompID (comp_id in vtb_infobasket_comp_issue), not a season id and not an END year, e.g. 50720 (Regular Season 2025-26) or 54281 (Playoff 2025-26).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
comp_idintegerStage CompID the request asked for (50720 = the 2025-26 regular season): a stage below the season, not an END year.
treeintegerBracket tree number (1 = the main bracket).
roundintegerRound as the number of series in it (4 = quarter-finals, 2 = semi-finals, 1 = final).
is_current_roundlogicalTrue for the round in progress.
sortintegerSeries order within the round.
round_name_rucharacterRound name, Russian.
round_name_encharacterRound name, English.
score1integerSeries wins of side 1.
score2integerSeries wins of side 2.
is_finallogicalTrue for a final (decided) result.
winnerintegerSeries winner: 1 side 1, 2 side 2.
team1_idintegerInfobasket TeamID of team 1.
team1_short_name_rucharacterThe team 1 of the series's short name in Russian (as the competition names it).
team1_short_name_encharacterThe team 1 of the series's short name in English (as the competition names it).
team1_name_rucharacterThe team 1 of the series's name in Russian (as the competition names it).
team1_name_encharacterThe team 1 of the series's name in English (as the competition names it).
team1_region_name_rucharacterThe team 1 of the series's region or city in Russian (as the competition names it).
team1_region_name_encharacterThe team 1 of the series's region or city in English (as the competition names it).
team2_idintegerInfobasket TeamID of team 2.
team2_short_name_rucharacterThe team 2 of the series's short name in Russian (as the competition names it).
team2_short_name_encharacterThe team 2 of the series's short name in English (as the competition names it).
team2_name_rucharacterThe team 2 of the series's name in Russian (as the competition names it).
team2_name_encharacterThe team 2 of the series's name in English (as the competition names it).
team2_region_name_rucharacterThe team 2 of the series's region or city in Russian (as the competition names it).
team2_region_name_encharacterThe team 2 of the series's region or city in English (as the competition names it).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_playoff(comp_id=54281)

Last validated n/a.

vtb_infobasket_playoff_games​

The games of every series of a playoff stage.

Endpoint URL: GET https://org.infobasket.su/Widget/PlayOff/{comp_id}

Valid URL: https://org.infobasket.su/Widget/PlayOff/54281?format=json

API ParameterPythonPatternRequiredNullableDescription
comp_idcomp_idYStage CompID (comp_id in vtb_infobasket_comp_issue), not a season id and not an END year, e.g. 50720 (Regular Season 2025-26) or 54281 (Playoff 2025-26).

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
comp_idintegerStage CompID the request asked for (50720 = the 2025-26 regular season): a stage below the season, not an END year.
treeintegerBracket tree number (1 = the main bracket).
roundintegerRound as the number of series in it (4 = quarter-finals, 2 = semi-finals, 1 = final).
sortintegerSeries order within the round.
game_idintegerInfobasket game id (GameID); equals the v2 API matchId. Joins to /Widget/GetOnline/{gameId} and /Widget/GamePage/{gameId}.
game_statusintegerGame status in the game-record code set: 21 on every completed game sampled (not the calendar's 0/1/2).
scorecharacterFinal score 'side1:side2'.
plus_minusintegerPoint difference from side 1's view.
game_datecharacterGame date as an ISO 8601 date (YYYY-MM-DD); the wire sends DD.MM.YYYY.
team1_idintegerTeamID of side 1.
team2_idintegerTeamID of side 2.
team1_placeintegerSeed of side 1.
team2_placeintegerSeed of side 2.
home_teamintegerHome side of that game (1 or 2).
win_teamintegerWinning side of that game (1 or 2).
score1integerSeries wins of side 1.
score2integerSeries wins of side 2.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_playoff_games(comp_id=54281)

Last validated n/a.

vtb_infobasket_best_player_parameters​

Player leader categories (a code table).

Endpoint URL: GET https://org.infobasket.su/Widget/GetBestPlayerParameters/

Valid URL: https://org.infobasket.su/Widget/GetBestPlayerParameters/?format=json&lang=en

API ParameterPythonPatternRequiredNullableDescription
langlangYLabel language (en or ru). Most bodies carry both languages whatever is asked; the leader categories' labels follow it.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
paramintegerLeader-category id; pass it as param to /Widget/BestPlayers or /Widget/BestTeams.
namecharacterLeader-category name, English (double spaces as sent).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_best_player_parameters()

Last validated n/a.

vtb_infobasket_best_team_parameters​

Team leader categories (a code table).

Endpoint URL: GET https://org.infobasket.su/Widget/GetBestTeamParameters/

Valid URL: https://org.infobasket.su/Widget/GetBestTeamParameters/?format=json&lang=en

API ParameterPythonPatternRequiredNullableDescription
langlangYLabel language (en or ru). Most bodies carry both languages whatever is asked; the leader categories' labels follow it.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
paramintegerLeader-category id; pass it as param to /Widget/BestPlayers or /Widget/BestTeams.
namecharacterLeader-category name, English (double spaces as sent).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_best_team_parameters()

Last validated n/a.

vtb_infobasket_coach​

Coach profile: names, height, weight (no birth data).

Endpoint URL: GET https://org.infobasket.su/Widget/CoachPage/{person_id}

Valid URL: https://org.infobasket.su/Widget/CoachPage/131047?format=json

API ParameterPythonPatternRequiredNullableDescription
person_idperson_idYInfobasket PersonID (person_id in a box score or roster): one person across clubs and seasons, e.g. 423011.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
person_idintegerInfobasket person id (PersonID): one person (player, coach or official) across clubs and seasons. Joins to /Widget/PlayerPage/{personId} (players) and /Widget/CoachPage/{personId} (coaches). The scope check compares it with the request.
person_last_name_rucharacterLast name, Russian.
person_first_name_rucharacterFirst name, Russian.
person_last_name_encharacterLast name, English.
person_first_name_encharacterFirst name, English.
person_genderintegerPerson gender: 1 on every sampled (male) person.
person_heightintegerHeight in centimetres.
person_weightintegerWeight in kilograms.
person_statusintegerPerson record status (1 active, 0 otherwise); meaning unverified.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_coach(person_id=131047)

Last validated n/a.

vtb_infobasket_roster​

A club's player roster in one season.

Endpoint URL: GET https://org.infobasket.su/Widget/TeamRoster/{team_id}

Valid URL: https://org.infobasket.su/Widget/TeamRoster/2650?format=json&season=2026&lang=en&tag=vtb

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYInfobasket TeamID (team_id in the calendar, a box score or the v2 matches), e.g. 2650 (Lokomotiv Kuban).
seasonseasonYSeason END year (2026 = 2025-26); the wrapper maps it to the season-level Infobasket CompID with vtb_infobasket_seasons (one extra request per tag, cached). Required.
langlangYLabel language (en or ru). Most bodies carry both languages whatever is asked; the leader categories' labels follow it.
tagtagYCompetition tag scoping the profile: vtb (VTB United League, default), vtbyouth, wbc, wpremier or rfb. The season table is read for this tag.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_idintegerInfobasket TeamID (2650 = Lokomotiv Kuban); the v2 teamId. Not a club-record id and not a registration id.
seasonintegerSeason END year (2026 = 2025-26): the season the request asked for, stamped by the runtime.
person_idintegerInfobasket person id (PersonID): one person (player, coach or official) across clubs and seasons. Joins to /Widget/PlayerPage/{personId} (players) and /Widget/CoachPage/{personId} (coaches).
player_numberintegerShirt number as an integer (-1 when none).
display_numbercharacterShirt number as displayed ('0' and '00' differ).
is_captainlogical1 for the team captain, else 0.
birth_datecharacterBirth date (ISO 8601 date) of a player: public bio, kept; coaches' and officials' birth data is never output.
pos_idintegerPosition code: players 1 point guard, 2 shooting guard, 3 small forward, 4 power forward, 5 centre; coaches 1000 head coach, 1001 assistant; officials 101-103 referees, 104 commissioner, 111-123 table officials (exact roles unverified).
positioncharacterPlaying position: a record (PlayerPage) or its English name (TeamRoster).
nationality_codecharacterNationality, ISO 3166 alpha-2.
country_codecharacterNationality, ISO 3166 alpha-2.
country_code_ioccharacterNationality code: ISO 3166 alpha-2 in most rows ('RU', 'US'), IOC alpha-3 in some ('BLR').
country_namecharacterNationality, English country name.
rankcharacterRank in the leader list.
heightintegerHeight in centimetres.
weightintegerWeight in kilograms.
is_activelogicalTrue while the person is on the current roster.
active_statuscharacterRoster status text ('Accepted'), empty otherwise.
person_last_name_rucharacterLast name, Russian.
person_last_name_encharacterLast name, English.
person_first_name_rucharacterFirst name, Russian.
person_first_name_encharacterFirst name, English.
person_full_name_rucharacterFull name, 'Last First', Russian.
person_full_name_encharacterFull name, 'Last First', English.
person_genderintegerPerson gender: 1 on every sampled (male) person.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_roster(season=2026, team_id=2650)

Last validated n/a.

vtb_infobasket_roster_coaches​

A club's coaches in one season (no birth data).

Endpoint URL: GET https://org.infobasket.su/Widget/TeamRoster/{team_id}

Valid URL: https://org.infobasket.su/Widget/TeamRoster/2650?format=json&season=2026&lang=en&tag=vtb

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYInfobasket TeamID (team_id in the calendar, a box score or the v2 matches), e.g. 2650 (Lokomotiv Kuban).
seasonseasonYSeason END year (2026 = 2025-26); the wrapper maps it to the season-level Infobasket CompID with vtb_infobasket_seasons (one extra request per tag, cached). Required.
langlangYLabel language (en or ru). Most bodies carry both languages whatever is asked; the leader categories' labels follow it.
tagtagYCompetition tag scoping the profile: vtb (VTB United League, default), vtbyouth, wbc, wpremier or rfb. The season table is read for this tag.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_idintegerInfobasket TeamID (2650 = Lokomotiv Kuban); the v2 teamId. Not a club-record id and not a registration id.
seasonintegerSeason END year (2026 = 2025-26): the season the request asked for, stamped by the runtime.
person_idintegerInfobasket person id (PersonID): one person (player, coach or official) across clubs and seasons. Joins to /Widget/PlayerPage/{personId} (players) and /Widget/CoachPage/{personId} (coaches).
coach_numberintegerCoach order on the team sheet (1 = head coach).
display_numbercharacterShirt number as displayed ('0' and '00' differ).
post_idintegerUnobserved: null in every sample, so its type and meaning are unconfirmed.
postcharacterCoaching post ('Head Coach', 'Assistant Coach').
country_code_ioccharacterNationality code: ISO 3166 alpha-2 in most rows ('RU', 'US'), IOC alpha-3 in some ('BLR').
country_namecharacterNationality, English country name.
rankcharacterRank in the leader list.
is_activelogicalTrue while the person is on the current roster.
active_statuscharacterRoster status text ('Accepted'), empty otherwise.
person_last_name_rucharacterLast name, Russian.
person_last_name_encharacterLast name, English.
person_first_name_rucharacterFirst name, Russian.
person_first_name_encharacterFirst name, English.
person_full_name_rucharacterFull name, 'Last First', Russian.
person_full_name_encharacterFull name, 'Last First', English.
person_genderintegerPerson gender: 1 on every sampled (male) person.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

vtb_infobasket_roster_coaches(season=2026, team_id=2650)

Last validated n/a.