ESPN Live Scores, Schedules & Game Odds Scraper avatar

ESPN Live Scores, Schedules & Game Odds Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store
ESPN Live Scores, Schedules & Game Odds Scraper

ESPN Live Scores, Schedules & Game Odds Scraper

Get live scores, final results and upcoming fixtures for 16 leagues across basketball, football, baseball, hockey and soccer, with optional per-game leaders, odds, attendance and headlines.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Nimbryxo-studio

Nimbryxo-studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

ESPN Game Center Scraper: Scores, Schedules, Teams & Odds

Read ESPN game centers without an account, API key, or proxy setup. Pick a competition and a day, month, season, or week to get live scoreboards, final results, upcoming fixtures, team directories, sportsbook lines, and full game details in one dataset.

The actor covers more than 60 team competitions across basketball, football, baseball, hockey, and soccer, including the NBA, WNBA, NFL, MLB, NHL, MLS, NWSL, the Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Liga MX, the Champions League, and many more. Every field ESPN publishes for the selected record type is mapped, and fields ESPN does not provide for a particular game are left out instead of being sent empty.

What this actor does

  • Five modes: scoreboard, schedule, teams, odds, and gameDetail
  • Date and season control: a single day, a month, a year, a custom range up to 366 days, a season, or a football-style season week
  • Team filtering: match a team by ESPN ID, abbreviation, or name, with an optional league prefix
  • Full odds records: one row per sportsbook line with spread, total, moneylines, and open, close, and current values when ESPN publishes them
  • Deep game detail: leaders, officials, venue, broadcasts, attendance, article text, team stats, player stats, and injuries
  • Empty fields are omitted: empty values are omitted at every depth, and every record carries recordType, sourceUrl where available, and scrapedAt

Output per game (mode = scoreboard or schedule)

  • gameId, competitionId - ESPN event and competition IDs
  • league, sport - league code and sport
  • status - scheduled, in_progress, final, postponed, or cancelled
  • statusState, statusDescription, statusShortDetail, completed, period, clock, displayClock - live state details
  • date - kickoff in ISO 8601 UTC
  • dateLocal - kickoff in the requested timezone
  • name, shortName - full and abbreviated matchup
  • seasonYear, seasonType, week - season context when ESPN provides it
  • homeTeam, awayTeam - team objects with id, name, abbreviation, logo, score, winner, record, lineScores, colors, and location when published
  • venue - name, city, state, country, indoor, grass, and imageUrl
  • broadcasts - TV and streaming network names
  • attendance, neutralSite, conferenceCompetition, competitionType
  • headlines, gameNotes - game-specific notes
  • odds - the line shown on the scoreboard, when present
  • sourceUrl, recordType, scrapedAt

Output per team (mode = teams)

  • teamId, league, sport
  • name, abbreviation, location, nickname, shortDisplayName, slug
  • logo, color, alternateColor, isActive, isAllStar
  • venue - name, city, state, country, indoor, grass, and imageUrl
  • groupId, groupName, conferenceId, standingSummary
  • recordStats - ESPN overall-record statistics as a name/value object
  • sourceUrl, recordType, scrapedAt

Output per odds line (mode = odds)

  • gameId, league, sport, gameName, gameDate
  • homeTeamId, homeTeamName, homeTeamAbbreviation
  • awayTeamId, awayTeamName, awayTeamAbbreviation
  • provider, providerId - sportsbook name and ESPN provider ID
  • details, spread, overUnder, overOdds, underOdds
  • homeMoneyline, awayMoneyline, drawMoneyline - when the sport supports them
  • homeSpreadOdds, awaySpreadOdds
  • homeTeamOdds, awayTeamOdds, drawOdds - full side detail with favorite/underdog flags
  • open, close, current - period values when ESPN keeps them
  • sourceUrl, recordType, scrapedAt

Output per game detail (mode = gameDetail)

A game-detail record includes every game field above, plus:

  • leaders - top performers grouped as home and away, each with name, position, stat, and value
  • officials - referee names and positions
  • articleDescription, articleStory, articlePublished, articleUrl, articleImage
  • teamStats - team totals with stat name, label, abbreviation, and display value
  • playerStats - player stat categories, labels, and per-player values
  • injuries - team injury entries with athlete, status, date, and detail
  • headline, gameNotes, attendance, venue, broadcasts, odds
  • recordType: "gameDetail", sourceUrl, scrapedAt

If ESPN fails to answer for a league, the actor writes a diagnostic record with type, reason, message, inputLeague, inputDate, error, recordType, and scrapedAt. Game, team, odds, and detail records are never replaced by placeholders.

Input

FieldTypeDefaultDescription
modestringscoreboardscoreboard, schedule, teams, odds, or gameDetail
sportstringanySport filter; use with League = All supported leagues
leaguestring-Competition code or All supported leagues; the daily prefill uses nba
datestring-Day, month, or year; empty means today; the daily prefill uses 20240115
startDatestring-First day of a custom window; requires endDate
endDatestring-Last day of a custom window; up to 366 days
seasoninteger-ESPN season year, e.g. 2024
seasonTypestring21 preseason, 2 regular, 3 postseason, 4 offseason, 5 play-in
weekinteger-Week number; requires season
teamstring-ESPN team ID, abbreviation, or name; prefix with a league code if needed
eventIdsarray[]Event IDs for odds or gameDetail; requires one specific league, not All supported leagues
statusstringanyany, scheduled, in_progress, final, postponed, or cancelled
includeDetailsbooleanfalseAdd leaders, stats, officials, article text, and injuries to each game
maxItemsinteger100Hard cap from 1 to 10,000 records
timezonestringUTCIANA timezone for relative dates and dateLocal

Example: today's NBA and NHL scoreboard

{
"mode": "scoreboard",
"league": "nba",
"date": "2026-11-02",
"maxItems": 50
}

Example: NFL Week 1

{
"mode": "schedule",
"league": "nfl",
"season": 2023,
"seasonType": "2",
"week": 1,
"maxItems": 50
}

Example: every Arsenal fixture in a season

{
"mode": "schedule",
"league": "epl",
"season": 2024,
"team": "Arsenal",
"maxItems": 100
}

For current and future soccer seasons, the actor falls back to scoreboard windows when ESPN's team-schedule feed returns only completed matches, so upcoming fixtures are included.

Example: sportsbook lines for a day

{
"mode": "odds",
"league": "nba",
"date": "2024-01-15",
"maxItems": 100
}

Example: full detail for two games

{
"mode": "gameDetail",
"league": "nba",
"eventIds": ["401585183", "401585184"],
"maxItems": 2
}

Use cases

  • Live scoreboards - refresh a dashboard with every game in one or more leagues
  • Fixture calendars - export a team's or league's upcoming schedule for a season or date range
  • Results archives - collect final scores, venues, and broadcasts across a historical window
  • Betting analysis - capture spread, total, moneyline, and line movement snapshots
  • Fantasy and media tools - pull leaders, team stats, player stats, and recaps for recaps and previews
  • Research and data pipelines - join stable ESPN IDs to internal models, spreadsheets, or warehouses

FAQ

Do I need an ESPN account, API key, cookie, or proxy?

No. The actor reads ESPN's public game data directly. You only choose the mode and the competition or date.

Which competitions are supported?

More than 60 team competitions across basketball, football, baseball, hockey, and soccer. The League dropdown lists every supported code, from the NBA and NFL to the Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Liga MX, the Champions League, and many national leagues.

Why does a date return no games?

Not every league plays every day. Use a season or a date range for fixtures, or pick a day when the league is active. The terminal run status message explains the mode, league, and record count, including zero-record runs.

What is the largest date range?

A custom range can cover up to 366 days. Long windows are read month by month, and a month that hits ESPN's per-request event cap is re-read day by day so games are not skipped.

Why are some odds fields missing?

ESPN publishes one line per sportsbook provider per game and often removes lines after the game ends, so provider coverage varies by event. Soccer lines can use moneyline and draw prices instead of a spread and total, and some providers publish fractional moneyline strings such as 20/1 or 1/28; the actor returns the value ESPN publishes. The actor includes only the values ESPN actually returns.

Why do some games have no stats or leaders?

ESPN does not publish every section for every sport, game state, or competition. Missing sections are omitted from the record rather than filled with placeholders.

Can I get games for a team by name?

Yes. Set team to the ESPN ID, abbreviation, or a name such as Lakers or Arsenal. If the same abbreviation exists in multiple leagues, prefix it with the league code, for example nba:LAL.

How fresh is the data?

Every run reads ESPN's live game data at run time. Schedule the actor every few minutes during game windows for live scores, or daily for schedules and results.

Does this actor cover golf, tennis, MMA, or racing?

No. It focuses on team-game records. Individual sports use different event and leaderboard shapes and are not part of this actor.

Does it include news, standings, or rosters?

No. This actor focuses on scoreboards, schedules, teams, odds, and game detail. News, standings, and roster data are separate jobs.

Does it include play-by-play or win-probability timelines?

No. Game detail covers box-score data: leaders, team and player stats, officials, injuries, venue, broadcasts, attendance, and recaps. Play-by-play feeds are much larger and are outside this actor's record contract.

Why can a game in a date window show the next UTC day?

ESPN assigns games to its own local event date. The date field is UTC, so a late local game can fall on the next UTC day. This affects single days, months, years, and custom ranges. Use dateLocal for the requested timezone, or widen the window by one day when joining on UTC dates.

What happens if I use event IDs with All supported leagues?

Event IDs need one specific league because ESPN's summary path includes the sport and league. With All supported leagues the actor returns a diagnostic record asking you to choose a league; it does not guess across 60+ competitions.

Is seasonType the same across sports?

For US sports it is a canonical label such as Regular season, Preseason, Postseason, or Play-in. For soccer ESPN often publishes a season slug such as 2024-25 English Premier League, so treat seasonType as source text rather than a stable cross-sport enum.

What are the hard limits?

ESPN removes some odds and stat sections after a game, so those fields are omitted when the source no longer has them. One scoreboard response is capped at 1,000 events; month and year requests are split automatically, but a single day above 1,000 events is not subdivided. Date windows follow ESPN's local event date, so the UTC date can fall on the next day. Individual sports (golf, tennis, MMA, racing), news, standings, and rosters are outside this actor.

Is this affiliated with ESPN?

No. This is an independent, third-party actor that reads ESPN's public game data. It is not affiliated with or endorsed by ESPN.