Skip to contents

cfbfastR v2.0.0

CRAN release: 2025-09-09

Breaking Changes to Loading Functions

  • All load_cfb_*() functions now use sportsdataverse-data releases or the CollegeFootballData.com API as their underlying data source to remain in compliance with CFBD API terms and conditions (See Note below).
  • Updated load_cfb_pbp() dataset to include various team- and game-level ID’s and flags that were not being included, like home_team_id, away_team_id, season_type, venue_id, some drive_* columns, a half-dozen player stat columns, etc. Essentially, all the leg-work users have undoubtedly had to do while using these datasets is mostly just included now. The downside: this means end users need to check their pipelines which build off these datasets to ensure behavior is as expected and all your joins are doing what is intended.

Now upgraded to the CFBD v2 API

Special thanks are in order for our newest contributor, Brad Hill (@bradisbrad) for providing most of the v2 upgrade via his first PR to cfbfastR!! 🙌🏽 👑 🥇 Your contributions are most appreciated by the community.

Note: The free-tier API key for the CFBD v2 API has a strict 1k calls/month limit, so plan your workflows accordingly! If you receive errors mentioning r Request failed [429], you have most likely run out of API calls for the month in your membership tier.

cfbfastR v1.9.5

  • fixed breaking bug related to stringi v1.8 update in cfbd_play_pbp_data() EPA and WPA processing
  • Minor documentation and test updates

cfbfastR v1.9.4

cfbfastR v1.9.3

cfbfastR v1.9.2

cfbfastR v1.9.1

  • Improved drive_pts logic in play-by-play data.
  • Fixed an issue that occasionally made the cfbd_game_team_stats() function return data in a long format
  • Minor documentation and test updates

cfbfastR v1.9.0

CRAN release: 2022-06-13

Added functions to access ESPN API:
Added functions to pull data from the data repo:

cfbfastR v1.8.0

  • All functions now default to return tibbles.
  • Added S3 method to print outputs with data info and retrieval timestamps. Thank you to Tan Ho (@tanho36) for the idea.

cfbfastR v1.7.1

cfbfastR v1.7.0

cfbfastR v1.6.7

cfbfastR v1.6.6

  • Updated function cfbd_pbp_data() to account for additional timeout cases (namely, kickoffs/extra point attempts).

cfbfastR v1.6.5

cfbfastR v1.6.4

CRAN release: 2021-10-27

  • Changed options to revert to old options on exit of function.
  • Removed check_github functions.

cfbfastR v1.6.3

  • Switched package urls in DESCRIPTION again.

cfbfastR v1.6.2

  • Switched package urls in README and DESCRIPTION files to https://

cfbfastR v1.6.1

  • Removed source urls from many package documentation entries.
  • Updated a test to skip on CRAN

cfbfastR v1.6.0

  • Added cfbd_ratings_elo() function
  • Fixed a bug in update_cfb_db() where the function failed when trying to load recent games from the data repo. (#35)
  • Added the option cfbfastR.dbdirectory that allows to set the database directory in update_cfb_db() globally.

cfbfastR v1.5.2

  • Remove verbose parameter

cfbfastR v1.5.1

Minor release
  • Removed calculated columns from cfbd_stats_season_team() that were not behaving correctly
  • Fixed bug where only_fbs input in cfbd_team_info() was ignored. It is now possible to get the team info for all the colleges in the API instead of only FBS schools.
  • Removed default year from cfbd_metrics_ppa_teams. cfbd_metrics_ppa_teams and cfbd_metrics_ppa_players_season now require one of team or year to be specified

cfbfastR v1.5.0

cfbfastR v1.4.0

cfbfastR v1.3.3

cfbfastR v1.3.2

Added ID linking to cfbd_recruiting_players()

cfbfastR v1.3.0-1

Added three NFL draft functions:

cfbfastR v1.2.1

Minor release
  • Added headshot_url to outputs of cfbd_team_roster()

  • Renamed returns in cfbd_game_box_advanced():

    • rushing_line_yd_avg to plural rushing_line_yds_avg
    • rushing_second_lvl_yd_avg to plural rushing_second_lvl_yds_avg
    • rushing_open_field_yd_avg to plural rushing_open_field_yds_avg
  • Completed documentation for all returns except cfbd_pbp_data()

  • Continued work on intro vignette

cfbfastR v1.2.0-1

Add significant documentation to the package
ESPN/CFBD metrics function variable return standardization

cfbfastR v1.1.0

Add loading from Data Repository functionality
Add support for parallel processing and progress updates
  • Added furrr, future, and progressr dependencies to the package to allow for parallel processing of the play-by-play data with progress updates if desired.

cfbfastR v1.0.0

Function Naming Convention Change
  • All functions sourced from the College Football Data API will start with cfbd_ as opposed to cfb_ (as in cfbscrapR). One additional cfbd_ function has been added that corresponds to the result when cfbd_pbp_data() has the parameter epa_wpa=FALSE. It has now been separated into its own function for clarity cfbd_plays(). The parameter and functionality still exists in cfbd_pbp_data() but we expect this function will still exist but made obsolete in favor of a function more closely matching nflfastR’s naming conventions.

  • Similarly, data and metrics sourced from ESPN will begin with espn_ as opposed to cfb_. In particular, the two functions are now espn_ratings_fpi() and espn_metrics_wp()

  • Data generated from any of the cfbfastR methods will use cfb_

College Football Data API Keys

The CollegeFootballData API now requires an API key, here’s a quick run-down:

CFBD_API_KEY = XXXX-YOUR-API-KEY-HERE-XXXXX

Save the script and restart your RStudio session, by clicking Session (in between Plots and Build) and click Restart R (n.b. there also exists the shortcut Ctrl + Shift + F10 to restart your session). If set correctly, from then on you should be able to use any of the cfbd_ functions without any other changes.

  • For less consistent usage: At the beginning of every session or within an R environment, save your API key as the environment variable CFBD_API_KEY (with quotations) using a command like the following.

{r} Sys.setenv(CFBD_API_KEY = "XXXX-YOUR-API-KEY-HERE-XXXXX")

  • Added API Key methods. If you forget to set your environment variable, functions will give you a warning and ask for one.