Access ESPN's hidden API endpoints for comprehensive sports data - no API key required
The ESPN API refers to a collection of undocumented endpoints that developers have discovered by reverse-engineering ESPN's web and mobile applications. While ESPN doesn't offer an official public API, these hidden endpoints provide free access to a wealth of sports data:
ESPN's hidden API uses several base domains, each serving different types of data:
| Domain | Purpose |
|---|---|
site.api.espn.com |
General site data - scores, news, teams, standings |
sports.core.api.espn.com |
Core sports data - athletes, detailed stats, odds, venues |
site.web.api.espn.com |
Web-specific APIs - search, game summaries, athlete overviews |
fantasy.espn.com |
Fantasy sports data (may require authentication for private leagues) |
cdn.espn.com |
Content delivery - optimized for speed and caching |
The ESPN API covers a wide range of sports and leagues. Here are the most commonly used:
football/nfl)football/college-football)basketball/nba)basketball/wnba)basketball/mens-college-basketball)basketball/womens-college-basketball)baseball/mlb)baseball/college-baseball)hockey/nhl)soccer/usa.1)soccer/eng.1)soccer/esp.1)Most endpoints follow a consistent pattern: /apis/site/v2/sports/{sport}/{league}/{endpoint}
| Endpoint | Description | Example |
|---|---|---|
/scoreboard |
Live scores and game status | /sports/football/nfl/scoreboard |
/news |
Latest news articles | /sports/basketball/nba/news |
/teams |
All teams in a league | /sports/baseball/mlb/teams |
/teams/{id} |
Specific team details | /sports/football/nfl/teams/12 |
/summary |
Game details with box score | /sports/basketball/nba/summary?event=401234567 |
/standings |
League standings | /sports/hockey/nhl/standings |
/rankings |
Power rankings (college) | /sports/football/college-football/rankings |
| Parameter | Description | Example |
|---|---|---|
dates |
Filter by date (YYYYMMDD format) | ?dates=20251201 |
limit |
Maximum number of results | ?limit=50 |
season |
Specific season year | ?season=2025 |
seasontype |
Season type (1=preseason, 2=regular, 3=postseason) | ?seasontype=2 |
week |
Specific week (football) | ?week=10 |
groups |
Conference/division filter | ?groups=80 (FBS) |
Here are practical examples for fetching data from the ESPN API:
// Fetch today's NFL scores
fetch('https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard')
.then(response => response.json())
.then(data => {
data.events.forEach(game => {
console.log(game.name, game.status.type.description);
});
});
import requests
# Fetch today's NFL scores
url = 'https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard'
response = requests.get(url)
data = response.json()
for game in data['events']:
print(game['name'], game['status']['type']['description'])
# Fetch today's NFL scores curl 'https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard'
// Fetch detailed game data (replace eventId with actual game ID)
const eventId = '401584793';
const url = `https://site.web.api.espn.com/apis/site/v2/sports/basketball/nba/summary?event=${eventId}`;
fetch(url)
.then(response => response.json())
.then(data => {
console.log('Boxscore:', data.boxscore);
console.log('Play-by-play:', data.plays);
});
import requests
# Fetch detailed game data
event_id = '401584793'
url = f'https://site.web.api.espn.com/apis/site/v2/sports/basketball/nba/summary?event={event_id}'
response = requests.get(url)
data = response.json()
print('Boxscore:', data.get('boxscore'))
print('Play-by-play:', data.get('plays'))
// Fetch MLB scores for a specific date
const date = '20251001'; // YYYYMMDD format
fetch(`https://site.api.espn.com/apis/site/v2/sports/baseball/mlb/scoreboard?dates=${date}`)
.then(response => response.json())
.then(data => console.log(data));
The ESPN API is not officially supported. Keep these limitations in mind:
These community-maintained resources provide additional documentation and tools for working with the ESPN API:
Comprehensive community documentation with endpoint references and examples
Original endpoint discovery documentation with URL patterns for multiple sports
Step-by-step guide on accessing ESPN's free sports data endpoints
Getting started guide with best practices and common use cases
Community forum thread with additional endpoint discoveries and tips
ESPN does not offer an official public API, but developers have discovered undocumented endpoints that provide free access to scores, stats, news, and standings data. These hidden APIs require no authentication or API key, making them accessible for personal projects and experimentation.
No. The ESPN API endpoints discussed here are unofficial and undocumented. They were discovered by reverse-engineering ESPN's web and mobile applications. ESPN does not provide official API documentation, support, or any service level agreements for these endpoints.
The ESPN API covers NFL, NBA, MLB, NHL, WNBA, college football, men's and women's college basketball, college baseball, MLS, international soccer leagues (Premier League, La Liga, Bundesliga, Serie A, etc.), golf, tennis, MMA/UFC, racing, and many other sports.
No. The ESPN hidden API endpoints are publicly accessible and do not require authentication, API keys, or tokens. You can make simple HTTP GET requests to retrieve data. However, private fantasy league data may require authentication cookies.
The ESPN API is not recommended for production applications that require guaranteed stability and uptime. Since these are unofficial endpoints, ESPN can modify or remove them at any time without notice. For production applications, consider using official sports data providers that offer documentation, support, and SLAs.
To get NBA scores, make a GET request to: https://site.api.espn.com/apis/site/v2/sports/basketball/nba/scoreboard. The response includes all games for the current day with scores, team info, and game status. Add ?dates=YYYYMMDD to get scores for a specific date.
While the ESPN API is great for hobby projects, production applications often need guaranteed uptime and official support. Compare professional sports data providers in our directory.