Skip to content

Instantly share code, notes, and snippets.

@akeaswaran
Last active May 19, 2026 12:45
Show Gist options
  • Select an option

  • Save akeaswaran/b48b02f1c94f873c6655e7129910fc3b to your computer and use it in GitHub Desktop.

Select an option

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

@hamzashiwani
Copy link
Copy Markdown

Hi everyone,
I’m trying to use the following ESPN API to fetch game summaries for college football: https://site.api.espn.com/apis/site/v2/sports/football/college-football/summary?event=ed11cbf3b02850670bf213622cf4517b
But it’s not working / returning errors for me.
Does anyone have an alternate solution or a reliable way to get college football game summaries / stats through ESPN or another free API?

@hamzashiwani That doesn't look like a valid eventID... example: https://site.api.espn.com/apis/site/v2/sports/football/college-football/summary?event=401777353

Cool thanks!

@RhettTitus
Copy link
Copy Markdown

RhettTitus commented Dec 10, 2025

How do you get the current days NCAA men's college basketball schedule?

@downing034
Copy link
Copy Markdown

downing034 commented Jan 21, 2026

How do you get the current days NCAA men's college basketball schedule?

You should be able to hit the scoreboard endpoint to get any specific day's schedule.
https://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?dates=20260120

Note to get every single game, you need to include the groups query param. It must be a higher number than the total games for the day.
https://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?dates=20260120&groups=100

I also think if you just wanted today's at any point you can just drop the date query param.

@ischmidt20
Copy link
Copy Markdown

How do you get the current days NCAA men's college basketball schedule?

You should be able to hit the scoreboard endpoint to get any specific day's schedule. https://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?dates=20260120

Note to get every single game, you need to include the groups query param. It must be a higher number than the total games for the day. https://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?dates=20260120&groups=100

I also think if you just wanted today's at any point you can just drop the date query param.

Add groups=50 to get games for all Division I and then limit=365 to ensure you actually get every game.

@Anibal00
Copy link
Copy Markdown

Anibal00 commented Feb 1, 2026

Is there any way to get the depth charts of nba teams? https://www.espn.com/nba/depth/_/type/full or https://www.espn.com/nba/team/depth/_/name/gsw

@propsdaily
Copy link
Copy Markdown

Is there any way to get the depth charts of nba teams? https://www.espn.com/nba/depth/_/type/full or https://www.espn.com/nba/team/depth/_/name/gsw

@Anibal00 You should be able to do something like this:
https://site.api.espn.com/apis/site/v2/sports/basketball/nba/teams/25/depthcharts where 25 is the team ID.

@Anibal00
Copy link
Copy Markdown

Anibal00 commented Feb 2, 2026

Is there any way to get the depth charts of nba teams? https://www.espn.com/nba/depth/_/type/full or https://www.espn.com/nba/team/depth/_/name/gsw

@Anibal00 You should be able to do something like this: https://site.api.espn.com/apis/site/v2/sports/basketball/nba/teams/25/depthcharts where 25 is the team ID.

thank you

@aacampos76
Copy link
Copy Markdown

aacampos76 commented Feb 5, 2026

Is there any way to get the scoreboards of nba games from the previous day? These NBA endpoints are still working?_

@bburwell
Copy link
Copy Markdown

bburwell commented Feb 5, 2026

Is there any way to get the scoreboards of nba games from the previous day? These NBA endpoints are still working?_

Have you tried just appending yesterday's date like this: https://site.api.espn.com/apis/site/v2/sports/basketball/nba/scoreboard?dates=20250204 or use a range

@ThanhNguyenDn1
Copy link
Copy Markdown

Hello, I am currently using the following URL format to retrieve player avatar images by player ID:

https://a.espncdn.com/i/headshots/soccer/players/full/258909.png

However, I noticed that this URL does not return images for all player IDs. Could you please provide the correct URL format or the recommended way to reliably retrieve the avatar image for each player?

@propsdaily
Copy link
Copy Markdown

Just curious if anyone has been able to pull stats by period in the boxscores? Like 1Q Points in NBA for example. Or does ESPN only have full game stats?

@bburwell
Copy link
Copy Markdown

bburwell commented Mar 1, 2026

Just curious if anyone has been able to pull stats by period in the boxscores? Like 1Q Points in NBA for example. Or does ESPN only have full game stats?

Sure live and completed in the scoreboard api. here is NBA https://site.api.espn.com/apis/site/v2/sports/basketball/nba/scoreboard drill down into linescores for each team.

If you use Home Assistant you can see how we use the api data for different sports that may help as well:
https://community.home-assistant.io/t/sports-standings-and-scores/547094/928

Here is one for the Superbowl that updates live until the end of the game and goes final.
image

@propsdaily
Copy link
Copy Markdown

Just curious if anyone has been able to pull stats by period in the boxscores? Like 1Q Points in NBA for example. Or does ESPN only have full game stats?

Sure live and completed in the scoreboard api. here is NBA https://site.api.espn.com/apis/site/v2/sports/basketball/nba/scoreboard drill down into linescores for each team.

If you use Home Assistant you can see how we use the api data for different sports that may help as well: https://community.home-assistant.io/t/sports-standings-and-scores/547094/928

Here is one for the Superbowl that updates live until the end of the game and goes final. image

Thanks for the reply! I should've been more specific, looking for player individual stats by period

@bobaparks
Copy link
Copy Markdown

Hey, just wanted to share something I built using the endpoints in this thread: https://www.diamondcollegebaseball.com/

I'm not a developer by trade but I wanted a single place to follow all D1 college baseball scores without jumping between ESPN pages — so I used this gist (and a healthy dose of help from AI) to figure out how to pull the data. Shows live scores for every D1 game, box scores with individual batting and pitching lines (where available), ball/strike count, base runners (where available), outs, the whole thing. It also has a uniqe stats leader ticker that I haven't seen anywhere else. Covers all conferences including a filter for HBCU programs which I couldn't find anywhere else.

Took a while to figure out but it actually seems to work pretty well.

@nwbarkeriu
Copy link
Copy Markdown

Hey, just wanted to share something I built using the endpoints in this thread: https://www.diamondcollegebaseball.com/

I'm not a developer by trade but I wanted a single place to follow all D1 college baseball scores without jumping between ESPN pages — so I used this gist (and a healthy dose of help from AI) to figure out how to pull the data. Shows live scores for every D1 game, box scores with individual batting and pitching lines (where available), ball/strike count, base runners (where available), outs, the whole thing. It also has a uniqe stats leader ticker that I haven't seen anywhere else. Covers all conferences including a filter for HBCU programs which I couldn't find anywhere else.

Took a while to figure out but it actually seems to work pretty well.

This is awesome! Thanks for Sharing -- I think it would look great if you had the school logo, adding a lookup to the /teams page by ID and capturing the logo!

@gdhshsbs
Copy link
Copy Markdown

gdhshsbs commented Apr 3, 2026

I see a tournamentId. Maybe that can be helpful. Id = 22 in some of these TBD games. If the seed shows up and the round we can use it. I see a ["notes"] key where they have "Men's Basketball Championship - 1st Round"

On Thu, Mar 13, 2025 at 12:39 PM jb082005 @.> wrote: _@**.* commented on this gist. ------------------------------ I wasn't able to find a tournament indicator in the ESPN endpoint. Let me know if you find one. … <#m-3902739222069110977_> On Thu, Mar 13, 2025 at 12:02 PM cmwillett @.*> wrote: @. commented on this gist. ------------------------------ If you query with a date range, you can get the scheduled games. This does include all college basketball games, but it does have the tournament games. For example: https://site.api.espn.com/apis/site/v2/sports/basketball/mens-college-basketball/scoreboard?dates=20250320-20250323&groups=50&limit=500 Got ya. That makes sense as well. I'm sure there's an element stating it's a tourney game in there. — I believe you can use groups=100 for NCAA tournament games — Reply to this email directly, view it on GitHub https://gist.github.com/akeaswaran/b48b02f1c94f873c6655e7129910fc3b#gistcomment-5490654 or unsubscribe https://github.com/notifications/unsubscribe-auth/AANTBKNNZIKLTTG4XLI6BJD2UGYDHBFKMF2HI4TJMJ2XIZLTSKBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDHNFZXJJDOMFWWLK3UNBZGKYLEL52HS4DFVRZXKYTKMVRXIX3UPFYGLK2HNFZXIQ3PNVWWK3TUUZ2G64DJMNZZDAVEOR4XAZNEM5UXG5FFOZQWY5LFVA4DGOBXGIZTEMVHORZGSZ3HMVZKMY3SMVQXIZI . You are receiving this email because you commented on the thread. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .

This may help

http://sports.core.api.espn.com/v2/sports/basketball/leagues/mens-college-basketball/events/401746030/competitions/401746030?lang=en&region=us

b a

That format does allow for viewing today's games (e.g. https://data.ncaa.com/casablanca/scoreboard/basketball-men/d1/2024/03/21/scoreboard.json), but I don't see how it could be used to retrieve the bracket ahead of time before the NCAA tournament begins. Any insight?

I haven't actually done this yet because I've been wrapped up in playbyplay data but my plan is to just recreate it based on what's in the json. All you need is ["bracketRegion"], ["bracketRound"], ["away"]["seed"], ["home"]["seed"]

we need the return of Jesus Shuttlesworth. Join the discord if you don’t mind saying hello https://discord.gg/6zZtPfU94

@potsie
Copy link
Copy Markdown

potsie commented May 18, 2026

Claude and I built a website inspired by the box score pages newspapers used to print. Check out https://agatetypes.com. We're going through the motorsports data now to add that to the site. A fun site that reminds me of the Detroit Free Press sports pages I devoured as a kid.

@ryanbuckner
Copy link
Copy Markdown

Claude and I built a website inspired by the box score pages newspapers used to print. Check out https://agatetypes.com. We're going through the motorsports data now to add that to the site. A fun site that reminds me of the Detroit Free Press sports pages I devoured as a kid.

This is fun. A toggle of sports would make this better than the ESPN page

@suhasa010
Copy link
Copy Markdown

suhasa010 commented May 18, 2026

Claude and I built a website inspired by the box score pages newspapers used to print. Check out https://agatetypes.com. We're going through the motorsports data now to add that to the site. A fun site that reminds me of the Detroit Free Press sports pages I devoured as a kid.

This is super cool because it is so simple and clean! Love it!

Can I also plug my implementation, please? (Not as cool as the above but I tried my best)

@potsie
Copy link
Copy Markdown

potsie commented May 18, 2026

Claude and I built a website inspired by the box score pages newspapers used to print. Check out https://agatetypes.com. We're going through the motorsports data now to add that to the site. A fun site that reminds me of the Detroit Free Press sports pages I devoured as a kid.

This is fun. A toggle of sports would make this better than the ESPN page

Yeah, it's on the list. The current way to each sport was to click on "Full box scores."

...5 minutes...

Done. It's not a toggle but the homepage now lets you click into each sport from the sports nav row at the top. I struggled with what to display on the homepage. Box scores for every sport with events that day would be REALLY long. I landed on using the home page as a quick way to see what's coming, scores for events that have ended, etc. but didn't initially have the sports nav as well. The added sport navigation should now make it easier to quickly get to a particular sport. F1, Nascar, and IndyCar added today. Working on formatting so when someone prints a page out, everything still formats alright.

@potsie
Copy link
Copy Markdown

potsie commented May 18, 2026

Claude and I built a website inspired by the box score pages newspapers used to print. Check out https://agatetypes.com. We're going through the motorsports data now to add that to the site. A fun site that reminds me of the Detroit Free Press sports pages I devoured as a kid.

This is super cool because it is so simple and clean! Love it!

Can I also plug my implementation, please? (Not as cool as the above but I tried my best)

The more the merrier! Let's see what you built.

@suhasa010
Copy link
Copy Markdown

suhasa010 commented May 18, 2026

Claude and I built a website inspired by the box score pages newspapers used to print. Check out https://agatetypes.com. We're going through the motorsports data now to add that to the site. A fun site that reminds me of the Detroit Free Press sports pages I devoured as a kid.

This is super cool because it is so simple and clean! Love it!
Can I also plug my implementation, please? (Not as cool as the above but I tried my best)

The more the merrier! Let's see what you built.

https://t.me/espnfbot on Telegram. It took about 2 months to get it done with the features I had in mind even with the help of ChatGPT but I am kinda proud of it. I personally use it on a daily basis to follow MLB, Cricket and Football/Soccer. It also supports Tennis, NHL, NFL, NBA, Formula1 and college sports as well. Alerts and Favorites can be set up too. I tried not to dump all the data available from ESPN into the match details while giving the most important information to the user.
Finally, a dashboard for a quick glance at all the recent, live and upcoming matches of your favorites.

Right now it has about 850+ total users, which I'm happy with. I guess less users the better, because you never know when the ESPN API free ride will end!

Screenshot_2026-05-19-04-19-04-44_948cd9899890cbd5c2798760b2b95377

@suhasa010
Copy link
Copy Markdown

Hey, just wanted to share something I built using the endpoints in this thread: https://www.diamondcollegebaseball.com/

I'm not a developer by trade but I wanted a single place to follow all D1 college baseball scores without jumping between ESPN pages — so I used this gist (and a healthy dose of help from AI) to figure out how to pull the data. Shows live scores for every D1 game, box scores with individual batting and pitching lines (where available), ball/strike count, base runners (where available), outs, the whole thing. It also has a uniqe stats leader ticker that I haven't seen anywhere else. Covers all conferences including a filter for HBCU programs which I couldn't find anywhere else.

Took a while to figure out but it actually seems to work pretty well.

That ticker is really eye-catching! I love the full inning snapshot too.

Some notes and opinions:

  1. I think the ticker is a tad bit slow. I think it can be quicker by about 2-3x the current speed. Something like 1 match/stat leader can be in the view per 3 seconds.
  2. Is it possible to add MLB? I follow Dodgers and Yankees and would love to use this sleek UI to follow their matches. If College Baseball is your only vision then I totally understand.
  3. I feel the filters (All, Upcoming, Live, Stat leaders etc) are a bit crowded. Maybe some of them can be in the hamburger menu? I'm not sure.

Thank you for this site. It is a perfect combination of retro static pages and a modern look.

@cheese-industries
Copy link
Copy Markdown

cheese-industries commented May 19, 2026 via email

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