Skip to main content
Version: 0.1.5

NFL — nflpro — Team

nfl_pro_team_offense_overview_season​

GET /api/secured/stats/team-offense/overview/season — one row per team for the season — team offensive overview incl. EPA per play, pass and rush splits.

Endpoint URL: GET https://pro.nfl.com/api/secured/stats/team-offense/overview/season

Valid URL: https://pro.nfl.com/api/secured/stats/team-offense/overview/season?season=2024&seasonType=REG&limit=500

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason, as the STARTING year (2024 = the 2024-25 NFL season).
seasonTypeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.
limitlimitYPage size. Responses truncate silently at this many rows; the getter pages on offset until it has them all.
offsetoffsetYZero-based row offset. The getter pages on this automatically; set it only to fetch a specific slice.
sortKeysort_keyYField name to sort by, e.g. epa.
sortValuesort_valueYSort direction: ASC or DESC.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_idcharacterNFL team id as a zero-padded string (e.g. '0200'); casting it to a number drops the leading zero.
gpintegerGames played in the season (and season type); the denominator of every per-game column.
totalintegerOffensive plays, season total (pass + run).
passintegerPass plays, season total.
runintegerRun plays, season total.
pass_pctdoubleShare of plays that were passes (pass / total).
ppgdoublePoints per game.
ydsintegerYards from scrimmage, season total (pass_yds + rush_yds).
ypgdoubleYards per game (yds / gp).
yppdoubleYards per play (yds / total).
tdintegerTouchdowns, season total.
epadoubleTotal expected points added over all plays (epa_pass + epa_rush).
epa_ppdoubleExpected points added per play (epa / total).
pass_ydsintegerNet passing yards, season total.
pass_ypgdoublePassing yards per game (pass_yds / gp).
pass_yppdoublePassing yards per pass play (pass_yds / pass).
sacked_ydsintegerYards lost to sacks, season total.
sacked_ypgdoubleSack yards lost per game (sacked_yds / gp).
epa_passdoubleTotal expected points added on pass plays.
epa_pass_ppdoubleExpected points added per pass play (epa_pass / pass).
rush_ydsintegerRushing yards, season total.
rush_ypgdoubleRushing yards per game (rush_yds / gp).
rush_yppdoubleRushing yards per run play (rush_yds / run).
epa_rushdoubleTotal expected points added on run plays.
epa_rush_ppdoubleExpected points added per run play (epa_rush / run).
ryoedoubleRushing yards over expected, season total, per Next Gen Stats.
tttdoubleAverage time to throw in seconds on pass plays, per Next Gen Stats.
qbpintegerQuarterback pressures on pass plays, season total.
qbp_pctdoublePressure rate: share of pass plays with a quarterback pressure.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nfl_pro_team_offense_overview_season(season=2024, season_type='REG')

Last validated n/a.

nfl_pro_team_offense_overview_week​

GET /api/secured/stats/team-offense/overview/week — one row per team per week — team offensive overview incl. EPA per play, pass and rush splits.

Endpoint URL: GET https://pro.nfl.com/api/secured/stats/team-offense/overview/week

Valid URL: https://pro.nfl.com/api/secured/stats/team-offense/overview/week?season=2024&seasonType=REG&limit=500

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason, as the STARTING year (2024 = the 2024-25 NFL season).
seasonTypeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.
limitlimitYPage size. Responses truncate silently at this many rows; the getter pages on offset until it has them all.
offsetoffsetYZero-based row offset. The getter pages on this automatically; set it only to fetch a specific slice.
sortKeysort_keyYField name to sort by, e.g. epa.
sortValuesort_valueYSort direction: ASC or DESC.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_idcharacterNFL team id as a zero-padded string (e.g. '0200'); casting it to a number drops the leading zero.
gpintegerGames played in the season (and season type); the denominator of every per-game column.
totalintegerOffensive plays in the game (pass + run).
passintegerPass plays in the game.
runintegerRun plays in the game.
pass_pctdoubleShare of plays that were passes (pass / total).
ppgintegerPoints per game.
ydsintegerYards from scrimmage in the game (pass_yds + rush_yds).
ypgintegerYards per game (yds / gp).
yppdoubleYards per play (yds / total).
tdintegerTouchdowns in the game.
epadoubleTotal expected points added over all plays (epa_pass + epa_rush).
epa_ppdoubleExpected points added per play (epa / total).
pass_ydsintegerNet passing yards in the game.
pass_ypgintegerPassing yards per game (pass_yds / gp).
pass_yppdoublePassing yards per pass play (pass_yds / pass).
sacked_ydsintegerYards lost to sacks in the game.
sacked_ypgintegerSack yards lost per game (sacked_yds / gp).
epa_passdoubleTotal expected points added on pass plays.
epa_pass_ppdoubleExpected points added per pass play (epa_pass / pass).
rush_ydsintegerRushing yards in the game.
rush_ypgintegerRushing yards per game (rush_yds / gp).
rush_yppdoubleRushing yards per run play (rush_yds / run).
epa_rushdoubleTotal expected points added on run plays.
epa_rush_ppdoubleExpected points added per run play (epa_rush / run).
ryoedoubleRushing yards over expected in the game, per Next Gen Stats.
tttdoubleAverage time to throw in seconds on pass plays, per Next Gen Stats.
qbpintegerQuarterback pressures on pass plays in the game.
qbp_pctdoublePressure rate: share of pass plays with a quarterback pressure.
week_slugcharacterWeek slug of the game (e.g. 'WEEK_1', 'WEEK_18'); the week scope of the row.
opponent_team_idcharacterOpponent's NFL team id as a zero-padded string.
game_resultcharacterResult from the player's team's side: 'W', 'L' or 'T'.
final_scorecharacterFinal score as 'own-opponent' (e.g. '19-32' for a 32-19 loss).
is_homelogicalWhether the player's team was the home team in the game.
game_idintegerNFL game id as an integer (e.g. 2024090900, the date followed by a two-digit sequence).
fapi_game_idcharacterNFL Football API (FAPI) UUID of the game, the id api.nfl.com uses for the same game.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nfl_pro_team_offense_overview_week(season=2024, season_type='REG')

Last validated n/a.

nfl_pro_team_defense_overview_season​

GET /api/secured/stats/team-defense/overview/season — one row per team for the season — team defensive overview incl. EPA allowed per play and takeaways.

Endpoint URL: GET https://pro.nfl.com/api/secured/stats/team-defense/overview/season

Valid URL: https://pro.nfl.com/api/secured/stats/team-defense/overview/season?season=2024&seasonType=REG&limit=500

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason, as the STARTING year (2024 = the 2024-25 NFL season).
seasonTypeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.
limitlimitYPage size. Responses truncate silently at this many rows; the getter pages on offset until it has them all.
offsetoffsetYZero-based row offset. The getter pages on this automatically; set it only to fetch a specific slice.
sortKeysort_keyYField name to sort by, e.g. epa.
sortValuesort_valueYSort direction: ASC or DESC.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_idcharacterNFL team id as a zero-padded string (e.g. '0200'); casting it to a number drops the leading zero.
gpintegerGames played in the season (and season type); the denominator of every per-game column.
totalintegerDefensive plays faced, season total (pass + run).
passintegerPass plays, season total, from the defense's side (allowed / faced).
runintegerRun plays, season total, from the defense's side (allowed / faced).
pass_pctdoubleShare of plays that were passes (pass / total), from the defense's side (allowed / faced).
ppgdoublePoints per game, from the defense's side (allowed / faced).
ydsintegerYards from scrimmage, season total (pass_yds + rush_yds), from the defense's side (allowed / faced).
ypgdoubleYards per game (yds / gp), from the defense's side (allowed / faced).
yppdoubleYards per play (yds / total), from the defense's side (allowed / faced).
tdintegerTouchdowns, season total, from the defense's side (allowed / faced).
pass_tdintegerPassing touchdowns allowed, season total.
rush_tdintegerRushing touchdowns allowed, season total.
epadoubleTotal expected points added over all plays (epa_pass + epa_rush), from the defense's side (allowed / faced).
epa_ppdoubleExpected points added per play (epa / total), from the defense's side (allowed / faced).
pass_ydsintegerNet passing yards, season total, from the defense's side (allowed / faced).
pass_ypgdoublePassing yards per game (pass_yds / gp), from the defense's side (allowed / faced).
pass_yppdoublePassing yards per pass play (pass_yds / pass), from the defense's side (allowed / faced).
sacked_ydsintegerYards lost to sacks, season total, from the defense's side (allowed / faced).
sacked_ypgdoubleSack yards lost per game (sacked_yds / gp), from the defense's side (allowed / faced).
epa_passdoubleTotal expected points added on pass plays, from the defense's side (allowed / faced).
epa_pass_ppdoubleExpected points added per pass play (epa_pass / pass), from the defense's side (allowed / faced).
rush_ydsintegerRushing yards, season total, from the defense's side (allowed / faced).
rush_ypgdoubleRushing yards per game (rush_yds / gp), from the defense's side (allowed / faced).
rush_yppdoubleRushing yards per run play (rush_yds / run), from the defense's side (allowed / faced).
epa_rushdoubleTotal expected points added on run plays, from the defense's side (allowed / faced).
epa_rush_ppdoubleExpected points added per run play (epa_rush / run), from the defense's side (allowed / faced).
ryoedoubleRushing yards over expected, season total, per Next Gen Stats, from the defense's side (allowed / faced).
tttdoubleAverage time to throw in seconds on pass plays, per Next Gen Stats, from the defense's side (allowed / faced).
qbpintegerQuarterback pressures on pass plays, season total, from the defense's side (allowed / faced).
qbp_pctdoublePressure rate: share of pass plays with a quarterback pressure, from the defense's side (allowed / faced).
interceptionintegerInterceptions made, season total.
forced_fumbleintegerFumbles forced, season total.
fumble_recoveredintegerOpponent fumbles recovered, season total.
defensive_touchdownintegerDefensive touchdowns scored, season total.
total_takeawaysintegerTakeaways, season total (interception + fumble_recovered).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nfl_pro_team_defense_overview_season(season=2024, season_type='REG')

Last validated n/a.

nfl_pro_team_defense_overview_week​

GET /api/secured/stats/team-defense/overview/week — one row per team per week — team defensive overview incl. EPA allowed per play and takeaways.

Endpoint URL: GET https://pro.nfl.com/api/secured/stats/team-defense/overview/week

Valid URL: https://pro.nfl.com/api/secured/stats/team-defense/overview/week?season=2024&seasonType=REG&limit=500

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason, as the STARTING year (2024 = the 2024-25 NFL season).
seasonTypeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.
limitlimitYPage size. Responses truncate silently at this many rows; the getter pages on offset until it has them all.
offsetoffsetYZero-based row offset. The getter pages on this automatically; set it only to fetch a specific slice.
sortKeysort_keyYField name to sort by, e.g. epa.
sortValuesort_valueYSort direction: ASC or DESC.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
team_idcharacterNFL team id as a zero-padded string (e.g. '0200'); casting it to a number drops the leading zero.
gpintegerGames played in the season (and season type); the denominator of every per-game column.
totalintegerDefensive plays faced in the game (pass + run).
passintegerPass plays in the game, from the defense's side (allowed / faced).
runintegerRun plays in the game, from the defense's side (allowed / faced).
pass_pctdoubleShare of plays that were passes (pass / total), from the defense's side (allowed / faced).
ppgintegerPoints per game, from the defense's side (allowed / faced).
ydsintegerYards from scrimmage in the game (pass_yds + rush_yds), from the defense's side (allowed / faced).
ypgintegerYards per game (yds / gp), from the defense's side (allowed / faced).
yppdoubleYards per play (yds / total), from the defense's side (allowed / faced).
tdintegerTouchdowns in the game, from the defense's side (allowed / faced).
pass_tdintegerPassing touchdowns allowed in the game.
rush_tdintegerRushing touchdowns allowed in the game.
epadoubleTotal expected points added over all plays (epa_pass + epa_rush), from the defense's side (allowed / faced).
epa_ppdoubleExpected points added per play (epa / total), from the defense's side (allowed / faced).
pass_ydsintegerNet passing yards in the game, from the defense's side (allowed / faced).
pass_ypgintegerPassing yards per game (pass_yds / gp), from the defense's side (allowed / faced).
pass_yppdoublePassing yards per pass play (pass_yds / pass), from the defense's side (allowed / faced).
sacked_ydsintegerYards lost to sacks in the game, from the defense's side (allowed / faced).
sacked_ypgintegerSack yards lost per game (sacked_yds / gp), from the defense's side (allowed / faced).
epa_passdoubleTotal expected points added on pass plays, from the defense's side (allowed / faced).
epa_pass_ppdoubleExpected points added per pass play (epa_pass / pass), from the defense's side (allowed / faced).
rush_ydsintegerRushing yards in the game, from the defense's side (allowed / faced).
rush_ypgintegerRushing yards per game (rush_yds / gp), from the defense's side (allowed / faced).
rush_yppdoubleRushing yards per run play (rush_yds / run), from the defense's side (allowed / faced).
epa_rushdoubleTotal expected points added on run plays, from the defense's side (allowed / faced).
epa_rush_ppdoubleExpected points added per run play (epa_rush / run), from the defense's side (allowed / faced).
ryoedoubleRushing yards over expected in the game, per Next Gen Stats, from the defense's side (allowed / faced).
tttdoubleAverage time to throw in seconds on pass plays, per Next Gen Stats, from the defense's side (allowed / faced).
qbpintegerQuarterback pressures on pass plays in the game, from the defense's side (allowed / faced).
qbp_pctdoublePressure rate: share of pass plays with a quarterback pressure, from the defense's side (allowed / faced).
interceptionintegerInterceptions made in the game.
forced_fumbleintegerFumbles forced in the game.
fumble_recoveredintegerOpponent fumbles recovered in the game.
defensive_touchdownintegerDefensive touchdowns scored in the game.
total_takeawaysintegerTakeaways in the game (interception + fumble_recovered).
week_slugcharacterWeek slug of the game (e.g. 'WEEK_1', 'WEEK_18'); the week scope of the row.
opponent_team_idcharacterOpponent's NFL team id as a zero-padded string.
game_resultcharacterResult from the player's team's side: 'W', 'L' or 'T'.
final_scorecharacterFinal score as 'own-opponent' (e.g. '19-32' for a 32-19 loss).
is_homelogicalWhether the player's team was the home team in the game.
game_idintegerNFL game id as an integer (e.g. 2024090900, the date followed by a two-digit sequence).
fapi_game_idcharacterNFL Football API (FAPI) UUID of the game, the id api.nfl.com uses for the same game.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

nfl_pro_team_defense_overview_week(season=2024, season_type='REG')

Last validated n/a.