Skip to main content
Version: 0.1.5

NFL — nflpro — Players

nfl_pro_players_offense_passing_season​

GET /api/secured/stats/players-offense/passing/season — one row per passer for the season — quarterback passing incl. Next Gen time-to-throw, aggressiveness and CPOE.

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

Valid URL: https://pro.nfl.com/api/secured/stats/players-offense/passing/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.
qualifiedPasserqualifiedYRestrict to players meeting the league qualifying threshold.

Returns​

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

col_nametypedescription
nfl_idcharacterNFL player id (nflId) as a string; the key the wrappers accept as nfl_id.
display_namecharacterPlayer's full display name (e.g. 'Aaron Rodgers').
short_namecharacterPlayer's abbreviated name, first initial and surname (e.g. 'A.Rodgers').
headshotcharacterNFL headshot image URL template; the {formatInstructions} token must be replaced with a Cloudinary transform (e.g. t_headshot_desktop) before use.
team_idcharacterNFL team id as a zero-padded string (e.g. '0200', '3430'); casting it to a number drops the leading zero.
jersey_numberintegerJersey number the player wore in the season.
positioncharacterRoster position abbreviation (e.g. QB, WR, CB).
position_groupcharacterPosition group the roster position rolls up to (e.g. QB, RB, WR, TE, DB).
ngs_positioncharacterPosition Next Gen Stats assigns from tracking data; null for players NGS has not classified.
ngs_position_groupcharacterPosition group of ngs_position; null when ngs_position is null.
gpintegerGames played in the season (and season type) -- the denominator of every *_pg per-game column.
gsintegerGames started in the season.
tgintegerGames the player's team played while he was on the roster; equals gp in sampled data.
total_tgintegerTotal games the player's team played in the season type (17 for a full regular season).
cmpintegerPass completions, season total.
attintegerPass attempts, season total.
ydsintegerPassing yards, season total.
tdintegerPassing touchdowns, season total.
intintegerInterceptions thrown, season total (a count, not a per-play flag).
ratingdoubleNFL passer rating for the season (the standard 0-158.3 formula; equals nflverse passer_rating).
ypadoubleYards per pass attempt (yds / att).
cmp_pctdoubleCompletion percentage as a fraction (cmp / att, e.g. 0.63).
sackintegerTimes sacked, season total (a count, not a per-play flag).
x_cmpdoubleExpected completion percentage as a fraction, per Next Gen Stats (nflverse expected_completion_percentage / 100).
cpoedoubleCompletion percentage over expected as a fraction: cmp_pct - x_cmp (nflverse completion_percentage_above_expectation / 100).
dbintegerDropbacks, season total (attempts plus sacks and scrambles); the denominator of qbp_r and epa_db.
epadoubleTotal expected points added on the passer's dropbacks.
epa_dbdoubleExpected points added per dropback (epa / db).
avg_tttdoubleAverage time to throw in seconds, snap to release, per Next Gen Stats (nflverse avg_time_to_throw).
avg_ttpdouble
avg_ttsdouble
qbpintegerDropbacks on which the passer was pressured, season total.
qbp_rdoublePressure rate: share of dropbacks on which the passer was pressured (qbp / db).
blitz_rdoubleBlitz rate: share of the passer's dropbacks on which the defense blitzed, per Next Gen Stats.
dropintegerPasses dropped by the passer's receivers, season total.
drop_rdoubleDrop rate: drops per pass attempt (drop / att).
aydoubleTotal intended air yards on pass attempts; ay_att is this per attempt.
yacdoubleTotal yards after the catch gained on the passer's completions.
x_yacdoubleTotal expected yards after the catch on the passer's completions, per Next Gen Stats.
yac_pctdoubleShare of passing yards gained after the catch (yac / yds).
ay_attdoubleAverage intended air yards per pass attempt (nflverse avg_intended_air_yards).
avg_sepdoubleAverage separation in yards between the targeted receiver and the nearest defender at pass arrival on the passer's targets, per Next Gen Stats.
deep_att_pctdoubleShare of pass attempts NGS classifies as deep throws.
tw_att_pctdoubleAggressiveness: share of pass attempts into a tight window (defender within a yard of the receiver), per Next Gen Stats (nflverse aggressiveness / 100).
pa_db_pctdoubleShare of dropbacks that used play action.
qplogicalWhether the passer meets the league qualifying-attempts threshold (the qualified filter).
cmp_pgdoubleCompletions per game (cmp / gp).
att_pgdoublePass attempts per game (att / gp).
yds_pgdoublePassing yards per game (yds / gp).
td_pgdoublePassing touchdowns per game (td / gp).
int_pgdoubleInterceptions thrown per game (int / gp).
sack_pgdoubleSacks taken per game (sack / gp).
db_pgdoubleDropbacks per game (db / gp).
epa_pgdoubleExpected points added per game (epa / gp).
qbp_pgdoublePressured dropbacks per game (qbp / gp).
drop_pgdoubleReceiver drops per game (drop / gp).
tw_att_pgdoubleTight-window pass attempts per game; tw_att_pct = tw_att_pg / att_pg.

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

Example​

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

Last validated n/a.

nfl_pro_players_offense_passing_week​

GET /api/secured/stats/players-offense/passing/week — one row per passer per week — quarterback passing incl. Next Gen time-to-throw, aggressiveness and CPOE.

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

Valid URL: https://pro.nfl.com/api/secured/stats/players-offense/passing/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.
qualifiedPasserqualifiedYRestrict to players meeting the league qualifying threshold.
nflIdnfl_idYOptional player filter; omit for the whole league-week table. Note week is a path scope here, not a query param.

Returns​

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

col_nametypedescription
nfl_idcharacterNFL player id (nflId) as a string; the key the wrappers accept as nfl_id.
display_namecharacterPlayer's full display name (e.g. 'Aaron Rodgers').
short_namecharacterPlayer's abbreviated name, first initial and surname (e.g. 'A.Rodgers').
headshotcharacterNFL headshot image URL template; the {formatInstructions} token must be replaced with a Cloudinary transform (e.g. t_headshot_desktop) before use.
team_idcharacterNFL team id as a zero-padded string (e.g. '0200', '3430'); casting it to a number drops the leading zero.
jersey_numberintegerJersey number the player wore in the season.
positioncharacterRoster position abbreviation (e.g. QB, WR, CB).
position_groupcharacterPosition group the roster position rolls up to (e.g. QB, RB, WR, TE, DB).
ngs_positioncharacterPosition Next Gen Stats assigns from tracking data; null for players NGS has not classified.
ngs_position_groupcharacterPosition group of ngs_position; null when ngs_position is null.
gpintegerGames played in the season (and season type) -- the denominator of every *_pg per-game column.
gsintegerGames started in the season.
tgintegerGames the player's team played while he was on the roster; equals gp in sampled data.
total_tgintegerTotal games the player's team played in the season type (17 for a full regular season).
week_slugcharacterWeek slug of the game (e.g. 'WEEK_1', 'WEEK_18'); the week scope of the row.
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.
opponent_team_idcharacterOpponent's NFL team id as a zero-padded string.
is_homelogicalWhether the player's team was the home team in the game.
final_scorecharacterFinal score as 'own-opponent' (e.g. '19-32' for a 32-19 loss).
game_resultcharacterResult from the player's team's side: 'W', 'L' or 'T'.
cmpintegerPass completions in the game.
attintegerPass attempts in the game.
ydsintegerPassing yards in the game.
tdintegerPassing touchdowns in the game.
intintegerInterceptions thrown in the game (a count, not a per-play flag).
ratingdoubleNFL passer rating for the season (the standard 0-158.3 formula; equals nflverse passer_rating).
ypadoubleYards per pass attempt (yds / att).
cmp_pctdoubleCompletion percentage as a fraction (cmp / att, e.g. 0.63).
sackintegerTimes sacked in the game (a count, not a per-play flag).
x_cmpdoubleExpected completion percentage as a fraction, per Next Gen Stats (nflverse expected_completion_percentage / 100).
cpoedoubleCompletion percentage over expected as a fraction: cmp_pct - x_cmp (nflverse completion_percentage_above_expectation / 100).
dbintegerDropbacks in the game (attempts plus sacks and scrambles); the denominator of qbp_r and epa_db.
epadoubleTotal expected points added on the passer's dropbacks.
epa_dbdoubleExpected points added per dropback (epa / db).
avg_tttdoubleAverage time to throw in seconds, snap to release, per Next Gen Stats (nflverse avg_time_to_throw).
avg_ttpdouble
avg_ttsdouble
qbpintegerDropbacks on which the passer was pressured in the game.
qbp_rdoublePressure rate: share of dropbacks on which the passer was pressured (qbp / db).
blitz_rdoubleBlitz rate: share of the passer's dropbacks on which the defense blitzed, per Next Gen Stats.
dropintegerPasses dropped by the passer's receivers in the game.
drop_rdoubleDrop rate: drops per pass attempt (drop / att).
aydoubleTotal intended air yards on pass attempts; ay_att is this per attempt.
yacdoubleTotal yards after the catch gained on the passer's completions.
x_yacdoubleTotal expected yards after the catch on the passer's completions, per Next Gen Stats.
yac_pctdoubleShare of passing yards gained after the catch (yac / yds).
ay_attdoubleAverage intended air yards per pass attempt (nflverse avg_intended_air_yards).
avg_sepdoubleAverage separation in yards between the targeted receiver and the nearest defender at pass arrival on the passer's targets, per Next Gen Stats.
deep_att_pctdoubleShare of pass attempts NGS classifies as deep throws.
tw_att_pctdoubleAggressiveness: share of pass attempts into a tight window (defender within a yard of the receiver), per Next Gen Stats (nflverse aggressiveness / 100).
pa_db_pctdoubleShare of dropbacks that used play action.
qplogicalWhether the passer meets the league qualifying-attempts threshold (the qualified filter).
cmp_pgintegerCompletions per game (cmp / gp).
att_pgintegerPass attempts per game (att / gp).
yds_pgintegerPassing yards per game (yds / gp).
td_pgintegerPassing touchdowns per game (td / gp).
int_pgintegerInterceptions thrown per game (int / gp).
sack_pgintegerSacks taken per game (sack / gp).
db_pgintegerDropbacks per game (db / gp).
epa_pgdoubleExpected points added per game (epa / gp).
qbp_pgintegerPressured dropbacks per game (qbp / gp).
drop_pgintegerReceiver drops per game (drop / gp).
tw_att_pgintegerTight-window pass attempts per game; tw_att_pct = tw_att_pg / att_pg.

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

Example​

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

Last validated n/a.

nfl_pro_players_offense_rushing_season​

GET /api/secured/stats/players-offense/rushing/season — one row per rusher for the season — rushing incl. Next Gen efficiency, yards over expected and defenders-in-box.

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

Valid URL: https://pro.nfl.com/api/secured/stats/players-offense/rushing/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.
qualifiedRusherqualifiedYRestrict to players meeting the league qualifying threshold.

Returns​

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

col_nametypedescription
nfl_idcharacterNFL player id (nflId) as a string; the key the wrappers accept as nfl_id.
display_namecharacterPlayer's full display name (e.g. 'Aaron Rodgers').
short_namecharacterPlayer's abbreviated name, first initial and surname (e.g. 'A.Rodgers').
headshotcharacterNFL headshot image URL template; the {formatInstructions} token must be replaced with a Cloudinary transform (e.g. t_headshot_desktop) before use.
team_idcharacterNFL team id as a zero-padded string (e.g. '0200', '3430'); casting it to a number drops the leading zero.
jersey_numberintegerJersey number the player wore in the season.
positioncharacterRoster position abbreviation (e.g. QB, WR, CB).
position_groupcharacterPosition group the roster position rolls up to (e.g. QB, RB, WR, TE, DB).
ngs_positioncharacterPosition Next Gen Stats assigns from tracking data; null for players NGS has not classified.
ngs_position_groupcharacterPosition group of ngs_position; null when ngs_position is null.
gpintegerGames played in the season (and season type) -- the denominator of every *_pg per-game column.
gsintegerGames started in the season.
tgintegerGames the player's team played while he was on the roster; equals gp in sampled data.
total_tgintegerTotal games the player's team played in the season type (17 for a full regular season).
attintegerRush attempts, season total.
ydsintegerRushing yards, season total.
tdintegerRushing touchdowns, season total.
ypcdoubleYards per carry (yds / att).
epadoubleTotal expected points added on the player's rush attempts.
epa_attdoubleExpected points added per rush attempt (epa / att).
x_rydoubleExpected rushing yards, season total, per Next Gen Stats (nflverse expected_rush_yards); yds = x_ry + ryoe.
x_ypcdoubleExpected yards per carry (x_ry / att).
ryoedoubleRushing yards over expected, season total (yds - x_ry; nflverse rush_yards_over_expected).
ryoe_attdoubleRushing yards over expected per attempt (ryoe / att).
yacodoubleYards after contact, season total.
yaco_attdoubleYards after contact per attempt (yaco / att).
ybcodoubleYards before contact, season total.
ybco_attdoubleYards before contact per attempt (ybco / att).
successdoubleSuccess rate: share of rush attempts graded successful, as a fraction.
fumintegerFumbles on rush attempts, season total.
lostintegerFumbles lost on rush attempts, season total.
rush10_p_ydsintegerRush attempts that gained 10 or more yards, season total.
rush15_p_mphintegerRush attempts on which the ball carrier reached 15+ mph, per Next Gen Stats.
rush20_p_mphintegerRush attempts on which the ball carrier reached 20+ mph, per Next Gen Stats.
effdoubleRushing efficiency: distance travelled per rushing yard gained (lower is more direct), per Next Gen Stats (nflverse efficiency).
in_t_pctdouble
st_box_pctdoubleShare of rush attempts against a stacked box (8 or more defenders), per Next Gen Stats.
under_pctdouble
qrlogicalWhether the player meets the league qualifying threshold for the table (the qualified filter).
att_pgdoubleRush attempts per game (att / gp).
yds_pgdoubleRushing yards per game (yds / gp).
td_pgdoubleRushing touchdowns per game (td / gp).
epa_pgdoubleExpected points added per game (epa / gp).
x_ry_pgdoubleExpected rushing yards per game (x_ry / gp).
ryoe_pgdoubleRushing yards over expected per game (ryoe / gp).
yaco_pgdoubleYards after contact per game (yaco / gp).
ybco_pgdoubleYards before contact per game (ybco / gp).
fum_pgdoubleFumbles per game (fum / gp).
lost_pgdoubleFumbles lost per game (lost / gp).
rush10_p_yds_pgdoubleRushes of 10+ yards per game (rush10_p_yds / gp).
rush15_p_mph_pgdoubleRushes reaching 15+ mph per game (rush15_p_mph / gp).
rush20_p_mph_pgdoubleRushes reaching 20+ mph per game (rush20_p_mph / gp).

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

Example​

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

Last validated n/a.

nfl_pro_players_offense_rushing_week​

GET /api/secured/stats/players-offense/rushing/week — one row per rusher per week — rushing incl. Next Gen efficiency, yards over expected and defenders-in-box.

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

Valid URL: https://pro.nfl.com/api/secured/stats/players-offense/rushing/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.
qualifiedRusherqualifiedYRestrict to players meeting the league qualifying threshold.
nflIdnfl_idYOptional player filter; omit for the whole league-week table. Note week is a path scope here, not a query param.

Returns​

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

col_nametypedescription
nfl_idcharacterNFL player id (nflId) as a string; the key the wrappers accept as nfl_id.
display_namecharacterPlayer's full display name (e.g. 'Aaron Rodgers').
short_namecharacterPlayer's abbreviated name, first initial and surname (e.g. 'A.Rodgers').
headshotcharacterNFL headshot image URL template; the {formatInstructions} token must be replaced with a Cloudinary transform (e.g. t_headshot_desktop) before use.
team_idcharacterNFL team id as a zero-padded string (e.g. '0200', '3430'); casting it to a number drops the leading zero.
jersey_numberintegerJersey number the player wore in the season.
positioncharacterRoster position abbreviation (e.g. QB, WR, CB).
position_groupcharacterPosition group the roster position rolls up to (e.g. QB, RB, WR, TE, DB).
ngs_positioncharacterPosition Next Gen Stats assigns from tracking data; null for players NGS has not classified.
ngs_position_groupcharacterPosition group of ngs_position; null when ngs_position is null.
gpintegerGames played in the season (and season type) -- the denominator of every *_pg per-game column.
gsintegerGames started in the season.
tgintegerGames the player's team played while he was on the roster; equals gp in sampled data.
total_tgintegerTotal games the player's team played in the season type (17 for a full regular season).
week_slugcharacterWeek slug of the game (e.g. 'WEEK_1', 'WEEK_18'); the week scope of the row.
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.
opponent_team_idcharacterOpponent's NFL team id as a zero-padded string.
is_homelogicalWhether the player's team was the home team in the game.
final_scorecharacterFinal score as 'own-opponent' (e.g. '19-32' for a 32-19 loss).
game_resultcharacterResult from the player's team's side: 'W', 'L' or 'T'.
attintegerRush attempts in the game.
ydsintegerRushing yards in the game.
tdintegerRushing touchdowns in the game.
ypcdoubleYards per carry (yds / att).
epadoubleTotal expected points added on the player's rush attempts.
epa_attdoubleExpected points added per rush attempt (epa / att).
x_rydoubleExpected rushing yards in the game, per Next Gen Stats (nflverse expected_rush_yards); yds = x_ry + ryoe.
x_ypcdoubleExpected yards per carry (x_ry / att).
ryoedoubleRushing yards over expected in the game (yds - x_ry; nflverse rush_yards_over_expected).
ryoe_attdoubleRushing yards over expected per attempt (ryoe / att).
yacodoubleYards after contact in the game.
yaco_attdoubleYards after contact per attempt (yaco / att).
ybcodoubleYards before contact in the game.
ybco_attdoubleYards before contact per attempt (ybco / att).
successdoubleSuccess rate: share of rush attempts graded successful, as a fraction.
fumintegerFumbles on rush attempts in the game.
lostintegerFumbles lost on rush attempts in the game.
rush10_p_ydsintegerRush attempts that gained 10 or more yards in the game.
rush15_p_mphintegerRush attempts on which the ball carrier reached 15+ mph, per Next Gen Stats.
rush20_p_mphintegerRush attempts on which the ball carrier reached 20+ mph, per Next Gen Stats.
effdoubleRushing efficiency: distance travelled per rushing yard gained (lower is more direct), per Next Gen Stats (nflverse efficiency).
in_t_pctdouble
st_box_pctintegerShare of rush attempts against a stacked box (8 or more defenders), per Next Gen Stats.
under_pctdouble
qrlogicalWhether the player meets the league qualifying threshold for the table (the qualified filter).
att_pgintegerRush attempts per game (att / gp).
yds_pgintegerRushing yards per game (yds / gp).
td_pgintegerRushing touchdowns per game (td / gp).
epa_pgdoubleExpected points added per game (epa / gp).
x_ry_pgdoubleExpected rushing yards per game (x_ry / gp).
ryoe_pgdoubleRushing yards over expected per game (ryoe / gp).
yaco_pgdoubleYards after contact per game (yaco / gp).
ybco_pgdoubleYards before contact per game (ybco / gp).
fum_pgintegerFumbles per game (fum / gp).
lost_pgintegerFumbles lost per game (lost / gp).
rush10_p_yds_pgintegerRushes of 10+ yards per game (rush10_p_yds / gp).
rush15_p_mph_pgintegerRushes reaching 15+ mph per game (rush15_p_mph / gp).
rush20_p_mph_pgintegerRushes reaching 20+ mph per game (rush20_p_mph / gp).

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

Example​

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

Last validated n/a.

nfl_pro_players_offense_receiving_season​

GET /api/secured/stats/players-offense/receiving/season — one row per receiver for the season — receiving incl. Next Gen separation, cushion and catch rate over expected.

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

Valid URL: https://pro.nfl.com/api/secured/stats/players-offense/receiving/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.
qualifiedReceiverqualifiedYRestrict to players meeting the league qualifying threshold.

Returns​

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

col_nametypedescription
nfl_idcharacterNFL player id (nflId) as a string; the key the wrappers accept as nfl_id.
display_namecharacterPlayer's full display name (e.g. 'Aaron Rodgers').
short_namecharacterPlayer's abbreviated name, first initial and surname (e.g. 'A.Rodgers').
headshotcharacterNFL headshot image URL template; the {formatInstructions} token must be replaced with a Cloudinary transform (e.g. t_headshot_desktop) before use.
team_idcharacterNFL team id as a zero-padded string (e.g. '0200', '3430'); casting it to a number drops the leading zero.
jersey_numberintegerJersey number the player wore in the season.
positioncharacterRoster position abbreviation (e.g. QB, WR, CB).
position_groupcharacterPosition group the roster position rolls up to (e.g. QB, RB, WR, TE, DB).
ngs_positioncharacterPosition Next Gen Stats assigns from tracking data; null for players NGS has not classified.
ngs_position_groupcharacterPosition group of ngs_position; null when ngs_position is null.
gpintegerGames played in the season (and season type) -- the denominator of every *_pg per-game column.
gsintegerGames started in the season.
tgintegerGames the player's team played while he was on the roster; equals gp in sampled data.
total_tgintegerTotal games the player's team played in the season type (17 for a full regular season).
rtintegerRoutes run, season total.
tgtintegerTargets, season total.
recintegerReceptions, season total.
ydsintegerReceiving yards, season total.
tdintegerReceiving touchdowns, season total.
intintegerInterceptions thrown on passes targeting the player, season total.
ratingdoublePasser rating on throws targeting the player (the standard formula applied to his targets).
catchdoubleCatch rate as a fraction (rec / tgt; nflverse catch_percentage / 100).
x_catchdoubleExpected catch rate as a fraction, per Next Gen Stats; catch = x_catch + croe.
croedoubleCatch rate over expected as a fraction (catch - x_catch).
yds_recdoubleYards per reception (yds / rec).
yds_rtdoubleYards per route run (yds / rt).
epadoubleTotal expected points added on the player's targets.
epa_tgtdoubleExpected points added per target (epa / tgt).
epa_rtdoubleExpected points added per route run (epa / rt).
dropintegerDrops, season total.
drop_tgtdoubleDrop rate: drops per target (drop / tgt).
yacintegerYards after the catch, season total.
x_yacintegerExpected yards after the catch, season total, per Next Gen Stats; yac = x_yac + yacoe.
yacoeintegerYards after the catch over expected, season total (yac - x_yac).
yac_recdoubleYards after the catch per reception (yac / rec; nflverse avg_yac).
avg_sepdoubleAverage separation in yards from the nearest defender at pass arrival, per Next Gen Stats (nflverse avg_separation).
aydoubleTotal intended air yards on the player's targets.
ay_tgtdoubleAverage intended air yards per target (ay / tgt; nflverse avg_intended_air_yards).
tgt_rtdoubleTarget rate: targets per route run (tgt / rt).
avg_rt_depdoubleAverage route depth in yards, per Next Gen Stats.
ez_tgtintegerEnd-zone targets, season total.
ez_recintegerEnd-zone receptions, season total.
deep_tgt_pctdoubleShare of targets NGS classifies as deep.
tw_pctdoubleShare of targets thrown into a tight window (defender within a yard), per Next Gen Stats.
qrlogicalWhether the player meets the league qualifying threshold for the table (the qualified filter).
rt_pgdoubleRoutes run per game (rt / gp).
tgt_pgdoubleTargets per game (tgt / gp).
rec_pgdoubleReceptions per game (rec / gp).
yds_pgdoubleReceiving yards per game (yds / gp).
td_pgdoubleReceiving touchdowns per game (td / gp).
int_pgdoubleInterceptions on the player's targets per game (int / gp).
epa_pgdoubleExpected points added per game (epa / gp).
drop_pgdoubleDrops per game (drop / gp).
yac_pgdoubleYards after the catch per game (yac / gp).
x_yac_pgdoubleExpected yards after the catch per game (x_yac / gp).
yacoe_pgdoubleYards after the catch over expected per game (yacoe / gp).
ay_pgdoubleIntended air yards per game (ay / gp).
ez_tgt_pgdoubleEnd-zone targets per game (ez_tgt / gp).
ez_rec_pgdoubleEnd-zone receptions per game (ez_rec / gp).

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

Example​

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

Last validated n/a.

nfl_pro_players_offense_receiving_week​

GET /api/secured/stats/players-offense/receiving/week — one row per receiver per week — receiving incl. Next Gen separation, cushion and catch rate over expected.

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

Valid URL: https://pro.nfl.com/api/secured/stats/players-offense/receiving/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.
qualifiedReceiverqualifiedYRestrict to players meeting the league qualifying threshold.
nflIdnfl_idYOptional player filter; omit for the whole league-week table. Note week is a path scope here, not a query param.

Returns​

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

col_nametypedescription
nfl_idcharacterNFL player id (nflId) as a string; the key the wrappers accept as nfl_id.
display_namecharacterPlayer's full display name (e.g. 'Aaron Rodgers').
short_namecharacterPlayer's abbreviated name, first initial and surname (e.g. 'A.Rodgers').
headshotcharacterNFL headshot image URL template; the {formatInstructions} token must be replaced with a Cloudinary transform (e.g. t_headshot_desktop) before use.
team_idcharacterNFL team id as a zero-padded string (e.g. '0200', '3430'); casting it to a number drops the leading zero.
jersey_numberintegerJersey number the player wore in the season.
positioncharacterRoster position abbreviation (e.g. QB, WR, CB).
position_groupcharacterPosition group the roster position rolls up to (e.g. QB, RB, WR, TE, DB).
ngs_positioncharacterPosition Next Gen Stats assigns from tracking data; null for players NGS has not classified.
ngs_position_groupcharacterPosition group of ngs_position; null when ngs_position is null.
gpintegerGames played in the season (and season type) -- the denominator of every *_pg per-game column.
gsintegerGames started in the season.
tgintegerGames the player's team played while he was on the roster; equals gp in sampled data.
total_tgintegerTotal games the player's team played in the season type (17 for a full regular season).
week_slugcharacterWeek slug of the game (e.g. 'WEEK_1', 'WEEK_18'); the week scope of the row.
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.
opponent_team_idcharacterOpponent's NFL team id as a zero-padded string.
is_homelogicalWhether the player's team was the home team in the game.
final_scorecharacterFinal score as 'own-opponent' (e.g. '19-32' for a 32-19 loss).
game_resultcharacterResult from the player's team's side: 'W', 'L' or 'T'.
rtintegerRoutes run in the game.
tgtintegerTargets in the game.
recintegerReceptions in the game.
ydsintegerReceiving yards in the game.
tdintegerReceiving touchdowns in the game.
intintegerInterceptions thrown on passes targeting the player in the game.
ratingintegerPasser rating on throws targeting the player (the standard formula applied to his targets).
catchintegerCatch rate as a fraction (rec / tgt; nflverse catch_percentage / 100).
x_catchintegerExpected catch rate as a fraction, per Next Gen Stats; catch = x_catch + croe.
croeintegerCatch rate over expected as a fraction (catch - x_catch).
yds_recintegerYards per reception (yds / rec).
yds_rtintegerYards per route run (yds / rt).
epaintegerTotal expected points added on the player's targets.
epa_tgtintegerExpected points added per target (epa / tgt).
epa_rtintegerExpected points added per route run (epa / rt).
dropintegerDrops in the game.
drop_tgtintegerDrop rate: drops per target (drop / tgt).
yacintegerYards after the catch in the game.
x_yacintegerExpected yards after the catch in the game, per Next Gen Stats; yac = x_yac + yacoe.
yacoeintegerYards after the catch over expected in the game (yac - x_yac).
yac_recintegerYards after the catch per reception (yac / rec; nflverse avg_yac).
avg_sepintegerAverage separation in yards from the nearest defender at pass arrival, per Next Gen Stats (nflverse avg_separation).
ayintegerTotal intended air yards on the player's targets.
ay_tgtintegerAverage intended air yards per target (ay / tgt; nflverse avg_intended_air_yards).
tgt_rtintegerTarget rate: targets per route run (tgt / rt).
avg_rt_depintegerAverage route depth in yards, per Next Gen Stats.
ez_tgtintegerEnd-zone targets in the game.
ez_recintegerEnd-zone receptions in the game.
deep_tgt_pctintegerShare of targets NGS classifies as deep.
tw_pctintegerShare of targets thrown into a tight window (defender within a yard), per Next Gen Stats.
qrlogicalWhether the player meets the league qualifying threshold for the table (the qualified filter).
rt_pgintegerRoutes run per game (rt / gp).
tgt_pgintegerTargets per game (tgt / gp).
rec_pgintegerReceptions per game (rec / gp).
yds_pgintegerReceiving yards per game (yds / gp).
td_pgintegerReceiving touchdowns per game (td / gp).
int_pgintegerInterceptions on the player's targets per game (int / gp).
epa_pgintegerExpected points added per game (epa / gp).
drop_pgintegerDrops per game (drop / gp).
yac_pgintegerYards after the catch per game (yac / gp).
x_yac_pgintegerExpected yards after the catch per game (x_yac / gp).
yacoe_pgintegerYards after the catch over expected per game (yacoe / gp).
ay_pgintegerIntended air yards per game (ay / gp).
ez_tgt_pgintegerEnd-zone targets per game (ez_tgt / gp).
ez_rec_pgintegerEnd-zone receptions per game (ez_rec / gp).

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

Example​

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

Last validated n/a.