ESPN Sports Scraper
Pricing
from $1.00 / 1,000 results
ESPN Sports Scraper
Scrape ESPN sports data: scores and schedules, standings, player box scores, play-by-play, betting odds and futures, injury reports, player stats and game logs, rosters, transactions and news for NFL, NBA, MLB, NHL, WNBA, college and soccer. No login.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Sheshinmcfly
Maintained by CommunityActor stats
1
Bookmarked
44
Total users
3
Monthly active users
2 days ago
Last modified
Categories
Share
🏈 ESPN Sports Scraper
Get ESPN sports data for NFL, NBA, WNBA, MLB, NHL, college football and basketball, and soccer (MLS, Premier League, La Liga, Bundesliga, Serie A, Ligue 1, Champions League, Liga MX and any other ESPN league): live scores and schedules, standings, team and player box scores, play-by-play, betting odds and futures, injury reports, season player stats and game logs, rosters, transactions, news and college rankings. Pick a date or a date range and the box scores for those games come in the same run. No login or API key required.
What data does it extract?
Every record has a recordType and the league it belongs to.
Data type (modes) | recordType | One row per | Highlights |
|---|---|---|---|
scoreboard | game | game | score, status, period-by-period scores, team leaders, team stats, venue, TV, odds, recap |
standings | standing | team | W-L-T, win %, games behind, streak, home / road / last-10 records, seed |
teams | team | team | name, abbreviation, colors, logo, links |
gameSummary | game_summary | game | team box score, win probability, odds and against-the-spread, season series, injuries, game info |
playerBoxScores | player_boxscore | player per game | every stat column ESPN shows (PTS, REB, AST, +/-, C/ATT, YDS, TD…), starter, did-not-play |
playByPlay | play | play | period, clock, team, play type and description, running score, scoring play, yards and down & distance (football) |
odds | odds | sportsbook per game | spread, total, over/under prices, moneylines, favorite, opening and closing lines |
playerGameLogs | player_gamelog | game per player | every game of the season for the players you choose: date, opponent, result, full stat line |
transactions | transaction | transaction | date, team and description (signings, trades, releases, call-ups) |
futures | future | sportsbook × candidate | season-long markets: champion, conference, MVP and other awards, with odds |
injuries | injury | injured player | status (Out, Questionable, IR…), injury type, date, comment |
playerStats | player_stats | player | season stats by category, in ESPN's leaders order |
rosters | roster_player | player | jersey, position, age, height, weight, college, experience, injury status |
news | news | article | headline, description, date, type, teams and players mentioned, link, image |
rankings | ranking | ranked team | AP / Coaches poll rank, previous rank, points, first-place votes, record (college) |
Example: player box score
{"recordType": "player_boxscore","league": "basketball/nba","eventId": "401909853","gameName": "Milwaukee Bucks at Miami Heat","gameDate": "2026-10-24T22:00Z","teamName": "Milwaukee Bucks","athleteName": "Giannis Antetokounmpo","position": "F","starter": true,"stats": { "MIN": "25", "PTS": "14", "FG": "4-11", "3PT": "0-1", "FT": "6-8", "REB": "6", "AST": "3", "+/-": "-20" }}
Football box scores group stats by unit, so keys are prefixed: "passing C/ATT", "rushing YDS", "receiving TD"…
Example: injury report
{"recordType": "injury","league": "football/nfl","teamName": "Baltimore Ravens","athleteName": "Olaivavega Ioane","position": "G","status": "Questionable","injuryType": "questionable","date": "2026-10-25T18:45Z","shortComment": "Ioane (knee) has been ruled out for the remainder of Sunday's game against the Bengals."}
Available leagues
Shortcuts: nfl, nba, wnba, mlb, nhl, ncaaf, ncaab, ncaaw, mls, epl, laliga, bundesliga, seriea, ligue1, ucl, ligamx. Any other ESPN league works with its path, e.g. soccer/ned.1 or soccer/bra.1.
Not every league publishes every data type: injury reports exist for NFL, NBA, WNBA, MLB and NHL; season player stats for the US leagues and college; rankings for college. The run log says when a league has no data for a type.
Quick start — copy an input and run
Today's NFL scores (fastest first run)
{ "leagues": ["nfl"], "modes": ["scoreboard"] }
Last Sunday's NFL games with every player's stats
{ "leagues": ["nfl"], "modes": ["scoreboard", "playerBoxScores"], "date": "2026-10-25" }
A week of NBA results
{ "leagues": ["nba"], "modes": ["scoreboard"], "dateFrom": "2026-10-20", "dateTo": "2026-10-26" }
Injury reports for four leagues
{ "leagues": ["nfl", "nba", "mlb", "nhl"], "modes": ["injuries"] }
Top 100 NBA players by season stats
{ "leagues": ["nba"], "modes": ["playerStats"], "maxPlayers": 100 }
Rosters for specific teams
{ "leagues": ["nba", "nfl"], "modes": ["rosters"], "teams": ["LAL", "BOS", "KC"] }
Betting odds and play-by-play for last Sunday's NFL games
{ "leagues": ["nfl"], "modes": ["odds", "playByPlay"], "date": "2026-10-25" }
Championship and MVP futures
{ "leagues": ["nfl", "nba", "nhl"], "modes": ["futures"] }
A player's game-by-game season (IDs come from rosters, box scores or the player's ESPN URL)
{ "leagues": ["nba"], "modes": ["playerGameLogs"], "athleteIds": ["3032977"] }
Every signing and trade this season
{ "leagues": ["nba", "mlb"], "modes": ["transactions"] }
College football rankings and news
{ "leagues": ["ncaaf"], "modes": ["rankings", "news"] }
Who uses this, and for what
- Fantasy sports and betting research — player box scores, injury status and odds in one dataset
- Sports analytics — season player stats, period scores and team stats across leagues
- Media and apps — live scores, schedules, recaps and news feeds
- Daily automation — schedule a run each morning for yesterday's results and the latest injury report
How to use
- Add one or more leagues (shortcut or ESPN path)
- Choose the data to fetch
- Optional: a date or a date range (up to 31 days) for scores and box scores; teams for rosters; max players for season stats
- Click Start and export as JSON, CSV or Excel
| Parameter | Type | Default | Description |
|---|---|---|---|
leagues | array | required | League shortcuts or ESPN paths |
modes | array | ["scoreboard"] | Data types (see table above) |
date | string | today | Single day YYYY-MM-DD for scores and box scores |
dateFrom / dateTo | string | — | Date range, up to 31 days |
maxGamesForDetails | integer | 30 | Max games per league for game summaries, player box scores, play-by-play and odds |
athleteIds | array | — | ESPN player IDs for player game logs |
eventIds | array | — | Specific ESPN game IDs for box scores |
teams | array | all | Teams for rosters (abbreviation, name or ID) |
maxPlayers | integer | 100 | Players per league for season stats |
includeActiveInjuries | boolean | false | Also list healthy players with practice notes |
newsLimit | integer | 25 | News articles per league |
Performance & cost
| Run | Records | Time (measured) |
|---|---|---|
| 4 leagues × scores + standings + teams | ~260 | ~8 s |
| NFL Sunday: scores + game summaries + player box scores | ~800 | ~10 s |
| NBA, 6 days of scores | ~45 | ~12 s |
| Injuries + season stats + standings, 3 leagues | ~530 | ~11 s |
| NFL: odds + play-by-play for 4 games + all futures | ~1,150 | ~19 s |
| NBA: transactions + futures + 2 players' game logs + 3 games' play-by-play and odds | ~2,190 | ~23 s |
Leagues are fetched in parallel. If ESPN briefly fails a request, it is retried automatically, and a league with an error never stops the others.
Pricing
This actor uses Pay Per Event (PPE) pricing: $0.001 per record returned — the same price for every data type, with no extra charge for box scores or injuries.
| Request | Records | Estimated cost |
|---|---|---|
| One league's scores for a day | ~5–15 | ~$0.005–0.015 |
| NBA standings | 30 | ~$0.03 |
| NFL injury report | ~275 | ~$0.28 |
| NFL Sunday: every player's box score | ~770 | ~$0.77 |
| Scores + standings + injuries, NBA and NFL | ~360 | ~$0.36 |
You can cap any run with the Max results limit — it stops exactly there and never charges for more.
FAQ
Why did I get 0 games? That league had no games on that date (off-season or rest day). Standings, teams, rosters and season stats work year-round.
How many rows does play-by-play return?
About 150–175 plays per NFL game and 450–500 per NBA game. Use maxGamesForDetails to control how many games are included.
Which leagues have odds and futures? Game odds are available for the major US leagues and most soccer leagues ESPN covers. Futures exist for NFL, NBA, NHL, MLB and college sports; most soccer leagues have none.
Why are position and starter empty in some box scores?
ESPN publishes them for basketball, hockey and baseball box scores, but not for football player stats.
Can I get historical games?
Yes — pass a past date or a date range.
Do I need an ESPN account or key? No. Everything comes from ESPN's public data.
Why is a field null?
Because that sport or that game does not publish it (for example, soccer has no home/road standings split, and odds only exist where ESPN carries lines). Nothing is guessed.
Keywords
espn scraper, espn api alternative, sports data api, live scores scraper, player box scores, injury report api, nfl injury report, nba player stats, sports standings scraper, fantasy sports data, sports betting data, nfl scraper, nba scraper, mlb scraper, nhl scraper, college football rankings, soccer results scraper
Related actors
Disclaimer
This actor collects only publicly available sports data. It is not affiliated with ESPN and does not constitute betting or financial advice. Use the data in compliance with the applicable terms and regulations in your jurisdiction.
Changelog
| Version | Date | Changes |
|---|---|---|
| 2.1 | 2026-10-27 | Betting odds, play-by-play, player game logs, transactions and futures. Odds per sportsbook with opening and closing lines; every play of a game with running score (and down & distance in football); game-by-game season logs for chosen players; all signings, trades and releases; championship, conference and award futures. |
| 2.0.1 | 2026-10-27 | Price lowered to $0.001 per record (was $0.002) — every data type included. |
| 2.0 | 2026-10-26 | Player box scores, injury reports, season player stats, rosters, news and college rankings. Pick data types from a list (text inputs from earlier runs still work). Date ranges up to 31 days. Box scores are fetched automatically for the games of the selected dates — no need to copy game IDs. More league shortcuts (WNBA, MLS, Bundesliga, Serie A, Ligue 1, Champions League, Liga MX, women's college basketball). Requests that fail briefly are retried, leagues run in parallel, and the log summarizes what each league returned. recapHeadline is now filled; the always-empty team venue field was removed. |
| 1.1 | 2026-08-18 | Period-by-period scores, game leaders, team box-score totals, recaps, and split records in standings. |