Skip to contents

Get the box score of one game from the live API: one row per player plus each side's team-only and totals rows, with by-quarter scores, referees and attendance repeated on every row.

Endpoint: GET https://live.euroleague.net/api/Boxscore?gamecode={game_code}&seasoncode={season_code}

Stats holds one object per side (Team, Coach, PlayersStats, tmr = team-only rebounds, totr = totals). Each side's players become rows tagged row_type = "player", followed by the side's "team" and "total" rows. Every row also carries the game's attendance and referees and, for the row's side, team_name, coach, the points scored per quarter (by_quarter_q1 ...) and the cumulative score at the end of each quarter (end_of_quarter_q1 ...).

Usage

euroleague_game_boxscore(game_code, season_code)

Arguments

game_code

(integer required): Game number within the season (1-based; the game_code column of euroleague_games()).

season_code

(character required): Competition code + start year: E2025 (EuroLeague 2025-26), U2025 (EuroCup).

Value

A hoopR_data tibble with one row per player plus two per side:

col_nametypesdescription
row_typecharacterRow kind: player, team (team-only rebounds) or total (side totals).
team_namecharacterClub display name.
coachcharacterHead coach name.
attendancecharacterAttendance, as reported by the box score (repeated on every row).
refereescharacterReferees of the game, comma-separated SURNAME, GIVEN NAME (repeated on every row).
by_quarter_q1integerPoints the row's team scored in quarter 1 (from the box score's ByQuarter block).
by_quarter_q2integerPoints the row's team scored in quarter 2 (from the box score's ByQuarter block).
by_quarter_q3integerPoints the row's team scored in quarter 3 (from the box score's ByQuarter block).
by_quarter_q4integerPoints the row's team scored in quarter 4 (from the box score's ByQuarter block).
end_of_quarter_q1integerScore of the row's team at the end of quarter 1 (cumulative; from the box score's EndOfQuarter block).
end_of_quarter_q2integerScore of the row's team at the end of quarter 2 (cumulative; from the box score's EndOfQuarter block).
end_of_quarter_q3integerScore of the row's team at the end of quarter 3 (cumulative; from the box score's EndOfQuarter block).
end_of_quarter_q4integerScore of the row's team at the end of quarter 4 (cumulative; from the box score's EndOfQuarter block).
player_idcharacterEuroLeague player code (Utf8 join key; space padding stripped; blank on team rows).
is_starterintegerWhether the player started (1 / 0).
is_playingintegerWhether the player appeared in the game (1 / 0).
teamcharacterEuroLeague club code of the team (Utf8 join key; space padding stripped).
dorsalcharacterJersey number as displayed.
playercharacterPlayer display name (SURNAME, GIVEN NAME).
minutescharacterMinutes played (mm:ss).
pointsintegerPoints.
field_goals_made2integerTwo-point field goals made.
field_goals_attempted2integerTwo-point field goals attempted.
field_goals_made3integerThree-point field goals made.
field_goals_attempted3integerThree-point field goals attempted.
free_throws_madeintegerFree throws made.
free_throws_attemptedintegerFree throws attempted.
offensive_reboundsintegerOffensive rebounds.
defensive_reboundsintegerDefensive rebounds.
total_reboundsintegerTotal rebounds.
assistancesintegerAssists.
stealsintegerSteals.
turnoversintegerTurnovers.
blocks_favourintegerBlocks made.
blocks_againstintegerShots blocked by the opponent.
fouls_commitedintegerPersonal fouls committed.
fouls_receivedintegerFouls drawn.
valuationintegerPerformance index rating (PIR).
plusminusnumericPlus/minus.

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.

The live API's codes are space-padded fixed-width strings (TEAM = "IST "); every string cell is stripped. Its "no such game" answer is an empty 200 body, returned as a zero-row tibble with the documented columns (not an error). A 404 raises hoopR_no_data, a 400 / 422 hoopR_invalid_request, any other failure hoopR_fetch_error (all inherit hoopR_error).

Examples

# \donttest{
  try({
    box <- euroleague_game_boxscore(game_code = 1, season_code = "E2025")
    box[box$row_type == "player", c("team", "player", "minutes", "points", "valuation")]
  })
#> ── EuroLeague game box score from live.euroleague.net ────── hoopR 3.1.0.9000 ──
#> ℹ Data updated: 2026-10-12 03:08:44 UTC
#> # A tibble: 24 × 5
#>    team  player                minutes points valuation
#>    <chr> <chr>                 <chr>    <int>     <int>
#>  1 IST   LARKIN, SHANE         33:21       14        12
#>  2 IST   BEAUBOIS, RODRIGUE    DNP          0         0
#>  3 IST   HAZER, SEHMUS         07:41        0        -4
#>  4 IST   LOYD, JORDAN          24:15       16        15
#>  5 IST   WEILER-BABB, NICK     22:53       12        19
#>  6 IST   PAPAGIANNIS, GEORGIOS 13:20        2         9
#>  7 IST   CORDINIER, ISAIA      30:50        7         3
#>  8 IST   SMITS, ROLANDS        15:50       16        17
#>  9 IST   SWIDER, COLE          01:47        0        -1
#> 10 IST   OSMANI, ERCAN         31:41       12        11
#> # ℹ 14 more rows
# }