ESPN API Scraper avatar

ESPN API Scraper

Pricing

from $1.00 / 1,000 output rows

Go to Apify Store
ESPN API Scraper

ESPN API Scraper

Scrapes ESPN's unofficial public API for scores, schedules, box scores, and search.

Pricing

from $1.00 / 1,000 output rows

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does ESPN API Scraper do?

ESPN API Scraper extracts live scores, schedules, box scores, play-by-play, and search results straight from ESPN's own mobile-app data feed at espn.com, no HTML parsing involved. It covers any sport/league ESPN tracks — NFL, NBA, college sports, soccer leagues worldwide, and more. Run it on the Apify platform to get scheduled, proxy-backed, monitored data pulls without maintaining scraping infrastructure yourself.

Why use ESPN API Scraper?

  • Sports betting & fantasy tools — pull live scores and schedules to power odds trackers or fantasy lineup apps.
  • Media & content — feed box scores and play-by-play into recap articles or highlight generators.
  • Analytics — build historical game datasets for stats models.
  • Search — resolve team/player/article names to ESPN IDs for downstream lookups.

How to use ESPN API Scraper?

  1. Click Try for free or set up the Actor in Apify Console.
  2. Pick a Mode (scoreboard, team schedule, game summary, or search) and fill in the matching fields.
  3. Click Start and wait for the run to finish.
  4. Download results from the Dataset tab, or pull them via the Apify API.

Input

FieldTypeUsed byDescription
modestringallscoreboard, teamSchedule, gameSummary, or search
leagueselectscoreboard, teamSchedule, gameSummaryPick a league from the dropdown (NFL, NBA, Premier League, etc.)
dateFrom / dateTodatescoreboardPick a day, or a from/to range, from the date picker; omit for today
teamAbbrstringteamScheduleTeam abbreviation, e.g. dal
eventIdsarraygameSummaryOne or more ESPN event IDs (get them from a scoreboard run's output)
querystringsearchFree-text search query
searchLimitintegersearchMax search results (default 10)

See the Input tab for the full schema.

Finding a team abbreviation

teamSchedule mode needs ESPN's short team code (e.g. dal for the Dallas Cowboys, lal for the LA Lakers), not the full team name. Two ways to find it:

  1. Open the team's page on espn.com — the code sits right after the team ID in the URL, e.g. espn.com/nfl/team/_/name/dal/dallas-cowboysdal.
  2. Run this Actor in search mode with the team name as the query; the result includes the team's abbreviation field.

Output

Output rows are flat — no digging through nested competitions[0].competitors[] objects. Example scoreboard item:

{
"eventId": "401873272",
"date": "2026-08-13T23:00Z",
"name": "Detroit Lions at Cincinnati Bengals",
"statusDetail": "Final",
"completed": true,
"venueName": "Paycor Stadium",
"venueCity": "Cincinnati",
"venueState": "OH",
"homeTeam": "Cincinnati Bengals",
"homeAbbr": "CIN",
"homeScore": "16",
"homeWinner": true,
"awayTeam": "Detroit Lions",
"awayAbbr": "DET",
"awayScore": "14",
"awayWinner": false
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel from the Dataset tab or via the API.

Data table

scoreboard / teamSchedule — one row per game:

FieldDescription
eventIdESPN event ID
dateGame start time
name / shortNameMatchup name
statusDetail / completedGame state (scheduled, in-progress, final)
venueName / venueCity / venueStateVenue
homeTeam / homeAbbr / homeScore / homeWinnerHome team
awayTeam / awayAbbr / awayScore / awayWinnerAway team
broadcastsTV/streaming networks

gameSummary — several row types per event, distinguished by recordType: one game row (score/venue), one teamStats row per team (box score line), one leader row per stat category leader, and one scoringPlay row per score in the game.

search — one row per match, distinguished by resultType (team, article, film, etc.), with displayName, subtitle, and url.

Pricing / Cost estimation

This Actor makes lightweight JSON API calls (no browser rendering), so runs are cheap and fast — typically a few seconds and well under 0.01 CU per run. Works on the Apify Free plan.

Tips or advanced options

  • For gameSummary, pass multiple eventIds to batch-fetch several games in one run.
  • Set both dateFrom and dateTo to cover a whole week or season slate in one scoreboard run.
  • Not seeing a league you need in the dropdown? Open an issue — more can be added on request.

FAQ, disclaimers, and support

This Actor talks to ESPN's unofficial, public, unauthenticated data API — the same one ESPN's own mobile app uses. It does not use the fantasy/personalization endpoints (which require login). ESPN can change or restrict this API at any time without notice; if a run starts failing, check the Issues tab. Use responsibly and in line with ESPN's Terms of Service. For custom scraping solutions, reach out via the Issues tab.