ESPN's hidden API endpoints
Latest News: http://site.api.espn.com/apis/site/v2/sports/football/college-football/news
Latest Scores: http://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard
-
query params:
- calendar: 'blacklist'
- dates: any date in YYYYMMDD
Game Information: http://site.api.espn.com/apis/site/v2/sports/football/college-football/summary?event=:gameId
-
params:
- gameId: identifier of some game (EX: 400934572 for 2017 Army vs Navy)
Team Information: http://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/:team
-
params:
- team: some team abbreviation (EX: 'all' for Allegheny, 'gt' for Georgia Tech, 'wisconsin' for Wisconsin)
Rankings: http://site.api.espn.com/apis/site/v2/sports/football/college-football/rankings
Scores: http://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard
News: http://site.api.espn.com/apis/site/v2/sports/football/nfl/news
All Teams: http://site.api.espn.com/apis/site/v2/sports/football/nfl/teams
Specific Team: http://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/:team
Scores: http://site.api.espn.com/apis/site/v2/sports/baseball/mlb/scoreboard
News: http://site.api.espn.com/apis/site/v2/sports/baseball/mlb/news
All Teams: http://site.api.espn.com/apis/site/v2/sports/baseball/mlb/teams
Specific Team: http://site.api.espn.com/apis/site/v2/sports/baseball/mlb/teams/:team
Scores: https://site.api.espn.com/apis/site/v2/sports/baseball/college-baseball/scoreboard
Scores: http://site.api.espn.com/apis/site/v2/sports/hockey/nhl/scoreboard
News: http://site.api.espn.com/apis/site/v2/sports/hockey/nhl/news
All Teams: http://site.api.espn.com/apis/site/v2/sports/hockey/nhl/teams
Specific Team: http://site.api.espn.com/apis/site/v2/sports/hockey/nhl/teams/:team
Scores: http://site.api.espn.com/apis/site/v2/sports/basketball/nba/scoreboard
News: http://site.api.espn.com/apis/site/v2/sports/basketball/nba/news
All Teams: http://site.api.espn.com/apis/site/v2/sports/basketball/nba/teams
Specific Team: http://site.api.espn.com/apis/site/v2/sports/basketball/nba/teams/:team
Scores: http://site.api.espn.com/apis/site/v2/sports/basketball/wnba/scoreboard
News: http://site.api.espn.com/apis/site/v2/sports/basketball/wnba/news
All Teams: http://site.api.espn.com/apis/site/v2/sports/basketball/wnba/teams
Specific Team: http://site.api.espn.com/apis/site/v2/sports/basketball/wnba/teams/:team
Scores: http://site.api.espn.com/apis/site/v2/sports/basketball/womens-college-basketball/scoreboard
News: http://site.api.espn.com/apis/site/v2/sports/basketball/womens-college-basketball/news
All Teams: http://site.api.espn.com/apis/site/v2/sports/basketball/womens-college-basketball/teams
Specific Team: http://site.api.espn.com/apis/site/v2/sports/basketball/womens-college-basketball/teams/:team
Scores: http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard
News: http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/news
All Teams: http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/teams
Specific Team: http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/teams/:team
Scores: http://site.api.espn.com/apis/site/v2/sports/soccer/:league/scoreboard
-
params:
- league: some league abbreviation (EX: 'eng.1' for EPL, 'usa.1' for MLS)
Latest News: http://site.api.espn.com/apis/site/v2/sports/soccer/:league/news
List of Team Information: http://site.api.espn.com/apis/site/v2/sports/soccer/:league/teams
Will update with more information as I find more...
Is there any way to get the entire ESPN soccer storyboard but also return the league (e.g., "eng.1") for each game?
When I use
all, theleaguesentry in the result is empty. The individual events do not have a league parameter, unless the game has not yet begun in which case it will be included with the betting information. The closest I can get is theseasonparameter for each event, which looks like this:"season":{"year":2025,"type":13481,"slug":"2025-26-english-premier-league"}But I do not have a crosswalk between either the
typeorslugand the league code.A couple years ago I was able to use https://secure.espn.com/soccer/scoreboard/_/league/all/date/{date}?xhr=1 but that now always returns an HTML result rather than JSON.