ESPN team roster

GET https://api.api.sh/espn/v1/roster
1 credit / call sports try it in the playground →

A team's roster: every player with id, name, jersey, position (and group, e.g. offense/defense), age, date of birth, height, weight, birth place, college, experience, status, injuries and headshot, plus coaches.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
leaguerequired string League slug: nfl, college-football, nba, wnba, mens-college-basketball, womens-college-basketball, mlb, nhl, soccer competitions (eng.1 Premier League, esp.1 LaLiga, ita.1, ger.1, fra.1, usa.1 MLS, uefa.champions, uefa.europa, fifa.world ...), f1, irl, nascar-premier, pga, lpga, atp, wta, ufc. Other ESPN leagues work with sport. Example: nfl
sport football | basketball | baseball | hockey | soccer | racing | golf | tennis | mma | lacrosse | volleyball | rugby | field-hockey | water-polo | australian-football | rugby-league | cricket | boxing Only needed for a league not listed under league (it is inferred for those).
team_idrequired string ESPN team id or abbreviation (from /espn/v1/teams; 12 = Kansas City Chiefs in the NFL). Example: 12
season integer Season year (e.g. 2024; for NBA/NHL the year the season ends). Example: 2024

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/espn/v1/roster?league=nfl&team_id=12" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.