Discover/ESPN API
live

ESPN APIespn.com

Access ESPN scores, standings, rosters, player stats, game logs, and news across 21+ leagues including NFL, NBA, MLB, NHL, and more via a single API.

Endpoint health
verified 4h ago
get_team_roster
get_standings
get_teams
get_news
get_athlete_gamelog
9/9 passing latest checkself-healing
Endpoints
9
Updated
21d ago

What is the ESPN API?

The ESPN API covers 9 endpoints that return live scores, standings, team rosters, athlete profiles, game logs, and league news across 21+ sports leagues. The get_scoreboard endpoint returns live and final event data including venue, broadcasts, betting odds, and game recaps, while get_athlete_gamelog delivers per-game stat breakdowns with monthly splits and season totals. League identifiers span NFL, NBA, MLB, NHL, WNBA, college football, college basketball, and European soccer.

Try it
Date filter in YYYYMMDD format (e.g., 20260424). When omitted, returns current day's events.
Maximum number of events to return.
League identifier.
api.parse.bot/scraper/1ed7c95b-0348-41fb-baa1-f5f0096b7da5/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X POST 'https://api.parse.bot/scraper/1ed7c95b-0348-41fb-baa1-f5f0096b7da5/get_scoreboard' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "dates": "20260707",
  "limit": "10",
  "league": "nba"
}'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace espn-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.espn_sports_data_api import ESPN, League, SearchType

espn = ESPN()

# Search for a player
for result in espn.searchresults.search(query="LeBron James", type=SearchType.PLAYER):
    print(result.name, result.sport, result.league)

# List NBA teams and explore a roster
for team in espn.teams.list(league=League.NBA, limit=5):
    print(team.name, team.abbreviation, team.logo)

# Get a specific team's roster via constructible navigation
lakers = espn.team(id="13")
for player in lakers.roster.list(league=League.NBA):
    print(player.name, player.position, player.jersey)

# Get athlete profile and overview
athlete = espn.athlete(id="1966")
profile = athlete.profile(league=League.NBA)
print(profile.name, profile.position, profile.height, profile.weight)

overview = athlete.overview(league=League.NBA)
print(overview.statistics, overview.rotowire)

# Get game log
gamelog = athlete.gamelog(league=League.NBA, season="2026")
print(gamelog.labels, gamelog.display_names)

# List today's NBA events
for event in espn.events.list(league=League.NBA):
    print(event.name, event.date)

# Get league standings
for group in espn.standings.list(league=League.NBA):
    print(group.name, group.entries)

# Get NBA news articles
for article in espn.articles.list(league=League.NBA, limit=3):
    print(article.headline, article.published, article.premium)
All endpoints · 9 totalmissing one? ·

Get live scores, final results, and upcoming fixtures for any supported league. Returns match details including scores, venues, broadcasts, leaders, odds, and recaps. Each event includes competitor details with team records, leaders, and broadcasting info.

Input
ParamTypeDescription
datesstringDate filter in YYYYMMDD format (e.g., 20260424). When omitted, returns current day's events.
limitintegerMaximum number of events to return.
leaguerequiredstringLeague identifier.
Response
{
  "type": "object",
  "fields": {
    "date": "string or null, date of events",
    "events": "array of event objects with id, name, date, status, venue, competitors, broadcasts, odds, headline, recap",
    "league": "string, league display name",
    "season": "object containing year, startDate, endDate, displayName, type",
    "event_count": "integer, number of events returned"
  },
  "sample": {
    "data": {
      "date": "2026-06-10",
      "events": [
        {
          "id": "401859966",
          "date": "2026-06-11T00:30Z",
          "name": "San Antonio Spurs at New York Knicks",
          "venue": {
            "city": "New York",
            "name": "Madison Square Garden",
            "state": "NY"
          },
          "status": {
            "clock": "0.0",
            "state": "pre",
            "detail": "Wed, June 10th at 8:30 PM EDT",
            "period": 0,
            "description": "Scheduled"
          },
          "broadcasts": [
            {
              "names": [
                "ABC"
              ],
              "market": "national"
            }
          ],
          "short_name": "SA @ NY",
          "competitors": [
            {
              "score": "0",
              "winner": null,
              "team_id": "18",
              "home_away": "home",
              "team_name": "New York Knicks",
              "abbreviation": "NY"
            }
          ]
        }
      ],
      "league": "National Basketball Association",
      "season": {
        "year": 2026,
        "displayName": "2025-26"
      },
      "event_count": 1
    },
    "status": "success"
  }
}

About the ESPN API

Coverage and Endpoints

Nine endpoints cover the full breadth of ESPN's data across major North American and international leagues. get_scoreboard accepts a league identifier and an optional dates parameter in YYYYMMDD format, returning an events array where each entry includes competitors, status, venue, broadcasts, odds, and a headline or recap when available. get_standings adds an optional season year and a season_type filter (2 for regular season, 3 for postseason) to return conference/division groups with per-team stats. get_teams returns every franchise in a league with id, color, logo, and navigation links.

Athlete Data

Three endpoints focus on individual athletes. get_athlete_profile returns biographical fields—age, height, weight, jersey, position, status, and an injuries array—given a league and athlete_id. get_athlete_overview layers on statistics (split by season and career), awards, a fantasy object with draft_rank, percent_owned, and projection, plus a rotowire block with expert analysis text. get_athlete_gamelog returns a season_types array where each category includes per-game rows keyed to labels (e.g., MIN, FG, PTS) alongside running totals and averages.

Roster and News

get_team_roster returns the full squad for a given team_id, including each athlete's date_of_birth, birth_place, college, experience_years, and an injury status field, as well as a coaches array with experience. get_news returns an articles array with headline, description, byline, published, categories, and associated images for a given league. The limit parameter controls article count.

Search and ID Resolution

The search endpoint is the entry point for resolving IDs. Submit a query string—player or team name—and optionally set type to 'player' or 'team' to narrow results. Each result includes id, name, type, sport, league, and link, which feed directly into the athlete and roster endpoints. Mixing type filters with mismatched queries (e.g., a player name with type: 'team') returns empty results.

Reliability & maintenanceVerified

The ESPN API is a managed, monitored endpoint for espn.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when espn.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official espn.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4h ago
Latest check
9/9 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display live NFL or NBA scoreboards with venue and broadcast info in a sports companion app
  • Build a fantasy sports dashboard using draft rank, percent owned, and projections from get_athlete_overview
  • Track player injury status and roster changes across teams using get_team_roster and get_athlete_profile
  • Generate automated game recap summaries by pulling the headline and recap fields from get_scoreboard events
  • Populate historical season standings tables using get_standings with season and season_type parameters
  • Aggregate athlete career statistics across leagues by combining get_athlete_overview and get_athlete_gamelog
  • Drive a news feed widget with league-filtered articles, bylines, and images from get_news
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does ESPN have an official developer API?+
ESPN shut down its public API program in 2018 and no longer offers official developer access. There is no current official ESPN API to register for.
What does get_scoreboard return beyond just the score?+
Each event object includes the venue, broadcasts (network names), odds (betting lines when available), a headline, and a recap field populated after a game ends. The status field indicates whether the event is pre-game, in-progress, or final. You can filter by date using the dates parameter in YYYYMMDD format.
Does the API return historical game logs for past seasons?+
Yes. get_athlete_gamelog accepts an optional season parameter (e.g., 2024) so you can request prior seasons rather than only the current one. The response includes per-game rows, monthly breakdowns, and season totals keyed to sport-specific stat labels.
Are play-by-play or in-game drive/pitch-level data available?+
Not currently. The API covers scoreboard summaries, standings, rosters, athlete profiles, game logs, and news, but does not expose play-by-play sequences, pitch data, or drive charts. You can fork the API on Parse and revise it to add the missing endpoint.
Does the fantasy object appear for every league?+
The fantasy field within get_athlete_overview may be absent for leagues where ESPN does not surface fantasy data, such as certain international soccer competitions or F1. It is consistently populated for NFL, NBA, MLB, and NHL athletes where ESPN runs active fantasy products.
Page content last updated . Spec covers 9 endpoints from espn.com.
Related APIs in SportsSee all →
espncricinfo.com API
Access live cricket scores, ball-by-ball commentary, and detailed match scorecards to stay updated on ongoing games. Look up comprehensive player statistics, team information, and historical cricket records all in one place.
bleacherreport.com API
Access sports news articles, live scores, and detailed game statistics from Bleacher Report across all major leagues including the NBA, NFL, MLB, and NHL. Retrieve full article content, expert analysis, and box-score data for any supported sport and date.
stats.ncaa.org API
Access comprehensive NCAA sports statistics to search for players, teams, and coaches, view game box scores and play-by-play data, and review team schedules, rosters, and rankings. Get detailed head coach records and scoreboard information to analyze performance across college sports.
nhl.com API
Access data from nhl.com.
nfl.com API
Access real-time NFL data including game schedules, scores, player statistics, team rosters, standings, injury reports, fantasy rankings, and the latest news — all from nfl.com.
maxpreps.com API
Access high school sports data from MaxPreps. Search for schools, retrieve team rosters and schedules, look up athlete profiles, and browse national or state rankings across all sports.
livescore.com API
Track live scores and detailed statistics across football, hockey, basketball, tennis, and cricket with the ability to filter by date, sport, and league. Access match summaries, team overviews, standings, fixtures, and results to stay updated on your favorite competitions and teams.
cbssports.com API
Access comprehensive CBS Sports data including live game schedules, scores, game details, expert picks and analyst performance rankings, and team social feeds — all from a single API.