Skip to main content
Version: main

NFL — NFL.com API

sportsdataverse.nfl — 11 endpoints.

nfl_standings

GET /football/v2/standings — one row per team standing across the returned week(s).

Endpoint URL: GET https://api.nfl.com/football/v2/standings

Valid URL: https://api.nfl.com/football/v2/standings?season=2024&seasonType=REG&week=18

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason year (e.g. 2024).
seasonTypeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.
weekweekYWeek number within the season (football).
limitlimitYMaximum number of items to return.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_standings); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_standings(season=2024, season_type='REG', week=18)

Last validated n/a.

nfl_rosters

GET /football/v2/rosters — one row per team roster for the season.

Endpoint URL: GET https://api.nfl.com/football/v2/rosters

Valid URL: https://api.nfl.com/football/v2/rosters?season=2024

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason year (e.g. 2024).
limitlimitYMaximum number of items to return.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_rosters); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_rosters(season=2024)

Last validated n/a.

nfl_teams_history

GET /football/v2/teams/history — one row per team for a season.

Endpoint URL: GET https://api.nfl.com/football/v2/teams/history

Valid URL: https://api.nfl.com/football/v2/teams/history?season=2024

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason year (e.g. 2024).
limitlimitYMaximum number of items to return.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_teams_history); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_teams_history(season=2024)

Last validated n/a.

nfl_team

GET /football/v2/teams/{team_id} — single-team detail (one row).

Endpoint URL: GET https://api.nfl.com/football/v2/teams/{team_id}

Valid URL: https://api.nfl.com/football/v2/teams/10403800-517c-7b8c-65a3-c61b95d86123

API ParameterPythonPatternRequiredNullableDescription
team_idteam_idYteam_id path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_team); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_team(team_id='10403800-517c-7b8c-65a3-c61b95d86123')

Last validated n/a.

nfl_weeks

GET /football/v2/weeks/season/{season}/seasonType/{season_type} — week calendar (one row per week).

Endpoint URL: GET https://api.nfl.com/football/v2/weeks/season/{season}/seasonType/{season_type}

Valid URL: https://api.nfl.com/football/v2/weeks/season/2024/seasonType/REG

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYseason path parameter.
season_typeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_weeks); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

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

Last validated n/a.

nfl_weeks_by_date

GET /football/v2/weeks/date/{YYYY-MM-DD} — the week containing a date (one row).

Endpoint URL: GET https://api.nfl.com/football/v2/weeks/date/{date}

Valid URL: https://api.nfl.com/football/v2/weeks/date/2024-09-08

API ParameterPythonPatternRequiredNullableDescription
datedateYdate path parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_weeks_by_date); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_weeks_by_date(date='2024-09-08')

Last validated n/a.

nfl_combine_profiles

GET /football/v2/combine/profiles — one row per combine prospect.

Endpoint URL: GET https://api.nfl.com/football/v2/combine/profiles

Valid URL: https://api.nfl.com/football/v2/combine/profiles?year=2024

API ParameterPythonPatternRequiredNullableDescription
yearyearYyear query parameter.
limitlimitYMaximum number of items to return.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_combine_profiles); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_combine_profiles(year=2024)

Last validated n/a.

nfl_draft_picks

GET /football/v2/draft/picks/report — one row per draft pick.

Endpoint URL: GET https://api.nfl.com/football/v2/draft/picks/report

Valid URL: https://api.nfl.com/football/v2/draft/picks/report?year=2024

API ParameterPythonPatternRequiredNullableDescription
yearyearYyear query parameter.
limitlimitYMaximum number of items to return.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_draft_picks); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_draft_picks(year=2024)

Last validated n/a.

nfl_injuries

GET /football/v2/injuries — one row per injured player.

Endpoint URL: GET https://api.nfl.com/football/v2/injuries

Valid URL: https://api.nfl.com/football/v2/injuries?season=2024&seasonType=REG&week=1

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason year (e.g. 2024).
seasonTypeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.
weekweekYWeek number within the season (football).

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_injuries); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_injuries(season=2024, season_type='REG', week=1)

Last validated n/a.

nfl_game_summaries

GET /football/v2/stats/live/game-summaries — one row per game (live state).

Endpoint URL: GET https://api.nfl.com/football/v2/stats/live/game-summaries

Valid URL: https://api.nfl.com/football/v2/stats/live/game-summaries?season=2024&seasonType=REG&week=1

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason year (e.g. 2024).
seasonTypeseason_typeYSeason type code (string): PRE, REG, or POST -- not ESPN's numeric 1/2/3.
weekweekYWeek number within the season (football).

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_game_summaries); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_game_summaries(season=2024, season_type='REG', week=1)

Last validated n/a.

nfl_weekly_game_details

GET /football/v2/experience/weekly-game-details — one row per game (bare list).

Endpoint URL: GET https://api.nfl.com/football/v2/experience/weekly-game-details

Valid URL: https://api.nfl.com/football/v2/experience/weekly-game-details?season=2024&type=REG&week=1

API ParameterPythonPatternRequiredNullableDescription
seasonseasonYSeason year (e.g. 2024).
typeseason_typeYSeason type code (string): PRE, REG, or POST (sent as the type query param) -- not ESPN's numeric 1/2/3.
weekweekYWeek number within the season (football).
includeDriveChartinclude_drive_chartYincludeDriveChart query parameter.
includeReplaysinclude_replaysYincludeReplays query parameter.
includeStandingsinclude_standingsYincludeStandings query parameter.
includeTaggedVideosinclude_tagged_videosYincludeTaggedVideos query parameter.

Returns

return_parsed=True (default) — a tidy polars.DataFrame (parser: parse_nfl_weekly_game_details); pass return_as_pandas=True for a pandas.DataFrame. return_parsed=False — the raw JSON Dict payload, unparsed.

Example

nfl_weekly_game_details(season=2024, season_type='REG', week=1)

Last validated n/a.