VOOZH about

URL: https://apify.com/crawlerbros/espn-rosters-player-stats

โ‡ฑ ESPN Rosters & Player Stats ยท Apify


Pricing

from $1.00 / 1,000 results

Go to Apify Store

ESPN Rosters & Player Stats

Scrape team rosters and player career statistics from ESPN across 16 leagues and 5 sports. No account or proxy required.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(1)

Developer

๐Ÿ‘ Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

11

Total users

4

Monthly active users

2 months ago

Last modified

Share

ESPN Rosters & Player Stats Scraper

Scrape team rosters and player career statistics from ESPN โ€” no account or subscription required. Supports 16 leagues across 5 sports including the NBA, NFL, MLB, NHL, MLS, WNBA, NCAA basketball and football, Premier League, La Liga, Champions League, Bundesliga, Serie A, Ligue 1, and Liga MX.

What This Scraper Does

This actor fetches team rosters from ESPN's public JSON API and returns one flat record per player with bio fields (name, jersey, position, height, weight, date of birth, college, etc.). With Fetch Player Career Stats enabled, it also adds sport-specific career totals โ€” points, rebounds, passing yards, goals, etc. Supports current and historical seasons.

Supported Leagues

CodeSportLeague
nbaBasketballNBA
wnbaBasketballWNBA
ncaamBasketballNCAA Men's
ncaawBasketballNCAA Women's
nflFootballNFL
ncaafFootballNCAA Football
mlbBaseballMLB
nhlHockeyNHL
mlsSoccerMajor League Soccer
eplSoccerEnglish Premier League
laligaSoccerLa Liga (Spain)
uclSoccerUEFA Champions League
bundesligaSoccerBundesliga (Germany)
serieaSoccerSerie A (Italy)
ligue1SoccerLigue 1 (France)
ligamxSoccerLiga MX (Mexico)

Input

FieldTypeDescription
LeaguesList of stringsLeague codes to scrape. Defaults to ["nba"].
TeamsList of strings (optional)Filter by team abbreviation (case-insensitive, e.g. "LAL") or ESPN numeric team ID (e.g. "13"). Omit for all teams.
SeasonInteger (optional)Year the season ends (e.g. 2026 for NBA 2025-26). Omit for current season.
Fetch Player Career StatsBooleanIf true, fetches career totals per player. Adds one API call per player (slow for large leagues). Default: false.
Max ItemsIntegerMaximum number of player records across all leagues (1โ€“50,000). Default: 500.

Team Filter Examples

  • Just Lakers and Celtics: "teams": ["LAL", "BOS"]
  • By ID: "teams": ["13", "2"]
  • Mixed: "teams": ["LAL", "17"]
  • Unknown entries log a warning and are skipped.

Season Encoding

Use the ending year for cross-year seasons:

  • NBA 2025-26 โ†’ season: 2026
  • EPL 2025-26 โ†’ season: 2026
  • NFL 2025 โ†’ season: 2025
  • MLB 2025 โ†’ season: 2025

Historical support varies by sport. ESPN's public API typically returns the current roster even when a past season is requested; historical rosters are sparsely available for most leagues. Invalid or unavailable seasons are silently skipped (empty result, no error). If you need past-season rosters, verify availability on ESPN's website for your specific league + season before running.

Output

Each record represents one player. Fields marked ? are optional and appear only when ESPN returns data for them.

Core bio fields

FieldTypeDescription
leaguestringLeague code e.g. "nba"
sportstringe.g. "basketball"
seasoninteger?Season year (when provided)
teamIdstringESPN team ID
teamNamestringFull team name
teamAbbreviationstring?e.g. "LAL"
teamLogostring?Logo URL
playerIdstringESPN athlete ID
firstNamestring?
lastNamestring?
fullNamestring
displayNamestring?
shortNamestring?
jerseystring?
positionstring?e.g. "Small Forward"
positionAbbreviationstring?e.g. "SF"
heightinteger?Inches
displayHeightstring?e.g. "6' 9\""
weightinteger?Pounds
displayWeightstring?e.g. "250 lbs"
ageinteger?
dateOfBirthstring?ISO date
birthPlacestring?e.g. "Akron, Ohio"
debutYearinteger?First pro year
experienceinteger?Years in league
collegestring?For NBA/NFL/NCAA
headshotstring?Headshot URL
statusstring?e.g. "Active"
statsUrlstring?Link to ESPN stats page
scrapedAtstringISO 8601 UTC

Career stats fields (when Fetch Player Career Stats is enabled)

Sport-specific fields are added to the same record:

Basketball (NBA, WNBA, NCAAM/W): gamesPlayed, points, rebounds, assists, steals, blocks, fieldGoalPct, threePointPct, freeThrowPct, minutes, turnovers

Football (NFL, NCAAF): gamesPlayed, passingYards, passingTouchdowns, interceptions, passerRating, rushingYards, rushingTouchdowns, receptions, receivingYards, receivingTouchdowns, tackles, sacks

Baseball (MLB): gamesPlayed, battingAverage, homeRuns, rbis, hits, runs, stolenBases, era, wins, losses, strikeouts, inningsPitched

Hockey (NHL): gamesPlayed, goals, assists, points, plusMinus, penaltyMinutes, shotsOnGoal, savePct, goalsAgainstAverage

Soccer: appearances, goals, assists, minutesPlayed, yellowCards, redCards, shotsOnTarget, shots

Fields only appear when ESPN returns data โ€” no nulls.

Error Records

If a league's team list or a team's roster fails to fetch, an error record is emitted:

FieldDescription
inputLeagueLeague code attempted
inputTeamTeam (if applicable)
inputSeasonSeason attempted
errorHuman-readable message
scrapedAtTimestamp

Frequently Asked Questions

Do I need an ESPN account? No. This scraper only uses ESPN's public JSON API.

Is a proxy required? No. ESPN's public API has no bot protection for typical use.

How do I get a single player? Use the Teams filter to narrow to the player's team, then filter the output by fullName in your downstream pipeline. ESPN doesn't have a public name-search endpoint, but rosters are small so this is fast.

Why is NCAA slow? NCAA basketball has 365 teams and NCAA football has 136. Pulling all rosters can return thousands of players. Use the Teams filter (e.g. ["DUKE", "KY"]) to narrow. With Fetch Player Career Stats enabled, each player adds one more API call โ€” for NCAA, the Teams filter is strongly recommended.

Why are some stat fields missing? ESPN returns different stats per sport and per player role. For example, a defensive back won't have passingYards; a reliever may not have wins. Per the no-null rule, fields only appear when ESPN has data.

What's the difference between this actor and the other ESPN actors?

  • Scores & Schedules returns game-by-game data (final scores, schedules, leaders).
  • Standings returns team-level standings (W/L, rank, points).
  • Rosters & Player Stats returns player-level data (who is on each team + career stats).

Does ESPN return salary data? No. ESPN's public API does not expose salary information.

Can I combine multiple leagues in one run? Yes. Pass multiple codes in leagues, e.g. ["nba", "nfl", "mlb"]. Each record is tagged with its league.

How often is roster data updated? ESPN updates rosters in near real-time as transactions happen. Running the actor returns the latest state at fetch time.

You might also like

ESPN News

crawlerbros/espn-news

Scrape ESPN news articles and headlines across 16 leagues and 5 sports. Optional team filter. No account or proxy required.

52

ESPN Scores & Schedules

crawlerbros/espn-scores-schedules

Scrape live scores, final results, and upcoming game schedules from ESPN across 16 leagues and 5 sports. No account or proxy required.

ESPN Standings

crawlerbros/espn-standings

Scrape league standings tables from ESPN across 16 leagues and 5 sports. Supports current and historical seasons. No account or proxy required.

ESPN Soccer Data Scraper

ahmed_hrid/ESPN-Soccer-Data-Scraper

Extract structured soccer data from ESPN's live data infrastructure โ€” the same feed that powers ESPN's website and app. No API key required. One run delivers standings, match results, team rosters, top scorers, player stats, and news across any major league in the world

ESPN NFL Stats Scraper

crawlerbros/espn-nfl-stats-scraper

Scrape NFL statistics from ESPN's public API - team rosters with player profiles, team standings, team schedules, game scoreboards, and NFL news. Covers all 32 NFL teams with player bio data. No API key required.

ESPN Hidden API Multi-Sport Scores Scraper

jungle_synthesizer/espn-hidden-api-multi-sport-scores-scraper

Scrapes scores, schedules, rosters, and athlete data from ESPN's undocumented public JSON APIs (site.api.espn.com + sports.core.api.espn.com). Covers NFL, NBA, MLB, NHL, soccer, and college sports โ€” no auth, no HTML parsing, survives site redesigns.

๐Ÿ‘ User avatar

BowTiedRaccoon

2