Skip to contents

Player biography: birth, nationality, height, current team and social links.

One row. birth_date is a date (the API sends DD-MM-YYYY); height_m is metres (the API sends '2,20', a decimal comma); birth_country / nationality are Spanish with ISO alpha-2 in *_iso; licensing is the licence code as sent (for example EUR or JFL; meanings unverified). The current team columns are the player's team entry for the edition.

Endpoint: GET https://api2.acb.com/api/seasondata/PlayerProfile/player-data

Usage

acb_player_data(player_id)

Arguments

player_id

(required) ACB licence number (integer): the person id everywhere (box score, play-by-play, shots, rosters). 20209407 = Edy Tavares, 20212243 = Olek Balcerowski. A whole number; a whole double is accepted.

Value

A hoopR_data tibble, one row per record described above; the columns are always these, in this order (sportsdataverse-py acb_player_data):

col_nametypedescription
player_idintegerACB licence number of the player.
player_namecharacterDisplay (sporting) name ('Edy Tavares')
first_namecharacterLegal first name(s)
last_namecharacterLegal last name(s)
shirt_numbercharacterShirt number, a string (” or null when unknown)
game_rolecharacterPosition or staff role, in Spanish: Base (point guard), Escolta (shooting guard), Alero (small forward), Ala-pivot (power forward), Pivot (centre); Entrenador (head coach), Segundo Entrenador / Entrenador Ayudante (assistant coach). Null or ” in many rows
is_license_activelogicalTrue when the licence is active in the current season.
licensingcharacterLicence code (for example EUR, JFL); meaning unverified.
birth_dateDateBirth date (the API sends DD-MM-YYYY).
birth_placecharacterBirth place (town or city) as sent.
birth_countrycharacterBirth country as sent, a Spanish name.
birth_country_isocharacterISO 3166-1 alpha-2 code of the birth country; null for an unseen name.
nationalitycharacterNationality as sent, a Spanish country name.
nationality_isocharacterISO 3166-1 alpha-2 code of nationality; null for an unseen name.
height_mdoubleHeight in metres (the API sends '2,20', a decimal comma).
player_numberintegerCurrent shirt number (integer).
team_idintegerCurrent team's season-team entry id.
club_idintegerCurrent team's stable club id.
teamcharacterCurrent team name for the edition.
team_abbrcharacterCurrent team abbreviation.
edition_idintegerSeason id the player record was read for (START year - 1935).
seasonintegerSeason END year (2027 = 2026-27) = edition_id + 1936: the key the wrappers take.
instagramcharacterInstagram handle; null when none.
twittercharacterX / Twitter handle; null when none.
facebookcharacterFacebook handle; null when none.
youtubecharacterYouTube handle; null when none.
tiktokcharacterTikTok handle; null when none.
pronunciation_urlcharacterURL of an audio clip of the name; null when none.

Details

Source, terms of use, request pacing, seasons, ids, coverage and error classes of this family: see the notes in acb_match_header().

Examples

# \donttest{
  try(acb_player_data(player_id = 20209407))
#> ── ACB Player Data from api2.acb.com ──────────────────────────── hoopR 3.2.0 ──
#> ℹ Data updated: 2026-10-31 21:26:36 UTC
#> # A tibble: 1 × 28
#>   player_id player_name first_name last_name shirt_number game_role
#>       <int> <chr>       <chr>      <chr>     <chr>        <chr>    
#> 1  20209407 Edy Tavares Walter     Tavares   22           Pívot    
#> # ℹ 22 more variables: is_license_active <lgl>, licensing <chr>,
#> #   birth_date <date>, birth_place <chr>, birth_country <chr>,
#> #   birth_country_iso <chr>, nationality <chr>, nationality_iso <chr>,
#> #   height_m <dbl>, player_number <int>, team_id <int>, club_id <int>,
#> #   team <chr>, team_abbr <chr>, edition_id <int>, season <int>,
#> #   instagram <chr>, twitter <chr>, facebook <chr>, youtube <chr>,
#> #   tiktok <chr>, pronunciation_url <chr>
# }