EPL — ESPN CDN API (cdn.espn.com)
sportsdataverse.epl — 1 endpoint.
espn_epl_cdn_scoreboard
espn.com scoreboard page data for one day (one week for football), one row per game. The page's sbData block is a Site v2 scoreboard payload.
Endpoint URL: GET https://cdn.espn.com/core/eng.1/scoreboard
Valid URL: https://cdn.espn.com/core/eng.1/scoreboard?xhr=1&date=20250115
| API Parameter | Python | Pattern | Required | Nullable | Description |
|---|---|---|---|---|---|
date | date | Y | Single date (YYYYMMDD). Ignored by cfb and nfl, which are week-oriented. Defaults to today. | ||
week | week | Y | Week number (cfb and nfl). | ||
year | season | Y | Season year that week belongs to (cfb and nfl). | ||
seasontype | season_type | Y | Season phase for week: 1=preseason, 2=regular season, 3=postseason (cfb and nfl). |
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 | character | ESPN event id. |
uid | character | |
date | character | Match start timestamp (ISO 8601, UTC). |
name | character | Full event name (e.g. 'Team A at Team B'). |
short_name | character | Abbreviated event name (e.g. 'TA @ TB'). |
season_year | integer | Integer season year ESPN assigns the event (e.g. 2025 for the 2025-26 season). |
season_type | integer | 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 | character | |
status_type_id | character | |
status_type_name | character | |
status_type_state | character | |
status_type_completed | logical | |
status_type_description | character | |
status_type_detail | character | |
status_type_short_detail | character | |
status_clock | double | 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 | character | |
status_period | integer | Current or final period number (quarter, half, inning or period, depending on the sport). |
neutral_site | logical | Whether the match is played at a neutral venue. |
conference_competition | logical | |
attendance | integer | |
venue_id | character | |
venue_full_name | character | |
venue_city | character | |
venue_state | character | |
venue_indoor | logical | |
broadcast | character | |
note | character | 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 | character | |
home_name | character | |
home_abbreviation | character | |
home_display_name | character | |
home_location | character | |
home_color | character | |
home_alternate_color | character | |
home_logo | character | |
home_score | character | Home team's score. For cricket, the innings string (e.g. '161/5 (18/20 ov, target 156)'). |
home_winner | logical | |
home_rank | character | |
away_id | character | |
away_name | character | |
away_abbreviation | character | |
away_display_name | character | |
away_location | character | |
away_color | character | |
away_alternate_color | character | |
away_logo | character | |
away_score | character | Away team's score. For cricket, the innings string. |
away_winner | logical | |
away_rank | character |
return_parsed=False — the raw JSON Dict payload, unparsed.
Example
espn_epl_cdn_scoreboard(date='20250115')
Last validated n/a.