ESPN Scraper avatar

ESPN Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
ESPN Scraper

ESPN Scraper

Scrape ESPN public API with scoreboards, standings, teams, news, and game details for NFL, NBA, MLB, NHL, MLS, Premier League, La Liga, F1, UFC, PGA Golf, ATP Tennis, and more. No API key required.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(4)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

4

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Scrape live scores, standings, team info, news, and game details from ESPN's public API — covering NFL, NBA, MLB, NHL, MLS, Premier League, La Liga, Bundesliga, ATP Tennis, PGA Golf, UFC, Formula 1, and more.

No API key, no login, no proxy required. Works out-of-the-box on the Apify free plan.

What you can scrape

ModeDescription
ScoreboardLive and recent game scores with teams, venue, broadcast info
StandingsLeague/conference rankings with wins, losses, win percentage
TeamsFull team roster for any league with logos and records
Team DetailIn-depth info for a single team (venue, colors, links)
NewsLatest headlines with descriptions, images, and author
Game DetailFull boxscore context — leaders, recap, venue, broadcast

Supported Sports & Leagues

SportLeagueSlug
FootballNFLfootball / nfl
FootballCollege Footballfootball / college-football
BasketballNBAbasketball / nba
BasketballCollege Basketballbasketball / mens-college-basketball
BaseballMLBbaseball / mlb
HockeyNHLhockey / nhl
SoccerMLSsoccer / usa.1
SoccerPremier Leaguesoccer / eng.1
SoccerLa Ligasoccer / esp.1
SoccerBundesligasoccer / ger.1
TennisATPtennis / atp
GolfPGA Tourgolf / pga
MMAUFCmma / ufc
RacingFormula 1racing / f1

Input

FieldTypeRequiredDescription
modeselectYesWhat to fetch: scoreboard, standings, teams, teamDetail, news, gameDetail
sportselectNoSport category (e.g. basketball). Auto-corrected based on league.
leagueselectNoLeague slug (e.g. nba). Default: nba.
teamIdstringFor teamDetailESPN numeric team ID (get from teams mode output)
eventIdstringFor gameDetailESPN numeric event ID (get from scoreboard mode output)
maxItemsintegerNoMax records to emit (1–500, default 20)

Example inputs

NBA Scoreboard (today's games):

{
"mode": "scoreboard",
"sport": "basketball",
"league": "nba",
"maxItems": 20
}

NFL Standings:

{
"mode": "standings",
"sport": "football",
"league": "nfl",
"maxItems": 50
}

Premier League Teams:

{
"mode": "teams",
"sport": "soccer",
"league": "eng.1",
"maxItems": 30
}

NBA Game Detail (requires an eventId from scoreboard):

{
"mode": "gameDetail",
"sport": "basketball",
"league": "nba",
"eventId": "401873199"
}

Output

All records include mode, sport, league, and scrapedAt fields.

Scoreboard record

{
"mode": "scoreboard",
"sport": "basketball",
"league": "nba",
"eventId": "401873199",
"name": "Oklahoma City Thunder at San Antonio Spurs",
"date": "2026-05-23T00:30Z",
"homeTeam": "San Antonio Spurs",
"homeScore": "98",
"awayTeam": "Oklahoma City Thunder",
"awayScore": "110",
"status": "Final",
"venue": "Frost Bank Center, San Antonio, TX",
"broadcast": "TNT",
"scrapedAt": "2026-05-23T01:00:00+00:00"
}

Standings record

{
"mode": "standings",
"sport": "basketball",
"league": "nba",
"team": "Boston Celtics",
"teamId": "2",
"abbreviation": "BOS",
"conference": "Eastern Conference",
"wins": "64",
"losses": "18",
"winPct": ".780",
"rank": "1",
"scrapedAt": "2026-05-23T01:00:00+00:00"
}

Teams record

{
"mode": "teams",
"sport": "basketball",
"league": "nba",
"teamId": "2",
"name": "Boston Celtics",
"abbreviation": "BOS",
"location": "Boston",
"color": "007A33",
"logoUrl": "https://a.espncdn.com/i/teamlogos/nba/500/bos.png",
"wins": 64,
"losses": 18,
"scrapedAt": "2026-05-23T01:00:00+00:00"
}

News record

{
"mode": "news",
"sport": "basketball",
"league": "nba",
"headline": "Celtics clinch Eastern Conference title",
"description": "Boston defeats Miami in six games.",
"publishDate": "2026-05-22T23:00:00Z",
"url": "https://www.espn.com/nba/story/_/id/12345/celtics-clinch",
"imageUrl": "https://a.espncdn.com/photo/2026/0522/celtics.jpg",
"author": "Adrian Wojnarowski",
"category": "NBA",
"scrapedAt": "2026-05-23T01:00:00+00:00"
}

Game Detail record

{
"mode": "gameDetail",
"sport": "basketball",
"league": "nba",
"eventId": "401873199",
"name": "OKC at SA",
"date": "2026-05-23T00:30Z",
"homeTeam": "San Antonio Spurs",
"homeScore": "98",
"awayTeam": "Oklahoma City Thunder",
"awayScore": "110",
"status": "Final",
"venue": "Frost Bank Center, San Antonio, TX",
"broadcast": "TNT, ESPN+",
"leaders": [
{
"team": "Oklahoma City Thunder",
"category": "Points",
"athlete": "Shai Gilgeous-Alexander",
"value": "38"
}
],
"recap": "Thunder take 3-1 series lead with impressive road win.",
"scrapedAt": "2026-05-23T01:00:00+00:00"
}

Data Source

Data is sourced from ESPN's public REST API (site.api.espn.com and site.web.api.espn.com). These endpoints are publicly accessible, require no authentication, and return full JSON responses from Apify datacenter IPs.

This actor was built as a replacement for SofascoreScraper which was blocked at the API level from datacenter IPs.

Tips

  • Use mode=teams first to get valid teamId values for mode=teamDetail
  • Use mode=scoreboard to get valid eventId values for mode=gameDetail
  • The sport field is auto-corrected if it doesn't match the selected league
  • Scoreboard returns today's scheduled or completed games; off-season will return 0 events
  • Standings data may be limited or unavailable during off-season periods

FAQs

Q: Does this require an API key? A: No. ESPN's public API is freely accessible with no authentication.

Q: How often is the data updated? A: ESPN updates scores in near real-time during games. News and standings reflect the latest available data at scrape time.

Q: Can I get historical game data? A: The scoreboard endpoint shows current or recent games. For historical data, use mode=gameDetail with a specific eventId.

Q: Why is the scoreboard empty? A: If there are no games today (off-season or no scheduled games), the scoreboard will return 0 records. This is expected behavior.

Q: How do I find a team's ID? A: Run mode=teams for the relevant sport/league. The teamId field in each result is the ESPN numeric ID.

Q: Is there a rate limit? A: ESPN's public API is generous but the actor includes automatic retry logic with exponential backoff for 429/5xx responses.