Skip to content

Instantly share code, notes, and snippets.

@akeaswaran
Last active September 7, 2025 21:34
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...

@daniyalmaster693
Copy link

Does anyone know how to access driver stats for f1? This api doesn't have driver stats: https://site.api.espn.com/apis/site/v2/sports/racing/f1/scoreboard?dates=20250803

For anyone who has the same issue, this api gives you access to pits taken, player headshots, race times, player countries, vehicle makes and more. https://site.web.api.espn.com/apis/personalized/v2/scoreboard/header?sport=racing&league=f1&dates=20250803

@seanrco
Copy link

seanrco commented Aug 23, 2025

College Football Scoreboard Endpoint

For anyone else noticing that the College Football Scoreboard API endpoint (https://site.api.espn.com/apis/site/v2/sports/football/college-football/scoreboard) only outputs top 25 events by default - below are some options if you want to retrieve other events:

Groups Param

Get all FBS (aka Division I-A) events:

Or specify a particular Conference ID aka Group ID:

To find group ID:

  1. Go to: https://www.espn.com/college-football/scoreboard
  2. Filter by group / conference and record group id from URL:
bKKaRRAiTH

Date (Range) Param

If you wanted to get weekly date ranges by code you could use the default scoreboard API endpoint calendar entries:

8uzNxWvITu

Summary
Hope this helps others out and thanks for other users that posted info that helped me summarize this up in a comment.

Questions

@ischmidt20
Copy link

@Bobsilvio You can use this endpoint: https://site.api.espn.com/apis/site/v2/sports/soccer/all/scoreboard

And then if you want a specific date: https://site.api.espn.com/apis/site/v2/sports/soccer/all/scoreboard?dates=20250215

Replace "all" with the actual league to get specific leagues, ie: eng.1 for EPL

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, the leagues entry 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 the season parameter 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 type or slug and 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.

@newadventure079
Copy link

Cannot Tell if Picks are made for College Pick 'em or Pigskin Pick 'em Current Week via ESPN Pick'em API

Problem Summary

I'm using ESPN's Pick'em API to track user picks for challenges like NFL Pigskin Pick'em and College Football Pick'em.

The core issue:
I need to know, each week, whether a user has made their picks before the games start. However, the way the API is structured makes this difficult once the season has started.


Current Behavior

  • Before Week 1:

    • If .picks doesn’t exist: The user hasn’t made any picks.
    • If .picks exists but is empty: The user has submitted picks, but the pick data isn’t available until the games start.
  • After Week 1 & Throughout the Season:

    • The .picks array is a flat list with all picks for the season added as games begin.
    • There’s no breakdown by week (no .picks.week2, .picks.week3, etc.).
    • For example:
      • Just before Week 2, .picks for everyone has 16 entries from Week 1.
      • There are no empty or null entries for future weeks.
      • As Week 2 games start, new picks are revealed, and the array grows (17, 18, 19, ...).
      • There's no way to tell ahead of time if someone has made their picks for the upcoming week; you only find out after kickoff, when it’s too late for users to make the picks for the week.

Ideal vs. Actual Data Structure

Ideal structure (week-by-week distinction):

{
  "picks": {
    "week1": [...],
    "week2": [...],
    // etc.
  }
}

Actual structure (flat array, no week info):

{
  "picks": [
    {...}, // week 1
    {...}, // week 1
    // ... (only fills as games start, no separation by week)
  ]
}

API URLs

  • College Football Pick'em:
    https://gambit-api.fantasy.espn.com/apis/v1/challenges/college-football-pickem-2025/entries/{user_guid}
  • NFL Pigskin Pick'em:
    https://gambit-api.fantasy.espn.com/apis/v1/challenges/nfl-pigskin-pickem-2025/entries/{user_guid}

What I Want

Is there any way, using the current ESPN Pick'em API, to determine before kickoff whether a user has or hasn't made their picks for a given week during the season?

  • Right now, I can only detect an empty/null picks list at the very start of the season (before Week 1).
  • After that, the .picks array grows each week, and there's no way to distinguish “not made picks for this week yet” from simply “picks for this week aren’t public yet”—until it’s already too late.

Before the pick ems site redesign a few years ago, ESPN provided this information. If you viewed a person's picks entry, it would say "Chuck has not made their picks yet", but this functionality was removed in the redesign


Question

Is this a current limitation of the API, or is there a workaround to detect per-week pick completion before games start?


Thank you!

@JamesSingleton
Copy link

Is there a way to get Men's and Women's College Basketball week data? For example, https://site.api.espn.com/apis/common/v3/sports/football/college-football/seasons?startingseason=2023 will give me a weeks array with the number and their start and end date. However, https://site.api.espn.com/apis/common/v3/sports/basketball/mens-college-basketball/seasons?startingseason=2023 does not give me any of that data.

@ischmidt20
Copy link

@JamesSingleton No, the scoreboard for college basketball (and probably for every sport other than football) is based on days, not weeks, so ESPN does not provide that information

@JamesSingleton
Copy link

@JamesSingleton No, the scoreboard for college basketball (and probably for every sport other than football) is based on days, not weeks, so ESPN does not provide that information

I was able to find it https://sports.core.api.espn.com/v2/sports/basketball/leagues/mens-college-basketball/seasons/2025/types/2/weeks

I’m using this for rankings and ESPN also has a rankings page that’s split into weeks. I wish there was an official NCAA endpoint to hit though.

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