Standings tables of one season of one league: regular season groups, Top 8 and Play-out.
Endpoint: GET https://www.aba-liga.com/standings/{sez}/{lea}/
sez = season - 2001; league = "aba2" reads https://druga.aba-liga.com with lea = 2.
Arguments
- season
Required. Season END year (2026 = 2025-26). the wrapper sends the site's START-year key
sez = season - 2001(25). The ABA League's first season is 2001-02 (season=2002).- league
League:
aba(ABA League, www.aba-liga.com, site code lea=1) oraba2(ABA League 2, druga.aba-liga.com, lea=2). Both sites serve one database; the runtime asks the league's own host. Default"aba".
Value
A hoopR_data tibble.
One row per team per table, in page order. A season has several tables: table is the phase heading (Regular Season 2025/26, Top 8 Season 2025/26, Play-out Season 2025/26) and group the group under it (Group A,
null without one). standing_points are table points, 2 per win and 1 per loss. points_for /
points_against are the two sides of the page's Overall column; Top 8 and Play-out tables carry points over
from the regular season.
Every column below is always present (a zero-row tibble keeps them and their types); an answer with nothing in
it raises hoopR_no_data, as in sportsdataverse-py.
| col_name | type | description |
| season | integer | Season END year (2026 = 2025-26): the site's START-year key sez (25) plus 2001. |
| league_id | integer | League code, the site's lea: 1 = ABA League, 2 = ABA League 2. |
| league | character | League label: aba (ABA League, lea 1) or aba2 (ABA League 2, lea 2), the wrapper's league argument. |
| season_label | character | Season label as the page prints it ('2025/26' on the match page, 'Season 2025/26' on the calendar and standings pages). |
| table | character | Title of the table's phase heading (h2): 'Top 8 Season 2025/26', 'Play-out Season 2025/26', 'Regular Season 2025/26'. |
| group | character | Group heading under the phase ('Group A', 'Group B'); null when the table has no group heading. |
| rank | integer | Position in this table (#). |
| team_id | integer | ABA club id (global: the same id in every season and in both leagues, e.g. Partizan = 22 in 2008-09 and 2025-26). Joins every frame that carries it; the calendar has club names only. |
| team_name | character | Club name as the site prints it now (see the match page's game.home_team). |
| games | integer | Games played (GP). |
| wins | integer | Games won in this table (the W column). |
| losses | integer | Games lost in this table (the L column). |
| points_for | integer | Points scored (left side of 'Overall' 'for:against'). |
| points_against | integer | Points allowed (right side of 'Overall'). |
| point_diff | integer | Point difference (Diff), points_for - points_against. |
| standing_points | integer | Standings points (Points): 2 per win and 1 per loss (FIBA), e.g. 21-3 = 45. |
Details
Unofficial use of a public source: these wrappers read the leagues' own PHP sites (www.aba-liga.com,
druga.aba-liga.com), keyless, with no bot wall.
www.aba-liga.com/robots.txt is the single line User-agent: * (nothing disallowed, no Crawl-delay) and druga has
no robots.txt; no terms page was found. The runtime waits at least 1 s per host before every request.
Coverage: box scores from 2001-02; play-by-play, the starter and on-court markers, the shot chart and the
minute-by-minute score from 2017-18 (earlier games answer an empty pbp and hoopR_no_data for the helpers). A
game is keyed by (game_no, season, league_id): game_no restarts at 1 for every season and league. Team and player
ids are global; the calendar carries club names only. Club names are the club's CURRENT name on every season:
join on team_id.
Only finished games are served: an unplayed game, or one whose period scores, team totals or play-by-play do not
add up to the final score, raises hoopR_asset_fetch, as does a page for another game, season or league than
asked. The three live-match helpers echo nothing about the game, so the runtime fetches the same game's match
page first (one extra request) and checks the helper against it.
Times: CET means Central European wall-clock time including summer time (the label never changes); ABA League 2
prints Local time. Officials appear by name only; the player bio (birth date and place, nationality) is the
public player profile.
Errors: hoopR_no_data when the site has nothing for the request (HTTP 404, an unknown game redirected to
/match-not-defined/, a season the site does not hold or before 2001-02, a live-match helper with no data before
2017-18); hoopR_bad_request for an invalid argument (a non-integer id or season, a league other than aba /
aba2) or HTTP 400 / 422; hoopR_asset_fetch when the fetch failed (any other non-200, a connection failure
after three attempts, a redirect off the ABA sites) or the answer is not the one asked for (a page for another
game, season or league, an unfinished game, a helper that does not belong to the game, layout drift). All inherit
hoopR_error.
See also
Other ABA Functions:
aba_box_players(),
aba_box_teams(),
aba_calendar(),
aba_game(),
aba_pbp(),
aba_periods(),
aba_player(),
aba_player_games(),
aba_score_difference(),
aba_score_flow(),
aba_shots()
Examples
# \donttest{
try(aba_standings(season = 2026))
#> ── ABA League Standings ───────────────────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:26:23 UTC
#> # A tibble: 36 × 16
#> season league_id league season_label table group rank team_id team_name
#> <int> <int> <chr> <chr> <chr> <chr> <int> <int> <chr>
#> 1 2026 1 aba Season 2025/26 Top 8 S… NA 1 95 Dubai Ba…
#> 2 2026 1 aba Season 2025/26 Top 8 S… NA 2 22 Partizan…
#> 3 2026 1 aba Season 2025/26 Top 8 S… NA 3 18 Crvena z…
#> 4 2026 1 aba Season 2025/26 Top 8 S… NA 4 12 Budućnos…
#> 5 2026 1 aba Season 2025/26 Top 8 S… NA 5 100 U-BT Clu…
#> 6 2026 1 aba Season 2025/26 Top 8 S… NA 6 66 Cedevita…
#> 7 2026 1 aba Season 2025/26 Top 8 S… NA 7 1 Bosna BH…
#> 8 2026 1 aba Season 2025/26 Top 8 S… NA 8 30 Igokea m…
#> 9 2026 1 aba Season 2025/26 Play-ou… NA 1 91 Spartak …
#> 10 2026 1 aba Season 2025/26 Play-ou… NA 2 3 Zadar
#> # ℹ 26 more rows
#> # ℹ 7 more variables: games <int>, wins <int>, losses <int>, points_for <int>,
#> # points_against <int>, point_diff <int>, standing_points <int>
# }
