Skip to contents

Get a player's game-by-game log for a season from Basketball-Reference.

No API key is required. Basketball-Reference rate-limits aggressive scraping (~20 requests/minute) – space repeated calls with Sys.sleep().

Usage

bref_player_game_log(player_id, season = most_recent_nba_season())

Arguments

player_id

(character required): Basketball-Reference player id slug (e.g. jokicni01 for Nikola Jokić, jamesle01 for LeBron James). This is the id in the player's BREF URL (/players/j/jokicni01.html).

season

(integer required): Season, in 4-digit ending-year format (e.g. 2024). Defaults to most_recent_nba_season().

Value

A hoopR_data tibble with one row per regular-season game (column names are Basketball-Reference data-stat keys):

col_nametypesdescription
rankerintegerSeason game number.
player_game_num_careerintegerCareer game number.
datecharacterGame date.
teamcharacterTeam abbreviation.
locationcharacter@ for away games, empty for home.
oppcharacterOpponent abbreviation.
resultcharacterResult with final score (e.g. W (+12)).
is_starterinteger1 if the player started.
mpcharacterMinutes played.
ptsnumericPoints.
trbnumericTotal rebounds.
astnumericAssists.
game_scorenumericHollinger game score.
plus_minusnumericPlus/minus.
player_idcharacterPlayer id (echoes the player_id argument).
seasonintegerSeason (echoes the season argument).

Full shooting / box columns (fg, fga, fg_pct, fg3, ft, orb, drb, stl, blk, tov, pf, ...) are also returned.

Examples

if (FALSE) { # interactive()
# \donttest{
  try(bref_player_game_log(player_id = "jokicni01", season = 2024))
# }
}