ESPN Scores & Schedules avatar

ESPN Scores & Schedules

Pricing

from $1.00 / 1,000 results

Go to Apify Store
ESPN Scores & Schedules

ESPN Scores & Schedules

Scrape live scores, final results, and upcoming game schedules from ESPN across 16 leagues and 5 sports. No account or proxy required.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(4)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

4

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract publicly available game scores and schedules from ESPN — no account, login, or proxy required. Supports 16 leagues across basketball, football, baseball, hockey, and soccer.

What This Scraper Does

This actor calls ESPN's public JSON API to retrieve game results, scores, and upcoming fixture data for any combination of supported leagues and dates. With Fetch Game Details enabled, each game record is enriched with top performers (leaders), betting odds, attendance, and game headlines.

Supported Leagues

CodeLeagueSport
nbaNBABasketball
nflNFLFootball
mlbMLBBaseball
nhlNHLHockey
mlsMLSSoccer
wnbaWNBABasketball
ncaamNCAA Men's BasketballBasketball
ncaawNCAA Women's BasketballBasketball
ncaafNCAA FootballFootball
eplEnglish Premier LeagueSoccer
laligaLa LigaSoccer
uclUEFA Champions LeagueSoccer
bundesligaBundesligaSoccer
serieaSerie ASoccer
ligue1Ligue 1Soccer
ligamxLiga MXSoccer

Input

FieldTypeDefaultDescription
Leaguesstring[]["nba"]One or more league codes from the table above.
Date Modeenumtodaytoday, yesterday, tomorrow, single, or range.
DatestringYYYYMMDD — required when Date Mode is single.
Start DatestringYYYYMMDD — required when Date Mode is range.
End DatestringYYYYMMDD — required when Date Mode is range. Max span: 30 days.
TimezonestringUTCIANA timezone (e.g. America/New_York) for dateLocal and for resolving today/yesterday/tomorrow.
Fetch Game DetailsbooleanfalseAdds leaders, odds, attendance, and headlines per game. One extra request per game.
Max Itemsinteger100Cap on total records returned (1–10,000).

Date Mode Examples

ModeWhat it fetches
todayGames scheduled or completed today in the given timezone
yesterdayYesterday's final scores
tomorrowTomorrow's scheduled fixtures
single + date: "20240115"All games on 15 January 2024
range + startDate: "20240101" + endDate: "20240107"Seven days of games

Output

Each record represents one game. Fields marked ? are optional and appear only when ESPN provides them.

Core Fields (always present)

FieldTypeDescription
gameIdstringESPN event ID
leaguestringLeague code e.g. "nba"
sportstringSport e.g. "basketball"
statusstring"scheduled", "in_progress", "final", "postponed", or "cancelled". Note: delayed games are reported as "scheduled" — check statusDetail for the text "Delayed".
statusDetailstring?Human-readable detail e.g. "Q3 4:23", "Final", "7:30 PM ET"
datestringISO 8601 UTC kickoff time
dateLocalstring?Kickoff in requested timezone
namestringFull game name e.g. "Boston Celtics at Los Angeles Lakers"
shortNamestringAbbreviated matchup e.g. "BOS @ LAL"
homeTeamobject{id, name, abbreviation, score, logo}
awayTeamobject{id, name, abbreviation, score, logo}
venueobject?{name, city, state, country}
broadcastsstring[]?TV/streaming channels e.g. ["ESPN", "ABC"]
scrapedAtstringISO 8601 UTC scrape timestamp

Extra Fields (Fetch Game Details: true)

FieldTypeDescription
leadersobject?{home: [{name, position, stat, value}], away: [...]} — top performers
oddsobject?{provider, details, overUnder, spread} — pre-game betting line
attendanceinteger?Actual game attendance
headlinestring?Game recap or preview headline
gameNotesstring[]?Notable notes e.g. records set, milestones

Error Records

If a league/date combination fails, the record contains:

FieldDescription
inputLeagueThe league code that was attempted
inputDateThe date string that was attempted
errorHuman-readable error message
scrapedAtTimestamp

Frequently Asked Questions

Do I need an ESPN account or API key? No. This scraper uses ESPN's public JSON API which is freely accessible without any login or authentication.

Is a proxy required? No. ESPN's public API has no bot protection. This scraper works out of the box on Apify cloud without any proxy configuration.

How do I get yesterday's NBA scores? Set Leagues to ["nba"] and Date Mode to yesterday. Run the actor and all final scores from the previous day will be in the dataset.

How do I get scores for multiple leagues at once? Add multiple codes to the Leagues array — e.g. ["nba", "nfl", "epl"]. Each league and date combination is fetched independently.

What does the score field look like for a scheduled game? The score field on homeTeam and awayTeam will be 0 for games that haven't started yet. Check the status field: a value of "scheduled" means the game has not begun.

What is the maximum date range? 30 days. Requesting a range larger than 30 days will return an error. For historical bulk data, run multiple 30-day range requests.

How often is the data updated? The actor fetches data live from ESPN's API at run time. For real-time in-game scores, schedule the actor to run every few minutes using Apify's scheduler.

What leagues are available for soccer? MLS (mls), English Premier League (epl), La Liga (laliga), UEFA Champions League (ucl), Bundesliga (bundesliga), Serie A (seriea), Ligue 1 (ligue1), and Liga MX (ligamx).