nflreadr is a minimal package for downloading data from nflverse repositories. It includes caching, optional progress updates, and data dictionaries.
For Python access to nflverse data, please check out nfl-data-py - maintained by Cooper Adams.
Install the stable version from CRAN with:
Install the development version from GitHub with:
install.packages("nflreadr", repos = "https://nflverse.r-universe.dev") # or use remotes/devtools # install.packages("remotes") remotes::install_github("nflverse/nflreadr")
The main functions of
nflreadr are prefixed with
library(nflreadr) load_pbp(2020) #> # A tibble: 48,514 x 372 #> play_id game_id old_game_id home_team away_team season_type week posteam #> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <chr> #> 1 1 2020_01_AR~ 2020091311 SF ARI REG 1 <NA> #> 2 39 2020_01_AR~ 2020091311 SF ARI REG 1 SF #> 3 54 2020_01_AR~ 2020091311 SF ARI REG 1 SF #> 4 93 2020_01_AR~ 2020091311 SF ARI REG 1 SF #> 5 118 2020_01_AR~ 2020091311 SF ARI REG 1 SF #> 6 143 2020_01_AR~ 2020091311 SF ARI REG 1 SF #> 7 165 2020_01_AR~ 2020091311 SF ARI REG 1 SF #> 8 197 2020_01_AR~ 2020091311 SF ARI REG 1 SF #> 9 226 2020_01_AR~ 2020091311 SF ARI REG 1 ARI #> 10 245 2020_01_AR~ 2020091311 SF ARI REG 1 ARI #> # ... with 48,504 more rows, and 364 more variables: posteam_type <chr>, #> # defteam <chr>, side_of_field <chr>, yardline_100 <dbl>, game_date <chr>, #> # quarter_seconds_remaining <dbl>, half_seconds_remaining <dbl>, #> # game_seconds_remaining <dbl>, game_half <chr>, quarter_end <dbl>, #> # drive <dbl>, sp <dbl>, qtr <dbl>, down <dbl>, goal_to_go <dbl>, time <chr>, #> # yrdln <chr>, ydstogo <dbl>, ydsnet <dbl>, desc <chr>, ...
Data accessed by this package is stored on GitHub and can typically be found in one of the following repositories:
For a full list of functions, please see the reference page.
This data is maintained by the nflverse project team and is primarily automated via GitHub Actions. You can check the status and schedules page here: https://github.com/nflverse/status
The following options help configure default
You can also configure
nflreadr to display progress messages with the
progressr package, e.g.
The best places to get help on this package are:
Many hands make light work! Here are some ways you can contribute to this project: