Skip to content

Instantly share code, notes, and snippets.

@akeaswaran
Last active July 15, 2025 20:55
Show Gist options
  • Save akeaswaran/b48b02f1c94f873c6655e7129910fc3b to your computer and use it in GitHub Desktop.
Save akeaswaran/b48b02f1c94f873c6655e7129910fc3b to your computer and use it in GitHub Desktop.
ESPN hidden API Docs

ESPN's hidden API endpoints

Football

College Football

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

NFL

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

Baseball

MLB

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

College Baseball

Scores: https://site.api.espn.com/apis/site/v2/sports/baseball/college-baseball/scoreboard

Hockey

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

Basketball

NBA

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

WNBA

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

Women's College Basketball

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

Men's College Basketball

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

Soccer

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...

@reidwatson
Copy link

Why doesn't it show all the college football games? Both https://sports.core.api.espn.com/v2/sports/football/leagues/college-football/events and https://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard only show 23 games but you can clearly see for week 2 there is much more: https://www.espn.com/college-football/schedule/_/week/2

See this link from last year. You gotta pass in a “group” param to get all FBS. By default it just returns top 25 games.
https://gist.github.com/akeaswaran/b48b02f1c94f873c6655e7129910fc3b?permalink_comment_id=4284742#gistcomment-4284742

Interesting - you would think the page count would be more than one without specifying the group {"$meta":{"parameters":{"week":["2"],"groups":[""],"season":["2023"],"seasontypes":["2"]}},"count":23,"pageIndex":1,"pageSize":25,"pageCount":1,"items":[

You can also pass in a “limit” param to get more in your results. Like ‘&limit=200’

@seanrco
Copy link

seanrco commented Sep 11, 2023

Anyone know if there is a way to view the endpoint json schemas? For example, would like to view the json schema for College Football Team (http://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/:team). Reasoning for this I am using Paste Special > JSON to create models for a C# application. Depending on team I noticed not all JSON objects and keys maybe be present at time of loading the JSON result. Ideally they would have a schema that models full JSON result.

@BataBoom
Copy link

Anyone know if there is a way to view the endpoint json schemas? For example, would like to view the json schema for College Football Team (http://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/:team). Reasoning for this I am using Paste Special > JSON to create models for a C# application. Depending on team I noticed not all JSON objects and keys maybe be present at time of loading the JSON result. Ideally they would have a schema that models full JSON result.

https://site.api.espn.com/apis/site/v2/sports/football/nfl/seasons/2023/teams/29?lang=en&region=us

@seanrco
Copy link

seanrco commented Sep 16, 2023

@BataBoom Thanks, for informing about the seasons endpoint, but was not what I was looking for. For those wondering @BataBoom added that can hit:

https://site.api.espn.com/apis/site/v2/sports/football/college-football/seasons/2023/teams/2305?lang=en&region=us

Instead of:

https://site.api.espn.com/apis/site/v2/sports/football/college-football/teams/2305

The first endpoint provides extended next event information (full season).

What I am trying to find out is if it is possible to load the JSON schemas directly which normally gives the model results. This is normally outlined in the following header:

Q5qGitZEtY

But if you try loading https://site.api.espn.com/teamSummary.json get a 403 Forbidden. Either I am trying to load incorrect URL or they just have it blocked...

@trevthetrev
Copy link

trevthetrev commented Sep 17, 2023

Hey there folks,

I've been working with these endpoints quite a bit recently and built a couple of APIs that build upon/work well with these ESPN endpoints. I know plenty of people are asking around for additional endpoints so I just thought I'd drop this here and hopefully help a few of y'all out. If you need featured news, additional league news, live scores, box scores, upcoming events, expanded leagues, teams, etc., come check them out at: https://rapidapi.com/makenoise-media-makenoise-media-default/api/score-room

Capture d’écran 2023-09-17 à 1 44 12 AM

I'm always adding new features and endpoints and I'm around to help with any questions if you have them!

Cheers!
:)

@bobgodwin
Copy link

bobgodwin commented Sep 18, 2023

It's football time again so I'm putting up some links to some of the ESPN/NFL stuff I've built. It's part of my online football pool updated to not use any of my stored data.
https://bigearthweb.com/football-espn/
Not a lot to it really. A few PHP files & classes that get data from ESPN, some jquery to fire navigation & loaders and CSS. It uses these end points:

http://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard
https://site.web.api.espn.com/apis/v2/sports/football/nfl/standings?season=[year]&level=[level]
http://site.api.espn.com/apis/site/v2/sports/football/nfl/summary?event=[event_id]

This version just reads and formats data. The online version writes some of the current data to SQL and JSON. I've also included some tiny little logos because if a team no longer exists, ESPN doesn't have a logo for it (Or I can't find it). What it does is get whatever data it can for game stats (Team stats, Leader stats and Drives), standings and post season results from as far back as 1999 to the present. Here are the files if you're interested:
https://bigearthweb.com/football-espn/espn-football.7z

@RexStev
Copy link

RexStev commented Sep 22, 2023

Anyone got an API that I could get football highlights from?

@trevthetrev
Copy link

trevthetrev commented Sep 22, 2023

Anyone got an API that I could get football highlights from?

@RexStev Not sure exactly what you're looking for, but this may help. All types of stats, news, game/player info, etc. https://rapidapi.com/makenoise-media-makenoise-media-default/api/score-room.

@ryanbuckner
Copy link

Is there a way to get the NHL scores endpoint to return a range of dates rather than 1 day per call?

currently using: "http://site.api.espn.com/apis/site/v2/sports/hockey/nhl/scoreboard?limit=500&dates=" + day

@davidbti
Copy link

davidbti commented Sep 26, 2023 via email

@adrianv425
Copy link

This is awesome! Has anyone found anything regarding rugby scores? For example - the National Rugby League? I have yet to find anything.

NRL: https://site.api.espn.com/apis/site/v2/sports/rugby-league/3/scoreboard
RWC: https://site.api.espn.com/apis/site/v2/sports/rugby/164205/scoreboard

@krax13
Copy link

krax13 commented Sep 29, 2023

Hi all,
I want to make a dashboard about the our own Pigskin'em group.
Is there any API to use the Pick'em picks or group data?

Many thanks in advance for any thoughts.

@isaiahscheel
Copy link

isaiahscheel commented Sep 30, 2023

Current drive for college football?
I am trying to have a site get live data for a few different sports and one is college football. However when I use the following endpoint:
http://site.api.espn.com/apis/site/v2/sports/football/college-football/summary?event=401524023
And I am getting a really old current drive:

image

This is a drive from COLO from the start of the 3rd quarter but it is currently the strart of the 4th now:
image

Other data like possession, score, and stats are being updated but not the drives, both current and previous. Anyone else run into this?

@trevthetrev
Copy link

trevthetrev commented Sep 30, 2023

Current drive for college football? I am trying to have a site get live data for a few different sports and one is college football. However when I use the following endpoint: http://site.api.espn.com/apis/site/v2/sports/football/college-football/summary?event=401524023 And I am getting a really old current drive:

image

This is a drive from COLO from the start of the 3rd quarter but it is currently the strart of the 4th now: image

Other data like possession, score, and stats are being updated but not the drives, both current and previous. Anyone else run into this?

@isaiahscheel
I had to build my own API and endpoints because ESPN's old ones simply weren't cutting it. I actually saw your comment and decided to add the play-by-play endpoint to my API for folks to use. Hopefully, this helps :)

https://rapidapi.com/makenoise-media-makenoise-media-default/api/score-room (fetchPlayByPlay endpoint)

Let me know if it doesn't have what you're looking for and I'll see if I can include what you are!

@kyleskin
Copy link

Is there a way to get the NHL scores endpoint to return a range of dates rather than 1 day per call?

currently using: "http://site.api.espn.com/apis/site/v2/sports/hockey/nhl/scoreboard?limit=500&dates=" + day

Don't know if you still need help with this, but you can pass several options to dates:
yyyy to return the events for the year
yyyyMM to return the events for a year and month
yyyyMMdd to return the events for a specific year, month, and day
yyyyMMdd-yyyyMMdd to return the events in a range

@KvyatkovskyAleksey
Copy link

@ryanbuckner
Copy link

ryanbuckner commented Oct 24, 2023 via email

@ZacharySal
Copy link

Is there anyway to get addition article information with the data source identifier?

@ITIRadio
Copy link

ITIRadio commented Nov 2, 2023

Many of the previously listed URL's for endpoints are now dead. Having worked with the API for a couple of years (and this year's football API's for a couple of months), here is a summary of links that are still working, using the NFL as an example (fill in other sports & league names as mentioned above as necessary).

List of Teams
https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams

Full Roster, the team_id is a 1 or 2-digit number found at the previous endpoint. (In the returned roster JSON, under athletes, the roster is divided up into offense, defense, and special teams, but no season statistics are supplied.) Don't include the brackets.
https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/[team_id]/roster

Team Schedule, scores only
https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/[team_id]/schedule

Team Total Statistics (other URL's either don't work, only provide circular links, give links back to espn.com, or return data with all 0's). Also note that the previously mentioned standings endpoints don't provide much either; the event calls still work (mentioned below).
https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/[team_id]/statistics

From a team's roster, get a player's 7-digit id (player_id), then receive this season's (2023) statistics for that player (change the year for different season totals). (League-wide rosters don't seem to be working, at least at the endpoints I tried.)
http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/seasons/2023/types/2/athletes/[player_id]/statistics/

Player's career totals
http://sports.core.api.espn.com/v2/sports/football/leagues/nfl/athletes/[player_id]/statistics


I have concentrated on box scores, previews, and in-game scores for my projects (https://github.com/ITIRadio/ESPN-API/), rather than player & team total season statistics. However, to address some of the questions above, the API in general is not very fast to update, and is subject to slowing down significantly when receiving a lot of requests from an IP. As such, I try to get just one day's worth of box scores via the event calls at one time. I also generally only use the scoreboard call for games in-progress, or I don't make a lot of requests. I have never been able to even get close to the previously mentioned 2,500 calls in a day before receiving errors.

Other issues such as updating the timeouts remaining were only fixed this past week for NFL games in-progress (college games still don't work). I wouldn't expect drives in event calls to be fully updated for a couple of hours after the game.

The scoreboard call itself switches from yesterday's scores to today's schedule usually between 9 and 11 AM Eastern US time, for daily sports. For football, expect the week's scoreboard to switch at around the same time on Tuesdays for the NFL and Sundays for college. As such, I usually depend on supplying dates to my projects.

Current Scoreboard (for the given week for football)
http://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard

Current Scoreboard for all College Division I games (group=80 is all conferences, maximum 200 games)
https://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard?groups=80&limit=200

Scoreboard for all NFL games on a given date, in YYYYMMDD format (suggested to use 1 day at a time due to throttling issues, but use a range of dates, earlier date first, at your discretion)
http://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard?dates=20231029-20231029

From a scoreboard call, use ['events'][game_number]['id'] to retrieve an event_id for a particular game. Then to receive full box score data either post-game or in-progress, or preview data before the game begins (also note that updated standings as usually provided in this call post-game):
http://site.api.espn.com/apis/site/v2/sports/football/nfl/summary?event=[event_id]

@aoddspotato
Copy link

aoddspotato commented Nov 7, 2023

Does anyone know how to return more than 100 college basketball games? http://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?groups=50&limit=200 only returns the first 100 even including the group=50 (all div 1) and setting the limit higher than 100.

For example Idaho v Washington State (https://www.espn.com/mens-college-basketball/boxscore/_/gameId/401580926) is missing from the return.

@ischmidt20
Copy link

ischmidt20 commented Nov 7, 2023

@aoddspotato I always get all of the games for the day if I set the date parameter explicitly (YYYYMMDD format), along with the limit parameter and groups=50

@aoddspotato
Copy link

aoddspotato commented Nov 22, 2023

@aoddspotato I always get all of the games for the day if I set the date parameter explicitly (YYYYMMDD format), along with the limit parameter and groups=50

@ischmidt20 Can you provide an example for an explicit date? Im trying with dates and getting very short results or only games currently on scoreboard.

@ischmidt20
Copy link

ischmidt20 commented Nov 26, 2023

@dburk2
Copy link

dburk2 commented Nov 26, 2023

Anyone know how to get spreads/totals from the API? Seems like they might have been removed with ESPN Bet? Used to be in pickcenter object under the summary endpoint.

@akreu
Copy link

akreu commented Dec 6, 2023

Anyone find an endpoint to get stats by period, for example, NBA player points in 1-4 quarters or by half?

@Kulbir-Singh
Copy link

does anyone know if espn uses webhook to send updates ?

@Highlightly
Copy link

@RexStev if you are still looking for highlights API its worth checking https://highlightly.net/

@juniortotep
Copy link

anyone got recently working api for soccer?

@morris-choga
Copy link

@juniortotep i am. I recently implemented it in my project & its giving me some delayed status . How is it going for you so far

@tacrec
Copy link

tacrec commented Jan 30, 2024

Is there an endpoint for college softball?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment