Skip to contents

League table of a season: record, home / away split, streaks and tie-break detail (2005-06 on).

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

Usage

scb_standings(league = "bbl", season = NULL, competition = NULL)

Arguments

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).

season

(default NULL) Season END year (2026 = 2025-26, the sdv key). Sent to the API as its START-year seasonId (season - 1). Omitted = the season in progress. Seasons before about 2000 answer an empty table.

competition

(default NULL) Competition: BBL, BBL_CUP, ALLSTAR, CHAMPIONS_CUP (BBL host) or DBBL, DBBL_CUP (DBBL host). BBL_CUP answers an empty table.

Value

A hoopR_data tibble: League table of a season: record, home / away split, streaks and tie-break detail (2005-06 on). An empty valid answer raises hoopR_no_data; the columns are always these, in this order (sportsdataverse-py scb_standings):

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.
standing_idcharacterOpaque id of the standings row, a string.
season_team_idcharacterSeason-team id; equal to the club teamId in every sample (BBL 2005-2026, DBBL 2024-2026). An integer here.
team_idcharacterClub id; equal to seasonTeamId in every sample. Joins to /teams/{teamId}.
team_namecharacterTeam name; null on some rows.
team_tlccharacterThree-letter club code.
team_name_shortcharacterShort team name (null on DBBL).
has_reached_playoffslogicalClinched a playoff place.
has_reached_playinslogicalClinched at least the play-ins.
is_relegation_certainlogicalRelegated for certain.
season_idintegerSeason, START year (2026 = 2026-27).
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.
rankintegerTable position.
streakcharacterCurrent streak: W or L; empty when none.
streak_countintegerLength of the current streak.
point_correctionscharacterTable-point deductions; [] in every sample.
home_victoriesintegerHome games: wins.
home_lossesintegerHome games: number of losses in the table.
home_victory_percentagedoubleHome games: win percentage, 0-100.
away_victoriesintegerAway games: wins.
away_lossesintegerAway games: number of losses in the table.
away_victory_percentagedoubleAway games: win percentage, 0-100.
table_pointsintegerTable points scored (2 per win), from the API's totalPointsMade; the provider's notes call its 'Points' fields table points.
table_points_againstintegerTable points conceded (2 per loss), from the API's totalPointsAgainst; per the provider's notes, table points.
total_victory_percentagedoubleAll games: win percentage, 0-100.
total_gamesintegerGames played in the table (home and away together).
total_victoriesintegerAll games: wins.
total_lossesintegerLosses in the table over all games.
last10_victoriesintegerWins in the last 10 games.
last10_lossesintegerLosses in the last 10 games.
last10_percentagedoubleWin percentage over the last 10 games, 0-100.
last10_outcomescharacterResults of the last games, newest first: W or L.
home_last10_victoriesintegerHome games: last 10 games, wins.
home_last10_lossesintegerHome games: last 10 games, losses.
home_last10_victory_percentagedoubleHome games: last 10 games, win percentage, 0-100.
home_streakcharacterHome games: current streak, W or L.
home_streak_countintegerHome games: length of the current streak.
away_last10_victoriesintegerAway games: last 10 games, wins.
away_last10_lossesintegerAway games: last 10 games, losses.
away_last10_victory_percentagedoubleAway games: last 10 games, win percentage, 0-100.
away_streakcharacterAway games: current streak, W or L.
away_streak_countintegerAway games: length of the current streak.
updated_datecharacterLast update of the row, ISO 8601 UTC.
ranking_comparison_infocharacterTie-break detail among teams level on record.
home_points_forintegerHome games: basketball points scored (the API's football-style GoalsMade).
away_points_forintegerAway games: basketball points scored (the API's football-style GoalsMade).
total_points_forintegerAll games: basketball points scored (the API's football-style GoalsMade).
home_points_againstintegerHome games: basketball points allowed (the API's football-style GoalsAgainst).
away_points_againstintegerAway games: basketball points allowed (the API's football-style GoalsAgainst).
total_points_againstintegerAll games: basketball points allowed (the API's football-style GoalsAgainst).
home_point_differenceintegerHome games: point differential, scored minus allowed (the API's GoalDifference).
away_point_differenceintegerAway games: point differential, scored minus allowed (the API's GoalDifference).
total_point_differenceintegerAll games: point differential, scored minus allowed (the API's GoalDifference).

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_standings())
#> ── BBL/DBBL Standings from the SCB API ────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:33:51 UTC
#> # A tibble: 18 × 55
#>    league season standing_id season_team_id team_id team_name           team_tlc
#>    <chr>   <int> <chr>       <chr>          <chr>   <chr>               <chr>   
#>  1 bbl      2027 74719       486            486     FC Bayern München … FCB     
#>  2 bbl      2027 74708       414            414     VET-CONCEPT Gladia… TRI     
#>  3 bbl      2027 74713       426            426     SKYLINERS           FRS     
#>  4 bbl      2027 74714       428            428     SYNTAINICS MBC      MBC     
#>  5 bbl      2027 74720       540            540     Fitness First Würz… WUE     
#>  6 bbl      2027 74716       433            433     MHP RIESEN Ludwigs… LUD     
#>  7 bbl      2027 74711       420            420     BMA365 Bamberg Bas… BAM     
#>  8 bbl      2027 74712       422            422     Basketball Löwen B… BRA     
#>  9 bbl      2027 74709       415            415     Telekom Baskets Bo… BON     
#> 10 bbl      2027 74722       551            551     ROSTOCK SEAWOLVES   HRO     
#> 11 bbl      2027 74707       413            413     ALBA BERLIN         BER     
#> 12 bbl      2027 74710       418            418     ratiopharm ulm      ULM     
#> 13 bbl      2027 74715       430            430     EWE Baskets Oldenb… OLD     
#> 14 bbl      2027 74717       483            483     Science City Jena   JEN     
#> 15 bbl      2027 74721       541            541     RASTA Vechta        VEC     
#> 16 bbl      2027 74718       485            485     NINERS Chemnitz     CHE     
#> 17 bbl      2027 74785       473            473     Phoenix Hagen       HAG     
#> 18 bbl      2027 74723       554            554     Veolia Towers Hamb… HAM     
#> # ℹ 48 more variables: team_name_short <chr>, has_reached_playoffs <lgl>,
#> #   has_reached_playins <lgl>, is_relegation_certain <lgl>, season_id <int>,
#> #   competition <chr>, stage <chr>, rank <int>, streak <chr>,
#> #   streak_count <int>, point_corrections <chr>, home_victories <int>,
#> #   home_losses <int>, home_victory_percentage <dbl>, away_victories <int>,
#> #   away_losses <int>, away_victory_percentage <dbl>, table_points <int>,
#> #   table_points_against <int>, total_victory_percentage <dbl>, …
# }