status Codecov test
coverage Dev
status Lifecycle:
experimental R build
status nflverse

nflreadr is a low-level package for downloading data from nflverse repositories. It includes caching, optional progress updates, and data dictionaries.


Install the stable version from CRAN with:


Install the development version from GitHub with:

install.packages("nflreadr", repos = "")

# or use remotes/devtools
# install.packages("remotes")


The main functions of nflreadr are prefixed with load_.

#> # 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 Sources

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:


The following options help configure default nflreadr behaviours.

options(nflreadr.cache) # one of "memory", "filesystem", or "off"
options(nflreadr.cache_warning) # FALSE to silence the reminder, which happens every eight hours or so.
options(nflreadr.prefer) # one of "qs" or "rds"

You can also configure nflreadr to display progress messages with the progressr package, e.g.

progressr::with_progress(load_rosters(seasons = 2010:2020))
 |========            |  40%

Getting help

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:

Terms of Use

The R code for this package is released as open source under the MIT License. NFL data accessed by this package belong to their respective owners, and are governed by their terms of use.

Try the nflreadr package in your browser

Any scripts or data that you put into this service are public.

nflreadr documentation built on Oct. 6, 2021, 1:10 a.m.