Skip to contents

A player's per-game averages, totals and highs at a competition.

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

Usage

fiba_gdap_player_stats(player_id, comp, return_parsed = TRUE)

Arguments

player_id

(integer, required) Required. FIBA person id (global): personId of a roster row, pId in play-by-play, P_<id> in the game-page box

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
player_idintegerFIBA person id, global across competitions and roles (player, coach, official): roster personId = play-by-play pId = game-page P_<id> = gdapPlayerId.
competition_idintegerFIBA competition id (GDAP key space): one per edition (2023 World Cup = 208182, BCL 2024-25 = 208850); gdapCompetitionId.
points_per_gamedoubleThe player's average points per game played.
rebounds_per_gamedoubleThe player's average rebounds per game played.
rebounds_offensive_per_gamedoubleThe player's average offensive rebounds per game played.
rebounds_defensive_per_gamedoubleThe player's average defensive rebounds per game played.
assists_per_gamedoubleThe player's average assists per game played.
blocks_per_gamedoubleThe player's average blocked shots per game played.
turnovers_per_gamedoubleThe player's average turnovers per game played.
fouls_per_gamedoubleThe player's average personal fouls per game played.
plus_minus_per_gamedoubleThe player's average plus/minus (point differential while on court) per game played.
efficiency_per_gamedoubleThe player's average efficiency (FIBA EFF) per game played.
play_time_in_seconds_per_gamedoubleThe player's average playing time in seconds per game played.
field_goals_made_per_gamedoubleThe player's average field goals made per game played.
field_goals_attempted_per_gamedoubleThe player's average field goals attempted per game played.
two_points_made_per_gamedoubleThe player's average two-point field goals made per game played.
two_points_attempted_per_gamedoubleThe player's average two-point field goals attempted per game played.
three_points_made_per_gamedoubleThe player's average three-point field goals made per game played.
three_points_attempted_per_gamedoubleThe player's average three-point field goals attempted per game played.
free_throws_made_per_gamedoubleThe player's average free throws made per game played.
free_throws_attempted_per_gamedoubleThe player's average free throws attempted per game played.
points_from_turnovers_per_gamedoubleThe player's average points from turnovers per game played.
fast_break_points_per_gamedoubleThe player's average fast-break points per game played.
second_chance_points_per_gamedoubleThe player's average second-chance points per game played.
points_in_the_paint_per_gamedoubleThe player's average points in the paint per game played.
steals_per_gamedoubleThe player's average steals per game played.
total_games_playedintegerThe player's total games played over the games played.
total_games_wonintegerThe player's total games won over the games played.
total_games_lostintegerThe player's total games lost over the games played.
total_reboundsintegerThe player's total rebounds over the games played.
total_rebounds_offensiveintegerThe player's total offensive rebounds over the games played.
total_rebounds_defensiveintegerThe player's total defensive rebounds over the games played.
total_blocksintegerThe player's total blocked shots over the games played.
total_turnoversintegerThe player's total turnovers over the games played.
total_foulsintegerThe player's total personal fouls over the games played.
total_assistsintegerThe player's total assists over the games played.
total_plus_minusintegerThe player's total plus/minus (point differential while on court) over the games played.
total_efficiencyintegerThe player's total efficiency (FIBA EFF) over the games played.
total_play_time_in_secondsintegerThe player's total playing time in seconds over the games played.
total_pointsintegerThe player's total points over the games played.
total_field_goals_madeintegerThe player's total field goals made over the games played.
total_field_goals_attemptedintegerThe player's total field goals attempted over the games played.
field_goals_percentagedoubleField-goal percentage, 0-100 (over the competition; full float precision in averages).
total_two_points_madeintegerThe player's total two-point field goals made over the games played.
total_two_points_attemptedintegerThe player's total two-point field goals attempted over the games played.
two_points_percentagedoubleTwo-point field-goal percentage, 0-100 (over the competition; full float precision in averages).
total_three_points_madeintegerThe player's total three-point field goals made over the games played.
total_three_points_attemptedintegerThe player's total three-point field goals attempted over the games played.
three_points_percentagedoubleThree-point field-goal percentage, 0-100 (over the competition; full float precision in averages).
total_free_throws_madeintegerThe player's total free throws made over the games played.
total_free_throws_attemptedintegerThe player's total free throws attempted over the games played.
free_throws_percentagedoubleFree-throw percentage, 0-100 (over the competition; full float precision in averages).
total_double_doublesintegerThe player's total double-doubles over the games played.
total_triple_doublesintegerThe player's total triple-doubles over the games played.
total_quadruple_doublesintegerThe player's total quadruple-doubles over the games played.
total_quintuple_doublesintegerThe player's total quintuple-doubles over the games played.
total_points_from_turnoversintegerThe player's total points from turnovers over the games played.
total_fast_break_pointsintegerThe player's total fast-break points over the games played.
total_second_chance_pointsintegerThe player's total second-chance points over the games played.
total_points_in_the_paintintegerThe player's total points in the paint over the games played.
total_stealsintegerThe player's total steals over the games played.
rank_points_per_gamedoubleRank in the competition by points per game (1 = highest).
rank_rebounds_per_gamedoubleRank in the competition by rebounds per game (1 = highest).
rank_assists_per_gamedoubleRank in the competition by assists per game (1 = highest).

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_player_stats(player_id = 211501, comp = 208182))
#> ── FIBA gdap_player_stats from fiba.basketball ───────────────── wehoop 3.1.0 ──
#> ℹ Data updated: 2026-10-22 02:35:42 UTC
#> # A tibble: 1 × 64
#>   player_id competition_id points_per_game rebounds_per_game
#>       <int>          <int>           <dbl>             <dbl>
#> 1    211501         208182             7.8               2.3
#> # ℹ 60 more variables: rebounds_offensive_per_game <dbl>,
#> #   rebounds_defensive_per_game <dbl>, assists_per_game <dbl>,
#> #   blocks_per_game <dbl>, turnovers_per_game <dbl>, fouls_per_game <dbl>,
#> #   plus_minus_per_game <dbl>, efficiency_per_game <dbl>,
#> #   play_time_in_seconds_per_game <dbl>, field_goals_made_per_game <dbl>,
#> #   field_goals_attempted_per_game <dbl>, two_points_made_per_game <dbl>,
#> #   two_points_attempted_per_game <dbl>, three_points_made_per_game <dbl>, …
# }