Skip to contents

Get season player stats, traditional (box-score totals or per-game averages) or advanced (eFG%, TS%, rebound / assist / turnover rates), one row per player.

Endpoint: GET https://api-live.euroleague.net/v3/competitions/{competition_code}/statistics/players/{mode}

Usage

euroleague_player_stats(
  competition_code,
  mode = c("traditional", "advanced"),
  season_mode = "Single",
  season_code = NULL,
  statistic_mode = "PerGame",
  limit = NULL,
  offset = NULL
)

Arguments

competition_code

(character required): E = EuroLeague, U = EuroCup (see euroleague_competitions()).

mode

(character default "traditional"): "traditional" or "advanced", matched exactly (no prefixes, as in sdv-py); the columns depend on it (see Returns).

season_mode

(character default "Single"): Season mode; Single as captured (other values unverified).

season_code

(character required by the API): Competition code + start year, e.g. E2025 for 2025-26 (the SeasonCode query parameter).

statistic_mode

(character default "PerGame"): PerGame as captured (other values unverified).

limit

(integer optional): Page size.

offset

(integer optional): Row offset into the full list.

Value

A hoopR_data tibble with one row per player. The columns depend on mode:

mode = "traditional"

col_nametypesdescription
player_rankingintegerRank of the player on the requested statistic mode.
games_playednumericGames played.
games_startednumericGames started.
minutes_playednumericMinutes played.
points_scorednumericPoints scored.
two_pointers_madenumericTwo-point field goals made.
two_pointers_attemptednumericTwo-point field goals attempted.
two_pointers_percentagecharacterTwo-point field-goal percentage, formatted.
three_pointers_madenumericThree-point field goals made.
three_pointers_attemptednumericThree-point field goals attempted.
three_pointers_percentagecharacterThree-point field-goal percentage, formatted.
free_throws_madenumericFree throws made.
free_throws_attemptednumericFree throws attempted.
free_throws_percentagecharacterFree-throw percentage, formatted.
offensive_reboundsnumericOffensive rebounds.
defensive_reboundsnumericDefensive rebounds.
total_reboundsnumericTotal rebounds.
assistsnumericAssists.
stealsnumericSteals.
turnoversnumericTurnovers.
blocksnumericBlocks made.
blocks_againstnumericShots blocked by the opponent.
fouls_commitednumericPersonal fouls committed.
fouls_drawnnumericFouls drawn.
pirnumericPerformance index rating (PIR).
player_codecharacterPlayer: euroLeague code of the entity (competition, season, club, person or venue; Utf8 join key).
player_namecharacterPlayer: display name.
player_ageintegerAge of the player in years.
player_image_urlcharacterPlayer: URL of the image.
player_team_codecharacterPlayer: euroLeague club code (Utf8 join key).
player_team_tv_codescharacterPlayer: three-letter broadcast abbreviation(s) of the club.
player_team_namecharacterPlayer: club display name.
player_team_image_urlcharacterPlayer: URL of the club crest image.

mode = "advanced"

col_nametypesdescription
player_rankingintegerRank of the player on the requested statistic mode.
games_playednumericGames played.
minutes_playednumericMinutes played.
effective_field_goal_percentagecharacterEffective field-goal percentage, formatted.
true_shooting_percentagecharacterTrue shooting percentage, formatted.
offensive_rebounds_percentagecharacterOffensive rebound percentage, formatted.
defensive_rebounds_percentagecharacterDefensive rebound percentage, formatted.
rebounds_percentagecharacterTotal rebound percentage, formatted.
assists_to_turnovers_rationumericAssist-to-turnover ratio.
assists_ratiocharacterAssist ratio (assists per 100 possessions used), formatted.
turnovers_ratiocharacterTurnover ratio (turnovers per 100 possessions used), formatted.
two_point_attempts_ratiocharacterShare of field-goal attempts that are two-pointers, formatted.
three_point_attempts_ratiocharacterShare of field-goal attempts that are three-pointers, formatted.
free_throws_ratecharacterFree-throw rate (free-throw attempts per field-goal attempt), formatted.
possesionsnumericPossessions (sic: the API spells it this way).
player_codecharacterPlayer: euroLeague code of the entity (competition, season, club, person or venue; Utf8 join key).
player_namecharacterPlayer: display name.
player_ageintegerAge of the player in years.
player_image_urlcharacterPlayer: URL of the image.
player_team_codecharacterPlayer: euroLeague club code (Utf8 join key).
player_team_tv_codescharacterPlayer: three-letter broadcast abbreviation(s) of the club.
player_team_namecharacterPlayer: club display name.
player_team_image_urlcharacterPlayer: URL of the club crest image.

Details

Unofficial, keyless API, not supported by Euroleague Basketball; hoopR only wraps it (wrap-only: payloads are not redistributed as release assets). This function mirrors its sdv-py twin of the same name: same arguments, defaults and snake_case columns, one row per sdv-py row.

A failed request raises a classed condition instead of returning an empty frame, mirroring sdv-py's error vocabulary: a 404 is hoopR_no_data, a 400 / 422 is hoopR_invalid_request, any other failure (another status, a transport error, a non-JSON body) is hoopR_fetch_error; all three inherit hoopR_error.

Examples

# \donttest{
  try({
    euroleague_player_stats(competition_code = "E", season_code = "E2025", limit = 25)
    euroleague_player_stats(competition_code = "E", season_code = "E2025", mode = "advanced")
  })
#> ── EuroLeague advanced player stats from api-live.euroleague.net ───────────────
#> ℹ Data updated: 2026-10-12 03:08:48 UTC
#> # A tibble: 100 × 23
#>    player_ranking games_played minutes_played effective_field_goal_percentage
#>             <int>        <dbl>          <dbl> <chr>                          
#>  1              1           27           6.23 47.1%                          
#>  2              2           26           5.11 50%                            
#>  3              3           26          10.1  44.5%                          
#>  4              4           31           8.59 43.7%                          
#>  5              5           25          10.8  30.2%                          
#>  6              6           40          10.7  38.8%                          
#>  7              7           36          14.3  49%                            
#>  8              8           31          16.4  51.7%                          
#>  9              9           29          10.6  60.3%                          
#> 10             10           24          16.4  47.9%                          
#> # ℹ 90 more rows
#> # ℹ 19 more variables: true_shooting_percentage <chr>,
#> #   offensive_rebounds_percentage <chr>, defensive_rebounds_percentage <chr>,
#> #   rebounds_percentage <chr>, assists_to_turnovers_ratio <dbl>,
#> #   assists_ratio <chr>, turnovers_ratio <chr>, two_point_attempts_ratio <chr>,
#> #   three_point_attempts_ratio <chr>, free_throws_rate <chr>, possesions <dbl>,
#> #   player_code <chr>, player_name <chr>, player_age <int>, …
# }