ESPN Sports Scraper — Scores, Teams & Standings avatar

ESPN Sports Scraper — Scores, Teams & Standings

Pricing

from $2.00 / 1,000 results

Go to Apify Store
ESPN Sports Scraper — Scores, Teams & Standings

ESPN Sports Scraper — Scores, Teams & Standings

Scrape ESPN for live and scheduled scores with betting odds, team lists and standings across NFL, NBA, MLB, NHL, soccer (Premier League, La Liga, Champions League) and college. Pick leagues and a data type. Keyless, no anti-bot, fast.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Categories

Share

Pull live and scheduled scores (with betting odds), team lists, and standings from ESPN — across NFL, NBA, MLB, NHL, soccer leagues and college — as clean JSON/CSV/Excel. Pick your leagues and a data type; get structured sports data in seconds.

Keyless, no anti-bot — built for fantasy tools, odds/betting models, sports media and data analysis.


What this Actor does

Choose one or more leagues (in sport/league form) and a data type:

  • Scoreboard — every game for a league: teams, live/final scores, status and clock, venue, TV broadcast, betting line/odds, and each team's record. Filter by date or date range.
  • Teams — the full team list for a league: name, abbreviation, location, colors and logo.
  • Standings — the standings table: conference/division, rank, wins, losses, win %, games behind and streak.

It runs on ESPN's public site API, so it's fast, keyless and reliable — one tidy row per game, team or standings entry.


Why use it

  • Live scores + odds in one call. Scoreboard rows carry the score, game status and the betting line — perfect for odds models, alerting and dashboards.
  • Many leagues, one Actor. NFL, NBA, MLB, NHL, soccer (Premier League, La Liga, Champions League…), college football & basketball — just change the league code.
  • Fantasy & analytics ready. Clean, structured records for building fantasy tools, projections, trackers and data pipelines.
  • Keyless and free of anti-bot. No API key, no scraping headaches — public endpoints, with proxy rotation on by default.
  • Schedule it. Run every few minutes during game day to keep a live score/odds feed; run daily for standings.

Who it's for

  • Fantasy & betting tool builders needing scores, odds and standings feeds.
  • Sports media & content teams auto-populating scoreboards, recaps and widgets.
  • Data analysts & modelers building datasets across seasons and leagues.
  • App & dashboard developers who want a clean sports API without the official-API friction.

Quick start

Run it in the console (no code)

  1. In Leagues, add one per line:

    football/nfl
    basketball/nba
    soccer/eng.1
  2. Pick a Data type: Scoreboard, Teams or Standings.

  3. (Scoreboard only, optional) set Dates like 20261009 or 20261001-20261031.

  4. Click Start, then export as JSON, CSV, Excel or HTML.

Leave leagues empty to run a demo (NFL + NBA scoreboard).

Run it via API (Python)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"leagues": ["football/nfl", "basketball/nba", "soccer/eng.1"],
"dataType": "scoreboard",
}
run = client.actor("YOUR_USERNAME/espn-sports-scraper").call(run_input=run_input)
for g in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{g['awayTeam']} @ {g['homeTeam']} — {g['awayScore']}-{g['homeScore']} ({g['statusDetail']}) {g['odds']}")

Run it via API (JavaScript)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('YOUR_USERNAME/espn-sports-scraper').call({
leagues: ['football/nfl'],
dataType: 'standings',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((r) => console.log(`${r.group}: ${r.teamName} ${r.wins}-${r.losses} (${r.winPercent})`));

League codes

Use sport/league:

LeagueCode
NFLfootball/nfl
College Footballfootball/college-football
NBAbasketball/nba
WNBAbasketball/wnba
Men's College Basketballbasketball/mens-college-basketball
MLBbaseball/mlb
NHLhockey/nhl
Premier Leaguesoccer/eng.1
La Ligasoccer/esp.1
Serie Asoccer/ita.1
Bundesligasoccer/ger.1
MLSsoccer/usa.1
Champions Leaguesoccer/uefa.champions

…and most other leagues ESPN covers — the same sport/league pattern applies.


Input

FieldTypeDescription
LeaguesarrayOne sport/league per line. Empty = demo (NFL + NBA).
Data typeselectscoreboard (games, scores & odds), teams, or standings.
Dates (scoreboard only)stringYYYYMMDD or YYYYMMDD-YYYYMMDD. Empty = today / current slate.
Speed (parallel leagues)integerHow many leagues at once. Default 5.
Proxy configurationobjectApify Proxy. On by default.

Output

Scoreboard record:

{
"dataType": "scoreboard",
"league": "football/nfl",
"name": "Tampa Bay Buccaneers at Dallas Cowboys",
"date": "2026-10-09T00:15Z",
"statusState": "pre",
"statusDetail": "Thu, October 8th at 8:15 PM EDT",
"homeTeam": "Dallas Cowboys", "homeScore": "0", "homeRecord": "2-2",
"awayTeam": "Tampa Bay Buccaneers", "awayScore": "0", "awayRecord": "0-4",
"venue": "AT&T Stadium", "city": "Arlington",
"odds": "DAL -8.5",
"broadcast": "Prime Video",
"scrapedAt": "2026-10-08T14:00:00.000Z"
}

Teams record: teamId, teamName, abbreviation, location, color, logo, record, standingSummary.

Standings record: group (conference/division), teamName, rank, wins, losses, ties, winPercent, gamesBehind, pointsFor, pointsAgainst, streak.

Every record also carries dataType, league and scrapedAt, so mixed exports stay tidy.


Tips & notes

  • Live game day. Schedule the scoreboard every few minutes — statusState flips pre → in → post, and scores/clock update live.
  • Odds. The odds field carries the current line when ESPN publishes it (e.g. DAL -8.5). It can be empty for leagues/games without a posted line.
  • Date ranges. Use dates to pull a past day, a whole month, or a future slate for scheduling.
  • Mix leagues. Add several leagues in one run — each row is labeled with its league.
  • Standings timing. Records and standings populate once a season is underway; preseason/offseason may return empty records.

Frequently asked questions

Do I need an API key? No. The Actor uses ESPN's public site API — no key, no account.

Which leagues are supported? Most leagues ESPN covers: NFL, NBA, WNBA, MLB, NHL, college football & basketball, and many soccer leagues (Premier League, La Liga, Serie A, Bundesliga, MLS, Champions League, and more). Use the sport/league code.

Does it include betting odds? Yes — the scoreboard includes the posted line in the odds field when ESPN provides one.

Can I get live scores? Yes. Run the scoreboard during games; statusState/statusDetail and scores reflect the live state. Schedule it to keep a feed fresh.

Can I pull a specific date? Yes — set dates (scoreboard) to a day or range in YYYYMMDD form.

Is it good for fantasy / modeling? Absolutely — clean, structured scores, standings and team data across leagues are ideal for fantasy tools and predictive models.


Export & integrate

Results are available as JSON, CSV, Excel, HTML and via the Apify API. Push to Google Sheets, a webhook, Make, Zapier, Slack or your database — and schedule runs for live score/odds feeds or daily standings.