NFL — ESPN site API (v2)
sportsdataverse.nfl — 24 endpoints.
espn_nfl_scoreboard
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard?dates=20240115&limit=500
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
dates | dates | Y | Date or date range filter (YYYYMMDD or YYYYMMDD-YYYYMMDD). | ||
week | week | Y | Week number within the season. | ||
seasontype | season_type | Y | Season phase: 1=preseason, 2=regular season, 3=postseason. | ||
groups | groups | Y | Conference or group id filter (e.g. an ESPN conference id). | ||
limit | limit | Y | Maximum number of items to return. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
game_id | Int64 | ESPN event id. |
uid | String | |
date | String | Match start timestamp (ISO 8601, UTC). |
name | String | Full event name (e.g. 'Team A at Team B'). |
short_name | String | Abbreviated event name (e.g. 'TA @ TB'). |
season_year | Int64 | Integer season year ESPN assigns the event (e.g. 2025 for the 2025-26 season). |
season_type | Int64 | ESPN season-type id of the event's season: 1 preseason, 2 regular season, 3 postseason, 4 offseason for the US leagues; soccer competitions carry their own competition-specific ids (e.g. 13481). |
season_slug | String | ESPN slug of the event's season type (e.g. 'regular-season', 'post-season'; soccer competitions use their own, such as 'final' or 'torneo-apertura'). |
status_type_id | Int64 | |
status_type_name | String | |
status_type_state | String | |
status_type_completed | Boolean | |
status_type_description | String | |
status_type_detail | String | |
status_type_short_detail | String | |
status_clock | Float64 | Game clock in seconds as ESPN reports it: time remaining in the period for clock sports, elapsed seconds for soccer (e.g. 5400.0 at full time); 0.0 once a game has ended. |
status_display_clock | String | |
status_period | Int64 | Current or final period number (quarter, half, inning or period, depending on the sport). |
neutral_site | Boolean | Whether the match is played at a neutral venue. |
conference_competition | Boolean | |
attendance | Int64 | |
venue_id | Int64 | |
venue_full_name | String | |
venue_city | String | |
venue_state | String | |
venue_indoor | Boolean | |
broadcast | String | Every network name of the competition in feed order, deduped and ", "-joined (an entry with no names gives its market); "" when the game lists no broadcast. |
note | String | Event note text from the competition (e.g. a series or game label such as 'World Series - Game 1', or a shootout result); an empty string when there is none. |
home_id | Int64 | |
home_name | String | |
home_abbreviation | String | |
home_display_name | String | |
home_location | String | |
home_color | String | |
home_alternate_color | String | |
home_logo | String | |
home_score | String | Home team's score. For cricket, the innings string (e.g. '161/5 (18/20 ov, target 156)'). |
home_winner | Boolean | |
home_rank | String | |
away_id | Int64 | |
away_name | String | |
away_abbreviation | String | |
away_display_name | String | |
away_location | String | |
away_color | String | |
away_alternate_color | String | |
away_logo | String | |
away_score | String | Away team's score. For cricket, the innings string. |
away_winner | Boolean | |
away_rank | String |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_scoreboard(dates='20240115')
espn_nfl_summary
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/summary
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/summary
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
event | event_id | Y | event query parameter. |
Returns
return_parsed=True (default) — a dict of polars.DataFrames keyed by summary section (one table per documented key below); pass return_as_pandas=True for a dict of pandas.DataFrames (same keys).
boxscore_player
| col_name | type | description |
|---|---|---|
team_id | Int64 | Team id. |
team_abbreviation | String | Team abbreviation. |
team_display_name | String | Team display name. |
team_location | String | Team location. |
athlete_id | Int64 | Athlete id. |
athlete_display_name | String | Athlete display name. |
athlete_short_name | String | Athlete short name. |
athlete_jersey | String | Athlete jersey. |
athlete_position | String | Athlete position. |
starter | String | Starter. |
active | String | Active. |
did_not_play | String | Did not play. |
ejected | String | Ejected. |
reason | String | Reason. |
completions/passing_attempts | String | Pass completion ratio for the player in the box score, expressed as completions divided by pass attempts. |
passing_yards | String | Numeric yards by the passer_player_name, including yards gained in pass plays with laterals. This should equal official passing statistics. |
yards_per_pass_attempt | String | Average passing yards gained per pass attempt by the player in the box score. |
passing_touchdowns | String | Number of touchdown passes thrown by the player in the box score. |
interceptions | String | The number of interceptions thrown. |
sacks_sack_yards_lost | String | Combined sack statistics for the player, including sack count and total yards lost by the opposing offense. |
adj_qbr | String | ESPN's Adjusted Quarterback Rating for the player, measuring overall passing efficiency on a 0-100 scale. |
qb_rating | String | Traditional passer rating for the quarterback in the box score, calculated from completions, yards, touchdowns, and interceptions. |
rushing_attempts | String | |
rushing_yards | String | Numeric yards by the rusher_player_name, excluding yards gained in rush plays with laterals. This should equal official rushing statistics but could miss yards gained in rush plays with laterals. Please see the description of lateral_rusher_player_name for further information. |
yards_per_rush_attempt | String | |
rushing_touchdowns | String | Number of rushing touchdowns scored by the player in the box score. |
long_rushing | String | Longest single rushing gain recorded by the player in the game. |
receptions | String | The number of pass receptions. Lateral receptions officially don't count as reception. |
receiving_yards | String | Numeric yards by the receiver_player_name, excluding yards gained in pass plays with laterals. This should equal official receiving statistics but could miss yards gained in pass plays with laterals. Please see the description of lateral_receiver_player_name for further information. |
yards_per_reception | String | Average receiving yards gained per reception by the player in the box score. |
receiving_touchdowns | String | Number of receiving touchdowns scored by the player in the box score. |
long_reception | String | Longest single reception recorded by the player in the game. |
receiving_targets | String | Number of passing targets directed at the receiver during the game. |
fumbles | String | Number of fumbles committed by the player in the box score. |
fumbles_lost | String | |
fumbles_recovered | String | |
total_tackles | String | Total tackles recorded by the player, including both solo and assisted tackles. |
solo_tackles | String | Number of unassisted tackles recorded by the player in the box score. |
sacks | String | The Number of times sacked. |
tackles_for_loss | String | |
passes_defended | String | Number of pass plays disrupted or broken up by the defensive player in the game. |
qb_hits | String | Number of times the player made contact with the opposing quarterback after or during a pass attempt. |
defensive_touchdowns | String | Number of touchdowns scored by the player via defensive plays such as interception or fumble returns. |
interception_yards | String | |
interception_touchdowns | String | Number of touchdowns scored by the player on interception return plays. |
kick_returns | String | |
kick_return_yards | String | |
yards_per_kick_return | String | Average yards gained per kick return by the player in the box score. |
long_kick_return | String | Longest single kick return yardage recorded by the player in the game. |
kick_return_touchdowns | String | Number of touchdowns scored on kick returns by the player in the box score. |
punt_returns | String | |
punt_return_yards | String | |
yards_per_punt_return | String | Average yards gained per punt return by the player in the box score. |
long_punt_return | String | Longest single punt return yardage recorded by the player in the game. |
punt_return_touchdowns | String | Number of touchdowns scored on punt returns by the player in the box score. |
punts | String | Total number of punts executed by the player in the box score. |
punt_yards | String | Total yardage of all punts executed by the player in the game. |
gross_avg_punt_yards | String | Average gross punt distance before accounting for returns, recorded for the player in the game. |
touchbacks | String | Number of punts or kick-offs by the player that resulted in the opposing team starting from their own end zone. |
punts_inside20 | String | Number of punts by the player that were downed or stopped inside the opposing team's 20-yard line. |
long_punt | String | Distance of the longest individual punt executed by the player in the game. |
field_goals_made/field_goal_attempts | String | Field goal conversion ratio for the player, expressed as field goals made divided by attempts. |
field_goal_pct | String | |
long_field_goal_made | String | Distance of the longest successful field goal kicked by the player in the game. |
extra_points_made/extra_point_attempts | String | Extra point conversion ratio for the player, expressed as extra points made divided by attempts. |
total_kicking_points | String | Total points contributed by the player through field goals and extra points in the game. |
boxscore_team
| col_name | type | description |
|---|---|---|
team_id | Int64 | Team id. |
team_abbreviation | String | Team abbreviation. |
team_display_name | String | Team display name. |
home_away | String | Home away. |
display_order | Int64 | Display order. |
stat_name | String | Stat name. |
stat_label | String | Stat label. |
stat_display_value | String | Stat display value. |
stat_value | String | Stat value. |
winprobability
| col_name | type | description |
|---|---|---|
home_win_percentage | Float64 | Home win percentage. |
tie_percentage | Float64 | Tie percentage. |
play_id | Int64 | Play id. |
leaders
| col_name | type | description |
|---|---|---|
team_id | Int64 | Team id. |
team_abbreviation | String | Team abbreviation. |
category_name | String | Category name. |
category_display_name | String | Category display name. |
athlete_id | Int64 | Athlete id. |
athlete_display_name | String | Athlete display name. |
athlete_position | String | Athlete position. |
value | Float64 | Value. |
display_value | String | Display value. |
main_stat | String | Main stat. |
summary | String | Summary. |
game_info
| col_name | type | description |
|---|---|---|
attendance | Int64 | Attendance. |
venue_id | Int64 | Venue id. |
venue_guid | String | Venue guid. |
venue_full_name | String | Venue full name. |
venue_address_city | String | Venue address city. |
venue_address_state | String | Venue address state. |
venue_address_zip_code | String | Postal zip code of the venue where the game was played. |
venue_address_country | String | Country of the venue where the game was played. |
venue_grass | Boolean | Venue grass. |
officials
| col_name | type | description |
|---|---|---|
full_name | String | Full name. |
display_name | String | Display name. |
order | Int64 | Order. |
position_name | String | Position name. |
position_display_name | String | Position display name. |
position_id | Int64 | Position id. |
header
| col_name | type | description |
|---|---|---|
id | Int64 | Id. |
uid | String | Uid. |
time_valid | Boolean | Time valid. |
competitions | String | Competitions. |
links | String | Links. |
week | Int64 | Season week. |
game_note | String | Optional editorial note or context annotation attached to the game in the header. |
season_year | Int64 | Season year. |
season_current | Boolean | Season current. |
season_type | Int64 | Season type. |
league_id | Int64 | League id. |
league_uid | String | League uid. |
league_name | String | League name. |
league_abbreviation | String | League abbreviation. |
league_slug | String | League slug. |
league_is_tournament | Boolean | League is tournament. |
league_links | String | League links. |
league_logos | String | League logos. |
standings
| col_name | type | description |
|---|---|---|
group_header | String | Group header. |
conference_header | String | Conference header. |
division_header | String | Division header. |
team_id | Int64 | Team id. |
team_uid | String | Team uid. |
team_location | String | Team location. |
losses | String | Losses. |
points_against | String | |
points_for | String | |
ties | String | |
win_percent | String | Win percent. |
wins | String | Wins. |
overall | String |
format
| col_name | type | description |
|---|---|---|
regulation_periods | Int64 | Regulation periods. |
regulation_display_name | String | Regulation display name. |
regulation_slug | String | Regulation slug. |
regulation_clock | Float64 | Regulation clock. |
overtime_display_name | String | Overtime display name. |
overtime_slug | String | Overtime slug. |
overtime_clock | Float64 | Overtime clock. |
sudden_death_periods | Int64 | Number of sudden-death overtime periods defined in the game format rules. |
sudden_death_clock | Float64 | Clock duration or time limit for sudden-death overtime periods as defined in the game format. |
article
| col_name | type | description |
|---|---|---|
id | Int64 | Id. |
now_id | String | Now id. |
content_key | String | Content key. |
data_source_identifier | String | Data source identifier. |
publishedkey | String | Publishedkey. |
type | String | Type. |
game_id | Int64 | Game id. |
headline | String | Headline. |
description | String | Description. |
link_text | String | Link text. |
categorized | String | Categorized. |
originally_posted | String | Originally posted. |
last_modified | String | Last modified. |
published | String | Published. |
section | String | Section. |
source | String | Source. |
images | String | Images. |
video | String | Video. |
categories | String | Categories. |
keywords | String | Keywords. |
story | String | Story. |
premium | Boolean | Premium. |
is_live_blog | Boolean | Is live blog. |
allow_comments | Boolean | Allow comments. |
allow_search | Boolean | Allow search. |
allow_content_reactions | Boolean | Allow content reactions. |
links_web_href | String | Links web href. |
links_mobile_href | String | Links mobile href. |
links_api_self_href | String | Links api self href. |
links_app_sportscenter_href | String | Links app sportscenter href. |
injuries
| col_name | type | description |
|---|---|---|
injuries | String | Injuries. |
team_id | Int64 | Team id. |
team_uid | String | Team uid. |
team_display_name | String | Team display name. |
team_abbreviation | String | Team abbreviation. |
team_links | String | Team links. |
team_logo | String | Team logo. |
team_logos | String | Team logos. |
news
| col_name | type | description |
|---|---|---|
id | Int64 | Id. |
now_id | String | Now id. |
content_key | String | Content key. |
data_source_identifier | String | Data source identifier. |
type | String | Type. |
headline | String | Headline. |
description | String | Description. |
last_modified | String | Last modified. |
published | String | Published. |
images | String | Images. |
categories | String | Categories. |
premium | Boolean | Premium. |
byline | String | Byline. |
links_web_href | String | Links web href. |
links_mobile_href | String | Links mobile href. |
links_api_self_href | String | Links api self href. |
links_app_sportscenter_href | String | Links app sportscenter href. |
drives
| col_name | type | description |
|---|---|---|
id | Int64 | Id. |
description | String | Description. |
yards | Int64 | The number of receiving yards |
is_score | Boolean | |
offensive_plays | Int64 | |
result | String | The number of points the home team scored minus the number of points the visiting team scored. Equals h_score - v_score. Is NA for games which haven't yet been played. Convenient for evaluating against the spread bets. |
short_display_result | String | |
display_result | String | |
plays | String | |
team_id | Int64 | Team id. |
team_name | String | Full display name of the team. |
team_abbreviation | String | Team abbreviation. |
team_display_name | String | Team display name. |
team_short_display_name | String | |
team_logos | String | Team logos. |
start_period_type | String | |
start_period_number | Int64 | Period or quarter number in which the drive or sequence began. |
start_clock_display_value | String | Game clock time displayed at the start of the drive or scoring sequence. |
start_yard_line | Int64 | |
start_text | String | |
end_period_type | String | |
end_period_number | Int64 | Period or quarter number in which the drive or sequence ended. |
end_clock_display_value | String | Game clock time displayed at the end of the drive or scoring sequence. |
end_yard_line | Int64 | String indicating the yardline at the end of the given play consisting of team half and yard line number. |
end_text | String | |
time_elapsed_display_value | String | Human-readable duration of time elapsed during the drive or scoring sequence. |
drive_plays
| col_name | type | description |
|---|---|---|
drive_id | Int64 | |
drive_sequence | Int64 | Sequential position of the drive within the game's broadcast or play-by-play listing. |
id | Int64 | Id. |
sequence_number | String | Sequence number. |
text | String | Text. |
away_score | Int64 | Away score. |
home_score | Int64 | Home score. |
scoring_play | Boolean | Scoring play. |
priority | Boolean | |
modified | String | |
wallclock | String | Wallclock. |
team_participants | String | Teams or participants associated with a specific drive or sequence in the broadcast record. |
is_penalty | Boolean | |
stat_yardage | Int64 | |
is_turnover | Boolean | |
type_id | Int64 | Type id. |
type_text | String | Type text. |
type_abbreviation | String | |
period_number | Int64 | Period number. |
clock_display_value | String | Clock display value. |
start_down | Int64 | |
start_distance | Int64 | |
start_yard_line | Int64 | |
start_yards_to_endzone | Int64 | |
start_team_id | Int64 | |
end_down | Int64 | |
end_distance | Int64 | |
end_yard_line | Int64 | String indicating the yardline at the end of the given play consisting of team half and yard line number. |
end_yards_to_endzone | Int64 | |
end_down_distance_text | String | |
end_short_down_distance_text | String | |
end_possession_text | String | |
end_team_id | Int64 | |
start_down_distance_text | String | |
start_short_down_distance_text | String | |
start_possession_text | String | |
scoring_type_name | String | |
scoring_type_display_name | String | |
scoring_type_abbreviation | String | |
point_after_attempt_id | Int64 | |
point_after_attempt_text | String | |
point_after_attempt_abbreviation | String | |
point_after_attempt_value | Float64 |
scoring_plays
| col_name | type | description |
|---|---|---|
id | Int64 | Id. |
text | String | Text. |
away_score | Int64 | Away score. |
home_score | Int64 | Home score. |
type_id | Int64 | Type id. |
type_text | String | Type text. |
type_abbreviation | String | |
period_number | Int64 | Period number. |
clock_value | Float64 | |
clock_display_value | String | Clock display value. |
team_id | Int64 | Team id. |
team_uid | String | Team uid. |
team_display_name | String | Team display name. |
team_abbreviation | String | Team abbreviation. |
team_links | String | Team links. |
team_logo | String | Team logo. |
team_logos | String | Team logos. |
scoring_type_name | String | |
scoring_type_display_name | String | |
scoring_type_abbreviation | String |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_summary()
espn_nfl_calendar_site
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/calendar
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/calendar
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: no capture: 404 in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_calendar_site()
espn_nfl_news
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/news
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/news?limit=50
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
limit | limit | Y | Maximum number of items to return. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
id | Int64 | ESPN numeric identifier for the article. |
now_id | String | ESPN 'now' feed id. |
content_key | String | Internal content key. |
data_source_identifier | String | Source-system identifier. |
type | String | Article type (Story, Media, HeadlineNews, etc.). |
headline | String | Article headline. |
description | String | Article summary/description. |
last_modified | String | Last-modified timestamp (ISO 8601). |
published | String | Publish timestamp (ISO 8601). |
images | String | Article images (list, stringified). |
categories | String | Article categories (list, stringified). |
premium | Boolean | Whether the article is premium/paywalled. |
byline | String | Author byline string as published by ESPN. |
links_web_href | String | Web article URL. |
links_mobile_href | String | Mobile article URL. |
links_api_self_href | String | ESPN API canonical self-link for the article resource. |
links_app_sportscenter_href | String | SportsCenter app deep link. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_news()
espn_nfl_injuries
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/injuries
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/injuries
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
id | Int64 | ESPN numeric identifier for the athlete. |
display_name | String | Athlete's full display name as shown on ESPN. |
injuries | String | Injury entries for the athlete (list of dicts, stringified): status, type, details, dates. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_injuries()
espn_nfl_transactions
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/transactions
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/transactions?limit=500
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
limit | limit | Y | Maximum number of items to return. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
date | String | |
description | String | |
team_abbreviation | String | |
team_alternate_color | String | |
team_color | String | |
team_display_name | String | |
team_id | Int64 | |
team_links | String | |
team_location | String | |
team_logos | String | |
team_name | String |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_transactions()
espn_nfl_conferences
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/groups
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/groups
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
group_id | Int64 | |
name | String | Name, as reported by MFL but reordered into FirstName LastName instead of Last, First |
abbreviation | String | |
short_name | String | Player short name (i.e. "F.Last") |
is_conference | Boolean | |
parent_group_id | Int64 | |
depth | Int64 | |
children_count | Int64 |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_conferences()
espn_nfl_statistics_league
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/statistics
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/statistics
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: parser: parse_items returns no columns on the live payload (nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb, 2026-10-07); its rows sit under keys it does not read (top level: league, season, status, timestamp).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_statistics_league()
espn_nfl_draft
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/draft
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/draft
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: parser: parse_items returns no columns on the live payload (nba, nfl, nhl, wnba, 2026-10-07); its rows sit under keys it does not read (top level: breakingNews, broadcasts, displayName, picks, positions, rounds, shortDisplayName, status).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_draft()
espn_nfl_teams_site
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams?limit=1000
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
limit | limit | Y | Maximum number of items to return. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
team_abbreviation | String | Short team abbreviation (e.g. "BOS"). |
team_alternate_color | String | Secondary team color as a hex string (no leading '#'). |
team_color | String | Primary team color as a hex string (no leading '#'). |
team_display_name | String | Full team display name (location + nickname). |
team_id | Int64 | ESPN team id (stable join key across ESPN endpoints). |
team_is_active | Boolean | Whether the team is currently active. |
team_is_all_star | Boolean | Whether the entry is an all-star squad rather than a franchise. |
team_location | String | Team location / city (e.g. "Boston"). |
team_logos | String | Pipe-delimited logo image URLs. |
team_name | String | Team nickname/mascot (e.g. "Celtics"). |
team_nickname | String | Team nickname as ESPN labels it (often equals team_name). |
team_short_display_name | String | Abbreviated display name for compact UIs. |
team_slug | String | URL slug used in ESPN web paths. |
team_uid | String | ESPN global UID (encodes sport/league/team). |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_teams_site()
espn_nfl_team
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
team_abbreviation | String | |
team_alternate_color | String | |
team_color | String | |
team_display_name | String | |
team_franchise_$ref | String | |
team_franchise_abbreviation | String | |
team_franchise_color | String | |
team_franchise_display_name | String | |
team_franchise_id | Int64 | |
team_franchise_is_active | Boolean | |
team_franchise_location | String | |
team_franchise_name | String | |
team_franchise_short_display_name | String | |
team_franchise_slug | String | |
team_franchise_team_$ref | String | |
team_franchise_uid | String | |
team_franchise_venue_$ref | String | |
team_franchise_venue_address_city | String | |
team_franchise_venue_address_state | String | |
team_franchise_venue_full_name | String | |
team_franchise_venue_grass | Boolean | |
team_franchise_venue_guid | String | |
team_franchise_venue_id | Int64 | |
team_franchise_venue_images | String | |
team_franchise_venue_indoor | Boolean | |
team_franchise_venue_short_name | String | |
team_groups_id | Int64 | |
team_groups_is_conference | Boolean | |
team_groups_parent_id | Int64 | |
team_id | Int64 | |
team_is_active | Boolean | |
team_links | String | |
team_location | String | |
team_logos | String | |
team_name | String | |
team_next_event | String | |
team_record_items | String | |
team_short_display_name | String | |
team_slug | String | |
team_standing_summary | String | |
team_uid | String |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team(team_id='4')
espn_nfl_team_roster
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/roster
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/roster?limit=500
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. | ||
limit | limit | Y | Maximum number of items to return. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
position_group | String | Postion group of player as listed by NFL |
id | Int64 | Id. |
uid | String | Uid. |
guid | String | Guid. |
first_name | String | First name. |
last_name | String | Last name. |
full_name | String | Full name. |
display_name | String | Display name. |
short_name | String | Short name. |
weight | Float64 | Weight. |
display_weight | String | Display weight. |
height | Float64 | Height. |
display_height | String | Display height. |
links | String | Links. |
slug | String | Slug. |
jersey | String | Jersey. |
injuries | String | Injuries. |
contracts | String | Contracts. |
alternate_ids_sdr | String | Alternate ids sdr. |
birth_place_city | String | Birth place city. |
birth_place_state | String | Birth place state. |
birth_place_country | String | Birth place country. |
college_id | Int64 | College id. |
college_guid | String | College guid. |
college_mascot | String | College mascot. |
college_name | String | College name. |
college_short_name | String | College short name. |
college_abbrev | String | College abbrev. |
college_logos | String | College logos. |
headshot_href | String | Headshot href. |
headshot_alt | String | Headshot alt. |
position_id | Int64 | Position id. |
position_name | String | Position name. |
position_display_name | String | Position display name. |
position_abbreviation | String | Position abbreviation. |
position_leaf | Boolean | Position leaf. |
position_parent_id | Int64 | |
position_parent_name | String | |
position_parent_display_name | String | |
position_parent_abbreviation | String | |
position_parent_leaf | Boolean | |
experience_years | Int64 | Experience years. |
status_id | Int64 | Status id. |
status_name | String | Status name. |
status_type | String | Status type. |
status_abbreviation | String | Status abbreviation. |
age | Float64 | Age. |
date_of_birth | String | Date of birth. |
debut_year | Float64 | Debut year. |
hand_type | String | Hand type. |
hand_abbreviation | String | Hand abbreviation. |
hand_display_value | String | Hand display value. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_roster(team_id='4')
espn_nfl_team_schedule
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/schedule
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/schedule
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. | ||
season | season | Y | Season year (e.g. 2024). |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
id | Int64 | ESPN numeric event identifier. |
date | String | Event timestamp (ISO 8601, UTC). |
name | String | Full event name (e.g. 'Team A at Team B'). |
short_name | String | Abbreviated event name (e.g. 'TA @ TB'). |
time_valid | Boolean | Whether the event time is confirmed. |
competitions | String | Competition detail (list of dicts, stringified): competitors, venue, status. |
links | String | Related links (list, stringified). |
season_year | Int64 | Four-digit season year. |
season_display_name | String | Human-readable season label (e.g. '2024-25'). |
season_type_id | Int64 | ESPN numeric identifier for the season type. |
season_type_type | Int64 | Season type numeric code. |
season_type_name | String | Season type name (e.g. Regular Season). |
season_type_abbreviation | String | Season type abbreviation. |
week_number | Int64 | |
week_text | String | Human-readable label for the week or scheduling block in which the event falls (e.g., 'Week 3', 'Bowl Week'), as returned by the ESPN schedule API. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_schedule(team_id='4')
espn_nfl_team_record
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/record
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/record
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. |
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_record(team_id='4')
espn_nfl_team_depthcharts
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/depthcharts
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/depthcharts
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. |
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: parser: parse_items returns no columns on the live payload (nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb, 2026-10-07); its rows sit under keys it does not read (top level: depthchart, season, status, team, timestamp).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_depthcharts(team_id='4')
espn_nfl_team_injuries
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/injuries
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/injuries
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
id | Int64 | ESPN numeric identifier for the athlete. |
display_name | String | Athlete's full display name as shown on ESPN. |
injuries | String | Injury entries for the athlete (list of dicts, stringified): status, type, details, dates. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_injuries(team_id='4')
espn_nfl_team_transactions
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/transactions
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/transactions
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. |
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_transactions(team_id='4')
espn_nfl_team_history
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/history
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/history
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. |
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, mbb, wbb; 400 in cfb with the documented example arguments (2026-10-07).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_history(team_id='4')
espn_nfl_team_news
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/news
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/news?limit=50
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. | ||
limit | limit | Y | Maximum number of items to return. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
id | Int64 | ESPN numeric identifier for the article. |
now_id | String | ESPN 'now' feed id. |
content_key | String | Internal content key. |
data_source_identifier | String | Source-system identifier. |
type | String | Article type (Story, Media, HeadlineNews, etc.). |
headline | String | Article headline. |
description | String | Article summary/description. |
last_modified | String | Last-modified timestamp (ISO 8601). |
published | String | Publish timestamp (ISO 8601). |
images | String | Article images (list, stringified). |
categories | String | Article categories (list, stringified). |
premium | Boolean | Whether the article is premium/paywalled. |
byline | String | Author byline string as published by ESPN. |
links_web_href | String | Web article URL. |
links_mobile_href | String | Mobile article URL. |
links_api_self_href | String | ESPN API canonical self-link for the article resource. |
links_app_sportscenter_href | String | SportsCenter app deep link. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_news(team_id='4')
espn_nfl_team_leaders
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/{team_id}/leaders
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/4/leaders
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
team_id | team_id | Y | team_id path parameter. |
Returns
return_parsed=True (default) — the output of parse_items; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: no capture: ESPN answers an empty object in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_team_leaders(team_id='4')
espn_nfl_player_info
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/athletes/{athlete_id}
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/athletes/4239
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
athlete_id | athlete_id | Y | athlete_id path parameter. |
Returns
return_parsed=True (default) — the output of parse_single_entity; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: no capture: 404 in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_player_info(athlete_id='4239')
espn_nfl_player_bio
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/athletes/{athlete_id}/bio
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/athletes/4239/bio
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
athlete_id | athlete_id | Y | athlete_id path parameter. |
Returns
return_parsed=True (default) — the output of parse_single_entity; pass return_as_pandas=True for a pandas.DataFrame.
No returns table is published for this endpoint: no capture: 404 in nba, nfl, mlb, nhl, wnba, cfb, mbb, wbb with the documented example arguments (2026-10-07).
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_player_bio(athlete_id='4239')
espn_nfl_player_news
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/athletes/{athlete_id}/news
Valid URL: https://site.api.espn.com/apis/site/v2/sports/football/nfl/athletes/4239/news
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
athlete_id | athlete_id | Y | athlete_id path parameter. |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
id | Int64 | ESPN numeric identifier for the article. |
now_id | String | ESPN 'now' feed id. |
content_key | String | Internal content key. |
data_source_identifier | String | Source-system identifier. |
type | String | Article type (Story, Media, HeadlineNews, etc.). |
headline | String | Article headline. |
description | String | Article summary/description. |
last_modified | String | Last-modified timestamp (ISO 8601). |
published | String | Publish timestamp (ISO 8601). |
images | String | Article images (list, stringified). |
categories | String | Article categories (list, stringified). |
premium | Boolean | Whether the article is premium/paywalled. |
byline | String | Author byline string as published by ESPN. |
links_web_href | String | Web article URL. |
links_mobile_href | String | Mobile article URL. |
links_api_self_href | String | ESPN API canonical self-link for the article resource. |
links_app_sportscenter_href | String | SportsCenter app deep link. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_player_news(athlete_id='4239')
espn_nfl_standings
ESPN endpoint.
Endpoint URL: GET https://site.api.espn.com/apis/v2/sports/football/nfl/standings
Valid URL: https://site.api.espn.com/apis/v2/sports/football/nfl/standings
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
season | season | Y | Season year (e.g. 2024). | ||
group | group | Y | Conference or group id filter (e.g. an ESPN conference id). | ||
type | standings_type | Y | Standings variant (e.g. 'by-division' or 'by-conference'). |
Returns
return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.
| col_name | type | description |
|---|---|---|
group_name | String | Group name. |
group_abbreviation | String | Group abbreviation. |
team_id | Int64 | Team id. |
team_name | String | Team name. |
team_abbreviation | String | Team abbreviation. |
team_display_name | String | Team display name. |
team_location | String | Team location. |
team_logo | String | Team logo. |
clincher | Float64 | Clincher. |
differential | Float64 | Differential. |
games_behind | Float64 | Games behind. |
losses | Float64 | Losses. |
playoff_seed | Float64 | Playoff seed. |
point_differential | Float64 | Point differential. |
points_against | Float64 | Points against. |
points_for | Float64 | Points for. |
streak | Float64 | Streak. |
ties | Float64 | Number of matches the team has drawn. |
win_percent | Float64 | Win percent. |
wins | Float64 | Wins. |
division_losses | Float64 | Number of games the team has lost against opponents within their own division. |
division_record | Float64 | The team's composite win-loss-tie record against division opponents, serialized as a numeric value. |
division_ties | Float64 | Number of games the team has tied against opponents within their own division. |
division_wins | Float64 | Number of games the team has won against opponents within their own division. |
overall | String | Overall. |
home | String | Home. |
road | String | Road. |
vs. div. | String | Vs. div.. |
vs. conf. | String | Vs. conf.. |
return_parsed=False — the raw JSON Dict payload, unparsed.
Raises
| Exception | Description |
|---|---|
NoDataError | The host answered 404 -- the requested resource does not exist. |
ValueError | The host answered 400 / 422 -- the request is wrong; retrying cannot help. |
AssetFetchError | The fetch failed (a non-2xx answer or a connection failure after retries, e.g. 401/403/429/5xx, or an empty or unreadable 200 body) -- the answer is unknown, not empty. |
Example
espn_nfl_standings()