Skip to contents

Details

Get player season passing production

  cfbd_passing_players_season(year = 2025, team = "Texas")

Get player game passing production

  cfbd_passing_players_games(year = 2025, week = 5)

Get team season passing production

  cfbd_passing_teams_season(year = 2025, team = "Texas")

Get team game passing production

  cfbd_passing_teams_games(year = 2025, week = 5)

Get individual passing plays

  cfbd_passing_plays(year = 2025, week = 1, team = "Texas")

The passing production block

Every passing endpoint below shares one 23-column production block. It is documented once here rather than repeated in each returns table, because the team endpoints carry it sixteen times over (see Location splits).

col_nametypedescription
attemptsintegerPass attempts.
completionsintegerCompleted passes.
incompletionsintegerIncomplete passes.
interceptionsintegerPasses intercepted.
completion_ratedoubleCompletions divided by attempts (proportion 0-1).
air_yards_attempts_availableintegerAttempts for which air yards were parsed (the denominator for air-yard means).
total_air_yardsintegerSum of air yards over air_yards_attempts_available attempts.
average_depth_of_targetdoubleMean air yards per attempt (aDOT).
total_yards_attempts_availableintegerAttempts for which total yards were parsed.
total_yardsintegerSum of passing yards over those attempts.
yards_after_catch_attempts_availableintegerAttempts for which yards after catch were parsed.
total_yards_after_catchintegerSum of yards after catch over those attempts.
average_yards_after_catchdoubleMean yards after catch per completion.
success_ratedoubleSuccessful attempts divided by success_attempts_available (proportion 0-1).
ppadoublePredicted points added per attempt.
total_ppadoubleSum of predicted points added.
explosivenessdoubleMean PPA on successful attempts.
ppa_attempts_availableintegerAttempts carrying a PPA value (the denominator for ppa).
success_attempts_availableintegerAttempts eligible for the success calculation.
successful_attemptsintegerAttempts meeting the success threshold.
successful_ppa_attempts_availableintegerSuccessful attempts carrying a PPA value (the denominator for explosiveness).
location_eligible_attemptsintegerAttempts eligible for a location split.
location_available_attemptsintegerAttempts for which a location was actually parsed.

The *_available counts are denominators, not statistics. CFBD parses these fields out of play text, so an attempt can be counted while its air yards, YAC or location stay unknown. Dividing by attempts instead of the matching *_available column understates every mean.

Location splits

Each of seven pass locations carries 23 columns, prefixed locations_<bucket>_ (e.g. locations_short_left_attempts): the production block without its two location_* counts, plus yards_per_attempt and air_yards_per_attempt. The buckets are:

  • short_left, short_middle, short_right

  • deep_left, deep_middle, deep_right

  • unknown – location could not be parsed from the play text

Each bucket's columns:

col_nametypedescription
attemptsintegerPass attempts.
completionsintegerCompleted passes.
incompletionsintegerIncomplete passes.
interceptionsintegerPasses intercepted.
completion_ratedoubleCompletions divided by attempts (proportion 0-1).
air_yards_attempts_availableintegerAttempts for which air yards were parsed (the denominator for air-yard means).
total_air_yardsintegerSum of air yards over air_yards_attempts_available attempts.
average_depth_of_targetdoubleMean air yards per attempt (aDOT).
total_yards_attempts_availableintegerAttempts for which total yards were parsed.
total_yardsintegerSum of passing yards over those attempts.
yards_after_catch_attempts_availableintegerAttempts for which yards after catch were parsed.
total_yards_after_catchintegerSum of yards after catch over those attempts.
average_yards_after_catchdoubleMean yards after catch per completion.
success_ratedoubleSuccessful attempts divided by success_attempts_available (proportion 0-1).
ppadoublePredicted points added per attempt.
total_ppadoubleSum of predicted points added.
explosivenessdoubleMean PPA on successful attempts.
ppa_attempts_availableintegerAttempts carrying a PPA value (the denominator for ppa).
success_attempts_availableintegerAttempts eligible for the success calculation.
successful_attemptsintegerAttempts meeting the success threshold.
successful_ppa_attempts_availableintegerSuccessful attempts carrying a PPA value (the denominator for explosiveness).
yards_per_attemptdoublePassing yards per attempt: total_yards divided by total_yards_attempts_available, to one decimal; NA when no attempt has total yards.
air_yards_per_attemptdoubleAir yards per attempt: total_air_yards divided by air_yards_attempts_available, to one decimal. The same value as average_depth_of_target; NA when no attempt has air yards.

All seven buckets are always present, including empty ones. So a player frame is 5 identity columns + 23 production + 7 x 23 location = 189 columns, and a team frame doubles the production and location blocks across offense_ and defense_ for 371.

Season coverage

These endpoints are 2025 onward. Earlier seasons answer HTTP 200 with an empty array rather than an error, so a request for 2024 returns an empty data frame, not a failure.