Skip to contents

Game header of a final game: teams, final score, overtimes, venue, attendance, officials and coaches.

Endpoint: GET https://api.kbl.or.kr/match/{gmkey}

Usage

kbl_game(gmkey)

Arguments

gmkey

Game key S{seasonCode}G{gameCode}N{gameNo}, e.g. 'S47G01N49' (the 2025-26 regular season's game 49): season_code, game_code and game_no of kbl_schedule. Only final games are served; a malformed key is a hoopR_bad_request.

Value

A hoopR_data tibble: Game header of a final game: teams, final score, overtimes, venue, attendance, officials and coaches. The columns are always these, in this order (sportsdataverse-py kbl_game); an empty valid answer raises hoopR_no_data, a valid body with no rows for this frame is a zero-row tibble:

col_nametypedescription
gmkeycharacterGame key S{seasonCode}G{gameCode}N{gameNo} (e.g. S47G01N49): the id of every /match/{gmkey} route.
glkeycharacterCompetition key S{seasonCode}G{gameCode} (e.g. S47G01 = 2025-26 regular season): the id of the /leagues and /league/rank routes.
seasonintegerSeason END year (2026 = 2025-26), derived from season_code through the crosswalk (kbl_codes.SEASONS).
season_codeintegerKBL season code: sequential over every season and D-League edition (2 = 1997-98, 47 = 2025-26); the crosswalk to the sdv END year is in the README.
season_namecharacterSeason label: 'YYYY-YYYY' for a KBL season (e.g. '2025-2026'), '1997' for the 1997 inaugural season, or the D-League edition name (e.g. '2010KBLWINTER').
season_gradeintegerDivision: 1 = the KBL itself, 2 = the KBL D-League (reserve league).
game_codecharacterCompetition type within the season (2-digit string; code table in the README and below): 01 regular season, 03 playoffs, 04 final, ...
game_nointegerGame number within the competition (glkey); the N part of the gmkey.
season_category_namecharacterCategory name in Korean (regular season, playoffs, championship final, D-League stage 1 / 2, All-Star Game, cups, 'KBL' Cup, 'EASL', 'OPEN MATCH DAY').
game_dateDateGame date (KST).
week_daycharacterDay of the week in Korean (one Hangul syllable, Monday to Sunday).
game_startcharacterTip-off time, HHMM (KST).
game_endcharacterEnd time, HHMM (KST); '0000' or blanks when not recorded.
game_timeintegerDuration of the game in minutes.
home_team_codecharacterHome team code. KBL team code (2-digit string, e.g. '50' = Changwon LG). Joins to /common/teamList teamCode, game tcodeH/tcodeA, t in text-cast. Not stable across ownership changes: the Anyang club is '40' (SBS) in 1997-98 and '70' today. D-League sides have their own codes (teamCodeD).
away_team_codecharacterAway team code. KBL team code (2-digit string, e.g. '50' = Changwon LG). Joins to /common/teamList teamCode, game tcodeH/tcodeA, t in text-cast. Not stable across ownership changes: the Anyang club is '40' (SBS) in 1997-98 and '70' today. D-League sides have their own codes (teamCodeD).
home_team_namecharacterHome team short name (Korean, e.g. Goyang Sono). English names: /common/teamList teamNameEn / teamNameFullEn, joined on the team code.
away_team_namecharacterAway team short name (Korean, e.g. Changwon LG). English names: /common/teamList teamNameEn / teamNameFullEn, joined on the team code.
home_team_name_fullcharacterHome team full name (Korean).
away_team_name_fullcharacterAway team full name (Korean).
home_scoreintegerHome team final points, summed from the period scores (the header carries no totals).
away_scoreintegerAway team final points, summed from the period scores (the header carries no totals).
overtimesintegerNumber of overtime periods played (0 for a game decided in regulation).
is_startedinteger1 when the game has started. Unreliable for old games (0 on finished 1997-2006 games in /match/list).
is_endedinteger1 when the game is over. Unreliable: 0 on every finished game through 2005-06 and on some later ones (e.g. S45G01N95's header); the capture treats a past-dated game with scores as final.
playing_quartercharacterPeriod in progress: 'X' when none (before or after the game), else e.g. 'Q4' or 'EQ1'. Can stay stale after the game (the overtime sample says 'EQ1').
stadium_namecharacterVenue short name (Korean).
stadium_name_fullcharacterVenue full name (Korean).
stadium_name_encharacterVenue name in English; an empty string, or the Korean name, for some old venues.
crowdsintegerAttendance of the game (spectators).
tvcharacterBroadcaster name(s), e.g. 'tvN SPORTS', 'SPOTV2 / SPOTV ON'.
tv_codecharacterBroadcaster code(s), comma-separated (e.g. 'T24,T25'); the site uses it instead of tv from seasonCode 45.
detail_urlcharacterPath of the game page on www.kbl.or.kr.
highlight_urlcharacterURL of the game's page on Naver Sports.
referee_maincharacterCrew chief's name (officials appear by name only).
referees_subcharacterJSON list of the umpires' names (officials appear by name only).
home_managercharacterHome head coach's name (officials and coaches appear by name only).
away_managercharacterAway head coach's name (officials and coaches appear by name only).
home_coachescharacterJSON list of the home assistant coaches' names (staff appear by name only).
away_coachescharacterJSON list of the away assistant coaches' names (staff appear by name only).

Details

Source, terms of use, request pacing, seasons, ids, coverage and error classes of this family: see the notes in kbl_seasons().

Examples

# \donttest{
  try(kbl_game(gmkey = "S47G01N49"))
#> ── KBL Game Header from api.kbl.or.kr ─────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:30:54 UTC
#> # A tibble: 1 × 40
#>   gmkey     glkey  season season_code season_name season_grade game_code game_no
#>   <chr>     <chr>   <int>       <int> <chr>              <int> <chr>       <int>
#> 1 S47G01N49 S47G01   2026          47 2025-2026              1 01             49
#> # ℹ 32 more variables: season_category_name <chr>, game_date <date>,
#> #   week_day <chr>, game_start <chr>, game_end <chr>, game_time <int>,
#> #   home_team_code <chr>, away_team_code <chr>, home_team_name <chr>,
#> #   away_team_name <chr>, home_team_name_full <chr>, away_team_name_full <chr>,
#> #   home_score <int>, away_score <int>, overtimes <int>, is_started <int>,
#> #   is_ended <int>, playing_quarter <chr>, stadium_name <chr>,
#> #   stadium_name_full <chr>, stadium_name_en <chr>, crowds <int>, tv <chr>, …
# }