ESPN API Scraper
Pricing
from $1.00 / 1,000 output rows
ESPN API Scraper
Scrapes ESPN's unofficial public API for scores, schedules, box scores, and search.
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?
- Click Try for free or set up the Actor in Apify Console.
- Pick a Mode (scoreboard, team schedule, game summary, or search) and fill in the matching fields.
- Click Start and wait for the run to finish.
- Download results from the Dataset tab, or pull them via the Apify API.
Input
| Field | Type | Used by | Description |
|---|---|---|---|
mode | string | all | scoreboard, teamSchedule, gameSummary, or search |
league | select | scoreboard, teamSchedule, gameSummary | Pick a league from the dropdown (NFL, NBA, Premier League, etc.) |
dateFrom / dateTo | date | scoreboard | Pick a day, or a from/to range, from the date picker; omit for today |
teamAbbr | string | teamSchedule | Team abbreviation, e.g. dal |
eventIds | array | gameSummary | One or more ESPN event IDs (get them from a scoreboard run's output) |
query | string | search | Free-text search query |
searchLimit | integer | search | Max 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:
- 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-cowboys→dal. - Run this Actor in
searchmode with the team name as the query; the result includes the team'sabbreviationfield.
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:
| Field | Description |
|---|---|
eventId | ESPN event ID |
date | Game start time |
name / shortName | Matchup name |
statusDetail / completed | Game state (scheduled, in-progress, final) |
venueName / venueCity / venueState | Venue |
homeTeam / homeAbbr / homeScore / homeWinner | Home team |
awayTeam / awayAbbr / awayScore / awayWinner | Away team |
broadcasts | TV/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 multipleeventIdsto batch-fetch several games in one run. - Set both
dateFromanddateToto 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.