Player season statistics in long form (one row per player, table and statistic); ids decoded from the widget links.
Endpoint: GET https://embed-api.eui.connect.sportradar.com/v1/embed/{website_id}/statistics_persons
Each body holds several tables (averages, shootingstatistics, totals, ...)
whose statistic set the site configures. stat_key (pointsPerGame) carries its
numeric value or, for ISO durations, value_text; pivot on stat_key for a wide
table. Percentages are 0-100.
Usage
atrium_player_stats(
website_id,
season = NULL,
season_id = NULL,
competition_id = NULL,
locale = NULL
)Arguments
- website_id
(integer required): Site config id: which league site's widget this is (12 LNB France, 14 LNBP Mexico, 3 NBL1 Australia, 13 El Salvador, 22 Panama, 236 Austria, 326 Montenegro). Not a league id: one site serves several competitions.
- season
(integer optional): Season END year (2026 = 2025-26 on LNB, site 12, whose own year is the START year; the calendar year on the other sites). Needs
competition_idwhen several competitions share that year (seeatrium_seasons()). Omitseasonandseason_idfor the site's default season.- season_id
(character optional): Season UUID (
season_idinatrium_seasons()); sent as is, skipping the END-year lookup ofseason.- competition_id
(character optional): Competition UUID (
competition_idinatrium_seasons()). Picks the season together withseason, and is then not sent; with neitherseasonnorseason_idthe API filters by it.- locale
(character optional): Locale of the labels, e.g.
"en-EN"or"fr-FR". Omitted = the site's own language. Ids and codes never change.
Value
A hoopR_data tibble, one row per (table_key, person_id, stat_key):
| col_name | type | description |
| website_id | integer | Site config id the body came from (12 LNB, 14 LNBP, 3 NBL1, 13 El Salvador, 22 Panama, 236 Austria, 326 Montenegro), read from the body's links.self. |
| season_id | character | Season UUID of the table; null for the competition-scoped routes (their bodies carry none). |
| table_key | character | Statistics table the row is from: averages, shootingstatistics, totals, ... (the set is per site). |
| table_label | character | The table's heading in the site's language (e.g. Moyennes). |
| person_id | character | Player UUID decoded from the widget link beside the name (the tables carry names only); null when the link is missing or undecodable, and always null in team and competition bodies. |
| person_name | character | Player name as the site prints it; null in team tables. |
| entity_id | character | Team UUID decoded from the widget link (team tables only; player tables name the team but carry no id). |
| entity_name | character | Team name as the site prints it; for player rows of a stat table it is the player's team. |
| stat_key | character | Statistic key as the API names it (pointsPerGame, fieldGoalsMade, ...), unchanged from header key. |
| stat_name | character | Short column heading the site shows for the statistic (PTS, REB), in the site's language. |
| stat_label | character | Longer statistic label the site shows (code in the API), in the site's language. |
| value | double | Numeric value of the statistic; null when the API sends a duration or text (see value_text). |
| value_text | character | Non-numeric statistic value, e.g. an ISO 8601 duration such as PT12M2S for minutes per game. |
Details
Source, terms of use, request pacing, seasons, ids, coverage and error classes of this family: see the notes in atrium_fixtures().
See also
Other Atrium Functions:
atrium_box_score(),
atrium_competition_player_stats(),
atrium_competition_team_stats(),
atrium_end_year(),
atrium_fixture(),
atrium_fixture_periods(),
atrium_fixtures(),
atrium_fixtures_ribbon(),
atrium_leaders(),
atrium_pbp(),
atrium_player(),
atrium_player_game_log(),
atrium_player_seasons(),
atrium_players(),
atrium_season_id(),
atrium_seasons(),
atrium_shots(),
atrium_standings(),
atrium_standings_summary(),
atrium_team(),
atrium_team_box_score(),
atrium_team_stats(),
atrium_teams(),
lmb_competition,
lnb_competition,
lnbp_competition,
lpb_competition,
nbl1_competition
Examples
# \donttest{
try(atrium_player_stats(
website_id = 12, season = 2026, competition_id = "3f4064bb-51ad-11f0-aaaf-2923c944b404"
))
#> ── Atrium player stats from embed-api.eui.connect.sportradar.com ───────────────
#> ℹ Data updated: 2026-10-31 21:27:06 UTC
#> # A tibble: 10,212 × 13
#> website_id season_id table_key table_label person_id person_name entity_id
#> <int> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 2 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 3 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 4 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 5 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 6 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 7 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 8 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 9 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> 10 12 df310a05-51… averages Moyennes 01173036… Ismael Bako NA
#> # ℹ 10,202 more rows
#> # ℹ 6 more variables: entity_name <chr>, stat_key <chr>, stat_name <chr>,
#> # stat_label <chr>, value <dbl>, value_text <chr>
# }
