ESPN Scraper: Scores, Odds, Standings — No Login, $0.93/1k
Pricing
from $0.93 / 1,000 results
ESPN Scraper: Scores, Odds, Standings — No Login, $0.93/1k
NFL, NBA, MLB, NHL, college and soccer in one run: live scores, schedules, betting odds (moneyline, spread, total, open/close), standings, rosters, injuries, news, rankings and box scores. Date windows, team filter, monitor mode. No login or cookies. MCP-ready for AI agents. $0.93 per 1,000 records.
Pricing
from $0.93 / 1,000 results
Rating
0.0
(0)
Developer
Fortuitous Pirate
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
2
Monthly active users
12 days ago
Last modified
Categories
Share
ESPN Sports Scraper: Scores, Odds, Standings, Rosters & Injuries
Pull ESPN sports data for many leagues in one run: live scores and schedules, betting odds (moneyline, spread and total, with opening and current lines), standings, teams, rosters, injury reports, news, college rankings and full box scores. No login, no cookies, no API key, no browser. It reads ESPN's public JSON endpoints, so runs finish in seconds.
- Multi-league:
leagues: ["nfl", "nba", "nhl", "epl"]plus college football and basketball, MLB, WNBA, MLS, La Liga, Bundesliga, Serie A, Ligue 1, Liga MX, Champions League, Europa League, and any ESPNsport/leaguepath (racing/f1,mma/ufc,golf/pga). - Several data types per run:
dataTypes: ["scoreboard", "odds", "injuries"]. - Date windows: current slate, today, yesterday, tomorrow, last 7 days, next 7 days, or any range up to 62 days.
- Filters: teams (id, abbreviation or name), game status (scheduled, live, final), live games only.
- Monitor mode: schedule it and get only what changed since the last run: score updates, line moves, new injuries, new articles.
- Partial results: if one league fails, everything else is still saved, and the run's
OUTPUTrecord lists what each league returned.
Who uses it
| Use case | Input |
|---|---|
| Betting models and line tracking | dataTypes: ["odds"], dateMode: "next7Days"; schedule hourly with monitorMode: true to capture every line move (opening vs current moneyline, spread, total) |
| Fantasy sports tools and lineup alerts | dataTypes: ["injuries", "roster"], teams: [...], monitorMode: true for new injury designations |
| Media, newsletters, sports bots | dataTypes: ["scoreboard", "news"], dateMode: "today", liveOnly: true for live tickers |
| Data science and historical analysis | dataTypes: ["scoreboard"], dateMode: "range" with start/end dates, then gameSummary on the event ids for box scores and per-player stats |
| Standings and power rankings pages | dataTypes: ["standings", "rankings"] |
Input examples
Tonight's NFL, NBA and NHL games with odds:
{ "leagues": ["nfl", "nba", "nhl"], "dataTypes": ["scoreboard", "odds"], "dateMode": "today", "limit": 100 }
Line-move monitor (schedule every hour; each run returns only lines that moved):
{ "leagues": ["nfl", "ncaaf"], "dataTypes": ["odds"], "dateMode": "next7Days", "monitorMode": true, "monitorId": "football-lines", "limit": 500 }
Injury report and rosters for specific teams:
{ "leagues": ["nba"], "dataTypes": ["injuries", "roster"], "teams": ["LAL", "Celtics"], "limit": 200 }
Final scores for a date range, then a box score:
{ "leagues": ["nhl"], "startDate": "2026-10-15", "endDate": "2026-10-18", "gameStatus": ["post"], "limit": 500 }{ "leagues": ["nfl"], "dataTypes": ["gameSummary"], "eventIds": ["401872996"] }
An empty input {} returns the current NFL slate (or the next league with games, off-season).
Existing tasks keep working: the single dataType, sport, league, teamId, eventId, startDate/endDate, season, seasonType and limit fields behave as before. limit is the maximum per league and data type.
Data types
dataTypes value | One row per | Key fields |
|---|---|---|
scoreboard | game (type: "game") | eventId, name, date, state (pre/in/post), status, period, clock, homeTeam/awayTeam (id, name, abbreviation, score, record, winner), venue, broadcasts, odds, week |
schedule | game (type: "schedule") | same as scoreboard; with teams set, each team's full season schedule |
odds | game and sportsbook | provider, details (e.g. "CHI -3"), spread, overUnder, home/away/draw moneyline, spread lines and prices, over/under lines and prices, plus the opening values |
standings | team | conference, wins, losses, ties, winPercentage, gamesBack, points, streak, home/away record, rawStats (every stat ESPN lists) |
teams | team | teamId, name, abbreviation, colors, logos, venue, ESPN links |
roster | player | athleteId, name, jersey, position, height, weight, age, college, experience, status, draft info |
injuries | injured player | athleteName, position, team, status (Out, Questionable...), injury type, expected return date, notes |
news | article | headline, description, published, author, URL, image, related teams and athletes |
rankings | ranked team | poll (AP Top 25, Coaches...), rank, previous rank, points, first-place votes, record |
gameSummary | game + player | team box score stats, leaders, scoring plays, weather, odds; then one playerGameStats row per player |
Output sample
{"type": "odds", "league": "nfl", "eventId": "401873010","name": "New England Patriots at Chicago Bears", "date": "2026-10-23T00:15Z", "state": "pre","provider": "Draft Kings", "details": "CHI -3", "spread": -3, "overUnder": 50.5, "favorite": "CHI","homeMoneyline": "-155", "awayMoneyline": "+130", "homeMoneylineOpen": "-120", "awayMoneylineOpen": "+100","homeSpreadLine": "-3", "homeSpreadOdds": "-102", "homeSpreadLineOpen": "-1.5","overLine": "o50.5", "overOdds": "-115", "overLineOpen": "o47.5"}
In monitor mode each row also carries changeType: new or changed.
Notes
- Dates are US Eastern days, as on ESPN.com. Odds are what ESPN shows (usually one sportsbook per game), and appear for upcoming games.
- Rankings exist for college sports only; rosters need
teams; game summaries needeventIds(take them from scoreboard rows). - Export to JSON, CSV, Excel, or connect via the Apify API, webhooks, Make, Zapier or MCP for AI agents.
- This actor uses ESPN's publicly accessible data. It is not affiliated with ESPN.