Skip to contents

One game header: teams, score by period, officials, venue and top scorer.

Endpoint: GET https://api.basketball-bundesliga.de/games/{game_id} (DBBL: the same route on https://api-1.dbbl.scb.world).

Usage

scb_game(game_id, league = "bbl")

Arguments

game_id

(required) Game id (game_id in scb_games), e.g. 2006920 (BBL) or 10130 (DBBL). One sequence per league.

league

(default "bbl") League: bbl (men, easyCredit Basketball Bundesliga, api.basketball-bundesliga.de) or dbbl (women, Toyota Damen-Basketball-Bundesliga, api-1.dbbl.scb.world). The two share one API; game ids overlap, so a game is (league, game_id).

Value

A hoopR_data tibble: One game header: teams, score by period, officials, venue and top scorer. An empty valid answer raises hoopR_no_data; the columns are always these, in this order (sportsdataverse-py scb_game):

col_nametypedescription
leaguecharacterLeague the row belongs to: bbl (men) or dbbl (women); BBL and DBBL game ids overlap, so a game is (league, game_id).
seasonintegerSeason END year (2026 = 2025-26), the sdv key; the API's season_id plus one.
season_idintegerSeason, START year (2026 = 2026-27).
game_idcharacterGame id, a string; unique within a league only (BBL and DBBL overlap), and not chronological.
competitioncharacterCompetition: BBL, BBL_CUP (Pokal), ALLSTAR, CHAMPIONS_CUP on the BBL host; DBBL, DBBL_CUP on the DBBL host.
stagecharacterStage: MAIN_ROUND (Hauptrunde, regular season), PLAYINS, FIRST_ROUND, SECOND_ROUND, ROUND_OF_16 (Achtelfinale), ROUND_OF_8 (Viertelfinale), SEMI_FINALS, FINALS, THIRD_PLACE_GAME, QUALIFICATION, GROUP_STAGE.
statuscharacterGame status: PRE (scheduled), LIVE, POST (ended, not yet official), OFFICIAL (final).
stat_statuscharacterLive-stats feed status code. Observed: E (ended; German Ende), N (not started), 1 (old games), empty string. Meaning inferred.
game_progresscharacterLive progress code: E (ended), empty or null before the game. Meaning inferred.
scheduled_timecharacterScheduled tip-off, ISO 8601 UTC.
match_dayintegerRound number within the stage (Spieltag).
is_tbdlogicalDate or time not yet fixed.
is_hiddenlogicalTrue when the API hides the game (0/1 on /games, a boolean on the header).
home_team_idcharacterClub id; equal to seasonTeamId in every sample. Joins to /teams/{teamId}.
home_season_team_idcharacterSeason-team id; equal to the club teamId in every sample (BBL 2005-2026, DBBL 2024-2026).
home_team_namecharacterTeam name as listed that season (sponsor names included, e.g. 'EWE Baskets Oldenburg').
home_tlccharacterThree-letter club code.
home_is_foreignlogicalThe team is not in this league (cup opponents from the ProA / ProB).
home_rankintegerThe team's current table position.
home_streakcharacterCurrent streak: W or L; empty when none.
home_streak_countintegerLength of the current streak.
home_last10_victoriesintegerWins in the last 10 games.
home_last10_lossesintegerLosses in the last 10 games.
home_total_gamesintegerGames the home team has played so far (the API sends it as a string).
guest_team_idcharacterClub id; equal to seasonTeamId in every sample. Joins to /teams/{teamId}.
guest_season_team_idcharacterSeason-team id; equal to the club teamId in every sample (BBL 2005-2026, DBBL 2024-2026).
guest_team_namecharacterTeam name as listed that season (sponsor names included, e.g. 'EWE Baskets Oldenburg').
guest_tlccharacterThree-letter club code.
guest_is_foreignlogicalThe team is not in this league (cup opponents from the ProA / ProB).
guest_rankintegerThe team's current table position.
guest_streakcharacterCurrent streak: W or L; empty when none.
guest_streak_countintegerLength of the current streak.
guest_last10_victoriesintegerWins in the last 10 games.
guest_last10_lossesintegerLosses in the last 10 games.
guest_total_gamesintegerGames the guest team has played so far (the API sends it as a string).
home_scoreintegerHome team final score.
guest_scoreintegerGuest team final score.
latest_periodintegerNumber of the last period played (4 = Q4, 5 = OT1, ...); the API sends Q4 on /games and 4 on /games/recent. Null before the game.
spectatorsintegerAttendance; 0 when not recorded.
home_q1_scoreintegerHome team points in quarter 1; 0 when quarter scores were not recorded.
home_q2_scoreintegerHome team points in quarter 2; 0 when quarter scores were not recorded.
home_q3_scoreintegerHome team points in quarter 3; 0 when quarter scores were not recorded.
home_q4_scoreintegerHome team points in quarter 4; 0 when quarter scores were not recorded.
home_ot1_scoreintegerHome team points in overtime 1; 0 when not played (null from OT5 on in old seasons).
home_ot2_scoreintegerHome team points in overtime 2; 0 when not played (null from OT5 on in old seasons).
home_ot3_scoreintegerHome team points in overtime 3; 0 when not played (null from OT5 on in old seasons).
home_ot4_scoreintegerHome team points in overtime 4; 0 when not played (null from OT5 on in old seasons).
home_ot5_scoreintegerHome team points in overtime 5; 0 when not played (null from OT5 on in old seasons).
home_ot6_scoreintegerHome team points in overtime 6; 0 when not played (null from OT5 on in old seasons).
home_ot7_scoreintegerHome team points in overtime 7; 0 when not played (null from OT5 on in old seasons).
home_ot8_scoreintegerHome team points in overtime 8; 0 when not played (null from OT5 on in old seasons).
home_ot9_scoreintegerHome team points in overtime 9; 0 when not played (null from OT5 on in old seasons).
guest_q1_scoreintegerGuest team points in quarter 1; 0 when quarter scores were not recorded.
guest_q2_scoreintegerGuest team points in quarter 2; 0 when quarter scores were not recorded.
guest_q3_scoreintegerGuest team points in quarter 3; 0 when quarter scores were not recorded.
guest_q4_scoreintegerGuest team points in quarter 4; 0 when quarter scores were not recorded.
guest_ot1_scoreintegerGuest team points in overtime 1; 0 when not played (null from OT5 on in old seasons).
guest_ot2_scoreintegerGuest team points in overtime 2; 0 when not played (null from OT5 on in old seasons).
guest_ot3_scoreintegerGuest team points in overtime 3; 0 when not played (null from OT5 on in old seasons).
guest_ot4_scoreintegerGuest team points in overtime 4; 0 when not played (null from OT5 on in old seasons).
guest_ot5_scoreintegerGuest team points in overtime 5; 0 when not played (null from OT5 on in old seasons).
guest_ot6_scoreintegerGuest team points in overtime 6; 0 when not played (null from OT5 on in old seasons).
guest_ot7_scoreintegerGuest team points in overtime 7; 0 when not played (null from OT5 on in old seasons).
guest_ot8_scoreintegerGuest team points in overtime 8; 0 when not played (null from OT5 on in old seasons).
guest_ot9_scoreintegerGuest team points in overtime 9; 0 when not played (null from OT5 on in old seasons).
referee1_idcharacterOfficial id; joins to /referees refId (= its id). /referees lists only the current officials (44), so older games' officials can be missing there: all 40 of 2026-27's matched, 6 of 10 of 2008-09's.
referee1_first_namecharacterOfficial's given name.
referee1_last_namecharacterOfficial's family name.
referee2_idcharacterOfficial id; joins to /referees refId (= its id). /referees lists only the current officials (44), so older games' officials can be missing there: all 40 of 2026-27's matched, 6 of 10 of 2008-09's.
referee2_first_namecharacterOfficial's given name.
referee2_last_namecharacterOfficial's family name.
referee3_idcharacterOfficial id; joins to /referees refId (= its id). /referees lists only the current officials (44), so older games' officials can be missing there: all 40 of 2026-27's matched, 6 of 10 of 2008-09's.
referee3_first_namecharacterOfficial's given name.
referee3_last_namecharacterOfficial's family name.
commissioner_idcharacterOfficial id; joins to /referees refId (= its id). /referees lists only the current officials (44), so older games' officials can be missing there: all 40 of 2026-27's matched, 6 of 10 of 2008-09's.
commissioner_first_namecharacterOfficial's given name.
commissioner_last_namecharacterOfficial's family name.
venue_idcharacterArena id, stable across seasons (Uber Arena = 2 in both 2025-26 and 2026-27); a different key space from /teams seasonVenues.id, and no captured route is keyed by it. A string in /games and /games/{gameId}, an integer in /games/recent.
venue_namecharacterName of the arena the game is played in; venue_id is its stable arena id.
venue_addresscharacterPostal address, German.
venue_capacityintegerArena capacity, spectators.
venue_is_mainlogicalThe club's main arena.
tv_channelcharacterTV channel(s) showing the game, comma-joined (a list on some routes, an empty string when none).
tv_typecharacterTV coverage type; empty or null in every sample.
is_free_tvlogicalShown on free-to-air TV.
live_stream_urlcharacterLive-stream link (DBBL games link YouTube); empty when none.
top_scoreintegerPoints of the game's top scorer; null before the game.
top_scorer_season_player_idcharacterSeason-player id. BBL: a string equal to id. DBBL: an INTEGER that matches /seasons/{seasonId} seasonPlayerId (5 of 5 rows checked, 2026-27). Joins to /season-players/{seasonPlayerId}.
top_scorer_real_player_idcharacterGlobal person id: the same across clubs and seasons. Joins to realPlayerId everywhere.
top_scorer_first_namecharacterPlayer's given name.
top_scorer_last_namecharacterPlayer's family name.

Details

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

Examples

# \donttest{
  try(scb_game(game_id = "2006920"))
#> ── BBL/DBBL Game from the SCB API ─────────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:33:38 UTC
#> # A tibble: 1 × 91
#>   league season season_id game_id competition stage      status   stat_status
#>   <chr>   <int>     <int> <chr>   <chr>       <chr>      <chr>    <chr>      
#> 1 bbl      2027      2026 2006920 BBL         MAIN_ROUND OFFICIAL E          
#> # ℹ 83 more variables: game_progress <chr>, scheduled_time <chr>,
#> #   match_day <int>, is_tbd <lgl>, is_hidden <lgl>, home_team_id <chr>,
#> #   home_season_team_id <chr>, home_team_name <chr>, home_tlc <chr>,
#> #   home_is_foreign <lgl>, home_rank <int>, home_streak <chr>,
#> #   home_streak_count <int>, home_last10_victories <int>,
#> #   home_last10_losses <int>, home_total_games <int>, guest_team_id <chr>,
#> #   guest_season_team_id <chr>, guest_team_name <chr>, guest_tlc <chr>, …
# }