ESPN Sports Scraper (Scores, Standings, Teams, Rosters) avatar

ESPN Sports Scraper (Scores, Standings, Teams, Rosters)

Pricing

from $1.20 / 1,000 rows

Go to Apify Store
ESPN Sports Scraper (Scores, Standings, Teams, Rosters)

ESPN Sports Scraper (Scores, Standings, Teams, Rosters)

Scrape ESPN sports data for NBA, NFL, MLB, NHL and soccer leagues: game scores and status, league standings, team lists and player rosters, from ESPN public endpoints.

Pricing

from $1.20 / 1,000 rows

Rating

0.0

(0)

Developer

Murat Uzun

Murat Uzun

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What is ESPN Sports Scraper?

ESPN Sports Scraper collects sports data from ESPN for NBA, NFL, MLB, NHL and soccer leagues such as the Premier League: game scores and status, league standings, team lists and player rosters. It reads ESPN's public site data, so no ESPN login or API key is needed.

Why use ESPN Sports Scraper?

  • Scores and game status for any date range (up to 31 days per run) across several leagues.
  • League standings with wins, losses, points and point differential.
  • Team lists with ESPN IDs and abbreviations, for joining with other data.
  • Rosters with jersey number, position, height, weight, age and college.
  • Pay only for rows saved.

How to use ESPN Sports Scraper

  1. Enter one or more leagues as sport/league (for example basketball/nba or soccer/eng.1).
  2. Choose the data: games, standings, teams or players.
  3. For games, set the start date and the end date (YYYY-MM-DD).
  4. Run it and download the dataset as JSON, CSV, Excel or HTML, or read it through the API.

Example input

{
"leagues": ["basketball/nba"],
"dataType": "games",
"dateFrom": "2026-10-15",
"dateTo": "2026-10-22",
"maxResults": 60
}

Example output

Real rows from runs on 2026-10-23.

Game (NBA, 2026-10-15):

{
"kind": "game",
"league": "nba",
"sport": "basketball",
"itemId": "401908945",
"name": "Toronto Raptors at New York Knicks",
"date": "2026-10-15T23:30Z",
"statusState": "post",
"statusDetail": "Final",
"homeTeam": "New York Knicks",
"homeScore": 122,
"awayTeam": "Toronto Raptors",
"awayScore": 120,
"winner": "home",
"venue": "Madison Square Garden",
"city": "New York",
"attendance": 19812,
"broadcast": null,
"url": "https://www.espn.com/nba/game/_/gameId/401908945/raptors-knicks",
"position": 1
}

Standing (Premier League, eng.1):

{
"kind": "standing",
"league": "eng.1",
"sport": "soccer",
"group": "2026-27 English Premier League",
"itemId": "382",
"name": "Manchester City",
"teamId": "382",
"teamName": "Manchester City",
"teamAbbreviation": "MNC",
"location": "Manchester City",
"gamesPlayed": 7,
"wins": 7,
"losses": 0,
"ties": 0,
"points": 21,
"pointsFor": 19,
"pointsAgainst": 7,
"pointDifferential": 12,
"url": "https://www.espn.com/soccer/club/_/id/382/manchester-city",
"position": 1
}

Data table

dataTypeRowsMain fields
gamesone per gameteams, scores, winner, status, venue, city, attendance, broadcast
standingsone per team in the tablegroup, wins, losses, ties, win percent, points, point differential, streak, games behind
teamsone per teamteam ID, name, abbreviation, location, link
playersone per player on the rosters of the first teamsathlete ID, jersey, player position, height, weight, age, experience, college

Fields that a league does not publish (for example points in basketball) are left empty.

Input parameters

  • Leagues: sport/league paths. Several leagues per run.
  • Data to collect: games, standings, teams or players.
  • Games from / to (date): YYYY-MM-DD. The end date is inclusive, up to 31 days. Empty start date means today (UTC). One request is made per day.
  • Max results per league: 1 to 1000.
  • Max teams for players: how many team rosters to load (players mode only).

Pricing

Pay per row saved (see the Actor page for the current price). The run stops before it would exceed your max total charge.

ESPN Sports Scraper vs. the ESPN website

This Actor calls ESPN's public site API and returns one structured row per game, standing, team or player. It does not provide odds, play-by-play, news or video.

Using ESPN Sports Scraper with AI agents and MCP

Use it from the Apify MCP server or the API with a league and a date range. Pay-per-event pricing is charged per row, so an agent that sets a maxTotalChargeUsd never goes over that budget.

FAQ

Why is a game missing? ESPN lists a game on the day it is scheduled. Check the date range; each date is requested on its own.

Does it include player statistics (points, rebounds, goals)? No. This version returns roster information for players, not season or game statistics.

Why does the date range have a 31-day limit? ESPN's scoreboard does not accept date ranges, so the Actor asks one day at a time. The limit keeps one run from making too many requests.

Support and feedback

If you find a problem, open an issue in the Actor's Issues tab. A review helps other users find it.