ESPN Sports Data Scraper – Scores, Schedules, Standings & Odds
Pricing
from $1.00 / 1,000 games
ESPN Sports Data Scraper – Scores, Schedules, Standings & Odds
Extract ESPN sports data: live scores, schedules, standings, teams and box scores for NFL, NBA, MLB, NHL, college sports, top soccer leagues and UFC. Clean JSON for bettors, odds modellers, fantasy apps and AI agents.
Pricing
from $1.00 / 1,000 games
Rating
0.0
(0)
Developer
Rowfeed
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Get ESPN's live scores, schedules, standings, team lists and box scores as clean JSON rows, across NFL, NBA, MLB, NHL, college football and basketball, WNBA, the top five European soccer leagues, MLS, the Champions League and UFC. Built for bettors and odds modellers, fantasy apps, sports media, dashboards and AI agents that need reliable sports data without a login, an API key or a headless browser. Plain HTTPS calls to ESPN's own public API with retries and a silent-failure check, so a scheduled run keeps working when ESPN hiccups.
What you get
- Games – date, status, venue, home/away teams and scores, winner, broadcast network and, when a sportsbook has posted a line, the spread, over/under and moneylines.
- Standings – wins, losses, ties, win percentage, points for/against, streak and rank per team, grouped by conference or table.
- Teams – every team's ID, name, abbreviation, location, colors and logo.
- Game summaries – box score totals per team (line by period/inning), statistical leaders, odds and a play-by-play list (capped at 500 plays).
Sample row
One NFL game from the default run:
{"type": "game","league": "nfl","sport": "football","event_id": "401872656","name": "New England Patriots at Seattle Seahawks","short_name": "NE @ SEA","date": "2026-09-10T00:20Z","status": "STATUS_SCHEDULED","status_detail": "Wed, September 9th at 8:20 PM EDT","home_team": "Seattle Seahawks","home_abbrev": "SEA","home_score": 0.0,"away_team": "New England Patriots","away_abbrev": "NE","away_score": 0.0,"winner": null,"broadcast": "NBC","url": "https://www.espn.com/nfl/game/_/gameId/401872656/patriots-seahawks","odds_provider": "DraftKings","spread": -3.0,"over_under": 44.5,"home_moneyline": -166.0,"away_moneyline": 140.0,"scraped_at": "2026-09-09T16:27:19+00:00"}
Supported leagues
| Input key | League |
|---|---|
nfl | NFL |
college-football | NCAA football |
nba | NBA |
wnba | WNBA |
mens-college-basketball | NCAA men's basketball |
mlb | MLB |
nhl | NHL |
eng.1 | English Premier League |
esp.1 | La Liga |
ger.1 | Bundesliga |
ita.1 | Serie A |
fra.1 | Ligue 1 |
usa.1 | MLS |
uefa.champions | UEFA Champions League |
ufc | UFC |
Input
| Field | Default | What it does |
|---|---|---|
leagues | ["nfl","nba","mlb","nhl"] | Which leagues to pull, from the table above. |
dataType | scoreboard | scoreboard/schedule (games), standings, teams, or summary (box score per event ID). |
dateFrom / dateTo | today / same as dateFrom | Date range (YYYY-MM-DD) for scoreboard/schedule. Capped at 31 days. |
eventIds | [] | Event IDs to summarize (from a scoreboard row's event_id). Only used by summary. |
maxEvents | 200 | Row cap; each row is one charged event. |
includeOdds | true | Include spread/over-under/moneyline columns on game rows when a sportsbook has posted a line. |
Pricing
Pay per event, no subscription: $1 per 1,000 games, $0.50 per 1,000 standings or teams, $5 per 1,000 game summaries. A default run (16 games today) costs about $0.016. Set a maximum charge on the run and the Actor stops cleanly when it is reached.
Use it from your tools
- API and SDKs – call it via the Apify API or the official Python/JavaScript clients: one call to start the run, one to fetch the dataset as JSON or CSV.
- Schedules – run it hourly or daily inside Apify and push new scores or standings to Google Sheets, a webhook or your own storage automatically.
- n8n, Make and Zapier – trigger runs and pipe game data into a workflow through Apify's integration for each.
- AI agents and MCP – this Actor is eligible for agentic use via Apify's MCP server and supports pay-per-event pricing, so an agent can call it mid-task and pay only per game, standing or team it actually reads.
- Webhooks – fire on run finished to kick off the next step in a pipeline as soon as fresh scores land.
Details
- Source: ESPN's public site API (
site.api.espn.com). No authentication. Requests use a generic client User-Agent — ESPN's edge blocks branded/browser-style User-Agent strings, so this Actor doesn't spoof one, it just doesn't send a distinguishing header. - Reliability: 429 and 5xx responses are retried with exponential backoff (5 tries); a 200 without the expected data counts as a failure. One bad league or event never stops the run — it becomes an error row and the rest continues. A run fails only when it produced no rows and hit errors; no games today for a league is a successful, empty result for that league.
- Run stats: the
STATSrecord in the run's key-value store holds request and error counts per category (network,rate_limit,blocked,not_found,other). - Standings coverage varies by sport: American leagues expose win percentage, games back and streak; soccer leagues expose league points and rank instead. Missing fields are
null, not an error. - Output: one dataset row per game, standing, team or summary, tagged with a
typecolumn. The Overview table shows type, league, name, date, status, scores, spread and over/under. Export as JSON, CSV or Excel, fetch through the Apify API, or schedule runs into Google Sheets, Make, Zapier or your own code.
Not affiliated with ESPN.