Skip to contents

A player's bio and per-game averages with ranks at a competition.

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

Usage

fiba_gdap_player_info(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.
competition_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.
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>.
first_namecharacterGiven name(s) as registered with FIBA.
last_namecharacterLast name (officials: upper case).
height_cmintegerHeight in centimetres.
height_ft_incharacterHeight, feet and inches string.
club_namecharacterClub at the time of the competition.
club_codecharacterClub abbreviation; always null in the samples, values unverified.
is_player_free_agentlogicalTrue when the player had no club.
points_per_gamedoubleThe player's average points per game played.
rank_points_per_gamedoubleRank in the competition by points per game (1 = highest).
rebounds_per_gamedoubleThe player's average rebounds per game played.
rank_rebounds_per_gamedoubleRank in the competition by rebounds per game (1 = highest).
assists_per_gamedoubleThe player's average assists per game played.
rank_assists_per_gamedoubleRank in the competition by assists per game (1 = highest).
points_per_game_per_competition_categorydoubleAverage points per game across the competition category, the comparison baseline (unverified).
rebounds_per_game_per_competition_categorydoubleAverage rebounds per game across the competition category, the comparison baseline (unverified).
assists_per_game_per_competition_categorydoubleAverage assists per game across the competition category, the comparison baseline (unverified).
birth_datecharacterDate of birth, YYYY-MM-DD.
nationalitiescharacterNationalities (FIBA codes on player info; country objects on rosters and officials). Stored as a JSON string.
social_media_websitecharacterWebsite URL; always null in the samples, values unverified.
social_media_twittercharacterX/Twitter handle; always null in the samples, values unverified.
social_media_facebookcharacterFacebook handle or URL; always null in the samples, values unverified.
social_media_instagramcharacterInstagram handle; always null in the samples, values unverified.
social_media_youtubecharacterYouTube handle; always null in the samples, values unverified.
social_networkscharacterSocial-network handles. 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.

 fiba_gdap_player_info(player_id = 211501, comp = 208182)