Load a dataframe of player-level information, including IDs and other mostly-immutable data (birthdates, college, draft position etc.)
Usage
load_players(file_type = getOption("nflreadr.prefer", default = "rds"))
See also
Issues with this data should be filed here: https://github.com/nflverse/nflreadr and it will be triaged appropriately.
Examples
# \donttest{
try({ # prevents cran errors
load_players()
})
#> ── nflverse players ────────────────────────────────────────────────────────────
#> ℹ Data updated: 2025-06-01 02:15:12 UTC
#> # A tibble: 21,421 × 32
#> first_name last_name position esb_id gsis_id display_name rookie_year
#> <chr> <chr> <chr> <chr> <chr> <chr> <int>
#> 1 'Omar Ellison WR ELL711319 00-0004866 'Omar Ellison NA
#> 2 A'Shawn Robinson DE ROB367960 00-0032889 A'Shawn Robin… 2016
#> 3 A.J. Arcuri T ARC716900 00-0037845 A.J. Arcuri 2022
#> 4 A.J. Barner TE BAR235889 00-0039793 A.J. Barner 2024
#> 5 Arlandus Bouye CB BOU651714 00-0030228 A.J. Bouye 2013
#> 6 Arthur Brown WR BRO413223 00-0035676 A.J. Brown 2019
#> 7 Aaron Cann G CAN364949 00-0032255 A.J. Cann 2015
#> 8 A.J. Cole P COL214396 00-0035190 A.J. Cole 2019
#> 9 A.J. Cruz WR CRU779150 00-0032270 A.J. Cruz NA
#> 10 A.J. Dalton T DAL649400 00-0031108 A.J. Dalton NA
#> # ℹ 21,411 more rows
#> # ℹ 25 more variables: college_conference <chr>, current_team_id <chr>,
#> # draft_club <chr>, draft_number <int>, draftround <int>, entry_year <int>,
#> # football_name <chr>, gsis_it_id <int>, headshot <chr>, jersey_number <int>,
#> # position_group <chr>, short_name <chr>, smart_id <chr>, status <chr>,
#> # status_description_abbr <chr>, status_short_description <chr>,
#> # team_abbr <chr>, uniform_number <chr>, height <dbl>, weight <int>, …
# }