Skip to contents

Group standings of every round of a competition.

Endpoint: GET https://digital-api.fiba.basketball/hapi/getgdaproundsbycompetitionid

Usage

fiba_gdap_round_standings(comp, return_parsed = TRUE)

Arguments

comp

(integer, required) Required. FIBA competition id (GDAP key space), one per edition: competition.competitionId of any game row (208182 = World Cup 2023, 208722 = Paris 2024 men, 208850 = BCL 2024-25). Find it with fiba_gdap_editions or fiba_gdap_games_between.

return_parsed

Parse the payload into a tibble (default TRUE); FALSE returns the raw JSON list.

Value

A wehoop_data tibble (the raw JSON list when return_parsed = FALSE) with the following columns:

col_nametypedescription
round_idintegerRound id (Int64) the group belongs to.
round_namecharacterRound name (Preliminary Round, Final Round...).
round_codecharacterRound code (a short code such as G or F).
group_namecharacterGroup name within the round (A, B...).
group_status_codecharacterGroup status code (COMPL when the group is complete).
rankintegerRank in the group.
team_team_idintegerCompetition team id: one per team per competition (Germany = 279569 at the 2023 World Cup, 281545 at Paris 2024). Joins getgdapcompetitionteamrosterbyteamid / getgdapcompetitionteamstatisticsbyteamid gdapTeamId; not an organisationId.
team_organisation_idintegerOrganisation id, stable across competitions and seasons: the national federation for a national team (64 = Germany), the club for a club team (396 = Filou Oostende). Same key space as nationalFederationId, clubId, play-by-play oId and the game page's T_<id>.
team_codecharacterTeam code (FIBA country code or club abbreviation).
team_official_namecharacterOfficial team name (the country for a national team, the club for a club team).
team_short_namecharacterShort team name: the country code for a national team, the club's short name for a club.
games_playedintegerGames played in the group.
games_lostintegerLosses in the group.
games_wonintegerWins in the group.
pointsintegerStanding points (2 per win, 1 per loss).
points_againstintegerPoints conceded.
points_forintegerPoints the team scored in the group's games.
starting_positionintegerSeed / draw position in the group.
final_positionintegerFinal position in the group.
plus_minusintegerPoint differential (pointsFor - pointsAgainst).
penalty_pointsintegerStanding points deducted.
draw_pointsintegerPoints for a draw (0); null when not applicable.
group_game_resultscharacterThis team's games in the group. Stored as a JSON string.

Details

FIBA's terms restrict this source. The GDAP developer-portal terms limit API use to 'Authorized Users' (federations, organisers, FIBA partners) and say any broader use 'is not authorised'; the fiba.basketball terms say no portion of the site may be duplicated, redistributed or manipulated. The package owner reviewed both clauses on 2026-10-12, accepted them and approved the full intake, published data releases included. Users who are not themselves authorised by FIBA should check the terms before using the wrappers.

The GDAP subscription key is public (fiba.basketball ships it in every page); the runtime reads it from the live page at run time and never logs it. Officials' contact details and coaches' and officials' dates of birth are dropped from every body.

Id key spaces: competition_id is one per edition (2023 World Cup = 208182) and game_id is global across competitions (the <gameId> of a game-page URL). team_id is per team per competition (Germany is 279569 at the 2023 World Cup and 281545 at Paris 2024), while organisation_id is the stable federation or club (64 = Germany, every year); the game page's T_<id> and the play-by-play oId are organisation ids, not team ids.

Errors are classed conditions (all inherit wehoop_error): wehoop_no_data when FIBA has nothing (HTTP 404, or GDAP answers {} / [] for an unknown id); wehoop_bad_request for HTTP 400 / 422 or a malformed id, season or date; wehoop_asset_fetch for any other failed fetch or an answer that is not about the request (an error envelope, HTTP 401 after a key refresh, HTTP 500, a body for another game, competition, team, player, federation, family or season). Seasons are FIBA's own key, which equals the sdv key: the END year for club competitions, the event year for national-team events, the target tournament year for qualifiers.

Examples

# \donttest{
  try(fiba_gdap_round_standings(comp = 208182))
#> ── FIBA gdap_round_standings from fiba.basketball ────────────── wehoop 3.1.0 ──
#> ℹ Data updated: 2026-10-22 02:35:44 UTC
#> # A tibble: 88 × 23
#>    round_id round_name  round_code group_name group_status_code  rank
#>       <int> <chr>       <chr>      <chr>      <chr>             <int>
#>  1    25276 First Round FR         A          COMPL                 1
#>  2    25276 First Round FR         A          COMPL                 2
#>  3    25276 First Round FR         A          COMPL                 3
#>  4    25276 First Round FR         A          COMPL                 4
#>  5    25276 First Round FR         B          COMPL                 1
#>  6    25276 First Round FR         B          COMPL                 2
#>  7    25276 First Round FR         B          COMPL                 3
#>  8    25276 First Round FR         B          COMPL                 4
#>  9    25276 First Round FR         C          COMPL                 1
#> 10    25276 First Round FR         C          COMPL                 2
#> # ℹ 78 more rows
#> # ℹ 17 more variables: team_team_id <int>, team_organisation_id <int>,
#> #   team_code <chr>, team_official_name <chr>, team_short_name <chr>,
#> #   games_played <int>, games_lost <int>, games_won <int>, points <int>,
#> #   points_against <int>, points_for <int>, starting_position <int>,
#> #   final_position <int>, plus_minus <int>, penalty_points <int>,
#> #   draw_points <int>, group_game_results <chr>
# }