Skip to main content
Breaking in 4.0.0
  • Public names are sportsdataverse-py's — athlete → player, event → game on every ESPN league; sdv-py's name_pattern on the native families (nhlApiWeb* → nhl*, nflApi* → nfl*, CBS's 16 shorts, the 3.0.0 file-stem names). Every pre-v4 name still works as a deprecated alias that warns once. (changelog)
  • Integer id columns are decimal strings — Every id column of integers (id, *_id, game_pk, playerId, …) comes back as exact decimal strings on every surface — parsers, producers, loaders, HockeyTech analytics. Compare and join ids as strings; Number(row.game_id) for a safe number back. (changelog)
  • 400 / 422 raise InvalidParameterError — For every family (it was AssetFetchError), never retried; the message names host, path and status with a redacted excerpt of the body. (changelog)
  • Typed returns — generated row types for parsed: true — TypeScript only. A wrapper's raw payload resolves to unknown (was any); verified endpoints resolve to their row interfaces; the summary dispatchers to ParsedTables. Narrow or cast a raw payload. (changelog)
  • Typed wrapper params and loader rows; strict mode — TypeScript only. A param the endpoint does not have, a missing required path param or a non-boolean bool param is a type error; parser rows are Record<string, unknown>; loader rows are their generated row types. (changelog)
  • Wrapper failures raise NoDataError / AssetFetchError — Instead of raw axios errors. NoDataError = the fetch worked and there is nothing there (404, ESPN { code: 404 }); AssetFetchError = the fetch failed (403 / 429 / 5xx after retries, network). Retries follow DEFAULT_RETRY_STATUSES with backoff. (changelog)

ligamx — Site API

24 endpoints on sdv.ligamx. Each is exposed under a camelCase canonical name and a snake_case alias (py/R parity), accepts snake_case or camelCase params, and returns raw ESPN JSON by default ({ parsed: true } for tidy rows).

espnLigamxPlayerBio​

LIGAMX — player bio (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/athletes/{athlete_id}/bio

Deprecated aliases (pre-v4 names, still callable): espn_ligamx_athlete_bio / espnLigamxAthleteBio

API paramJSrequireddescription
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—parsednoboolean — return tidy rows instead of raw JSON

Returns: raw ESPN Dict by default. With { parsed: true } the payload is routed through its parser (parse_single_entity); the column set varies by league and payload, so no fixed table is published. This endpoint is exposed on 40 leagues (nba, wnba, nbagl, nbl, fiba, olympics_mbk, olympics_wbk, nbasl_lv, nbasl_ut, nbasl_ca, nbasl_sac, nbasl_orl, nbasl_gs, mbb, wbb, cfb, nfl, mlb, nhl, mch, wch, college_baseball, college_softball, ufl, xfl, cfl, soccer, epl, laliga, bundesliga, seriea, ligue1, mls, ligamx, ucl, uel, nwsl, wwc, wc, cricket) — see parse_single_entity for the shared parser note.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxPlayerBio({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_player_bio(...)

espnLigamxPlayerInfo​

LIGAMX — player info (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/athletes/{athlete_id}

Deprecated aliases (pre-v4 names, still callable): espn_ligamx_athlete_info / espnLigamxAthleteInfo

API paramJSrequireddescription
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—parsednoboolean — return tidy rows instead of raw JSON

Returns: raw ESPN Dict by default. With { parsed: true } the payload is routed through its parser (parse_single_entity); the column set varies by league and payload, so no fixed table is published. This endpoint is exposed on 40 leagues (nba, wnba, nbagl, nbl, fiba, olympics_mbk, olympics_wbk, nbasl_lv, nbasl_ut, nbasl_ca, nbasl_sac, nbasl_orl, nbasl_gs, mbb, wbb, cfb, nfl, mlb, nhl, mch, wch, college_baseball, college_softball, ufl, xfl, cfl, soccer, epl, laliga, bundesliga, seriea, ligue1, mls, ligamx, ucl, uel, nwsl, wwc, wc, cricket) — see parse_single_entity for the shared parser note.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxPlayerInfo({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_player_info(...)

espnLigamxPlayerNews​

LIGAMX — player news (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/athletes/{athlete_id}/news

Deprecated aliases (pre-v4 names, still callable): espn_ligamx_athlete_news / espnLigamxAthleteNews

API paramJSrequireddescription
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_news):

col_nametypedescription
idintegerESPN numeric identifier for the article.
now_idcharacterESPN 'now' feed id.
content_keycharacterInternal content key.
data_source_identifiercharacterSource-system identifier.
typecharacterArticle type (Story, Media, HeadlineNews, etc.).
headlinecharacterArticle headline.
descriptioncharacterArticle summary/description.
last_modifiedcharacterLast-modified timestamp (ISO 8601).
publishedcharacterPublish timestamp (ISO 8601).
imagescharacterArticle images (list, stringified).
categoriescharacterArticle categories (list, stringified).
premiumlogicalWhether the article is premium/paywalled.
links_web_hrefcharacterWeb article URL.
links_mobile_hrefcharacterMobile article URL.
links_api_self_hrefcharacterESPN API canonical self-link for the article resource.
links_app_sportscenter_hrefcharacterSportsCenter app deep link.
bylinecharacterAuthor byline string as published by ESPN.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxPlayerNews({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_player_news(...)

espnLigamxCalendar​

LIGAMX — calendar (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/calendar

API paramJSrequireddescription
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxCalendar({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_calendar(...)

espnLigamxConferences​

LIGAMX — conferences (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/groups

API paramJSrequireddescription
—parsednoboolean — return tidy rows instead of raw JSON

Returns: raw ESPN Dict by default. With { parsed: true } the payload is routed through its parser (parse_groups); the column set varies by league and payload, so no fixed table is published. This endpoint is exposed on 40 leagues (nba, wnba, nbagl, nbl, fiba, olympics_mbk, olympics_wbk, nbasl_lv, nbasl_ut, nbasl_ca, nbasl_sac, nbasl_orl, nbasl_gs, mbb, wbb, cfb, nfl, mlb, nhl, mch, wch, college_baseball, college_softball, ufl, xfl, cfl, soccer, epl, laliga, bundesliga, seriea, ligue1, mls, ligamx, ucl, uel, nwsl, wwc, wc, cricket) — see parse_groups for the shared parser note.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxConferences({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_conferences(...)

espnLigamxDraft​

LIGAMX — draft (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/draft

API paramJSrequireddescription
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxDraft({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_draft(...)

espnLigamxInjuries​

LIGAMX — injuries (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/injuries

API paramJSrequireddescription
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_injuries):

col_nametypedescription
idcharacterESPN numeric identifier for the athlete.
display_namecharacterAthlete's full display name as shown on ESPN.
injuriescharacterInjury entries for the athlete (list of dicts, stringified): status, type, details, dates.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxInjuries({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_injuries(...)

espnLigamxNews​

LIGAMX — news (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/news

API paramJSrequireddescription
limitlimitnonumber | string — the maximum number of items to return; default 50
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_news):

col_nametypedescription
idintegerESPN numeric identifier for the article.
now_idcharacterESPN 'now' feed id.
content_keycharacterInternal content key.
data_source_identifiercharacterSource-system identifier.
typecharacterArticle type (Story, Media, HeadlineNews, etc.).
headlinecharacterArticle headline.
descriptioncharacterArticle summary/description.
last_modifiedcharacterLast-modified timestamp (ISO 8601).
publishedcharacterPublish timestamp (ISO 8601).
imagescharacterArticle images (list, stringified).
categoriescharacterArticle categories (list, stringified).
premiumlogicalWhether the article is premium/paywalled.
links_web_hrefcharacterWeb article URL.
links_mobile_hrefcharacterMobile article URL.
links_api_self_hrefcharacterESPN API canonical self-link for the article resource.
links_app_sportscenter_hrefcharacterSportsCenter app deep link.
bylinecharacterAuthor byline string as published by ESPN.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxNews({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_news(...)

espnLigamxScoreboard​

LIGAMX — scoreboard (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/scoreboard

API paramJSrequireddescription
datesdatesnonumber | string — a date YYYYMMDD, a range YYYYMMDD-YYYYMMDD or a season year YYYY
weekweeknonumber | string — the week of the season (football)
seasontypeseason_typenonumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
groupsgroupsnonumber | string — an ESPN group (conference / division) id, e.g. 50 for all of men's college basketball
limitlimitnonumber | string — the maximum number of items to return; default 500
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_scoreboard):

col_nametypedescription
game_idcharacter
uidcharacter
datecharacterMatch start timestamp (ISO 8601, UTC).
namecharacterFull event name (e.g. 'Team A at Team B').
short_namecharacterAbbreviated event name (e.g. 'TA @ TB').
season_yearintegerInteger season year ESPN assigns the event (e.g. 2025 for the 2025-26 season).
season_typeintegerESPN season-type id of the event's season: 1 preseason, 2 regular season, 3 postseason, 4 offseason for the US leagues; soccer competitions carry their own competition-specific ids (e.g. 13481).
season_slugcharacterESPN slug of the event's season type (e.g. 'regular-season', 'post-season'; soccer competitions use their own, such as 'final' or 'torneo-apertura').
status_type_idcharacter
status_type_namecharacter
status_type_statecharacter
status_type_completedlogical
status_type_descriptioncharacter
status_type_detailcharacter
status_type_short_detailcharacter
status_clockintegerGame clock in seconds as ESPN reports it: time remaining in the period for clock sports, elapsed seconds for soccer (e.g. 5400.0 at full time); 0.0 once a game has ended.
status_display_clockcharacter
status_periodintegerCurrent or final period number (quarter, half, inning or period, depending on the sport).
neutral_sitelogicalWhether the match is played at a neutral venue.
conference_competitionlogical
attendanceinteger
venue_idcharacter
venue_full_namecharacter
venue_citycharacter
venue_statecharacter
venue_indoorlogical
broadcastcharacterEvery network name of the competition in feed order, deduped and ", "-joined (an entry with no names gives its market); "" when the game lists no broadcast.
notecharacterEvent note text from the competition (e.g. a series or game label such as 'World Series - Game 1', or a shootout result); an empty string when there is none.
home_idcharacter
home_namecharacter
home_abbreviationcharacter
home_display_namecharacter
home_locationcharacter
home_colorcharacter
home_alternate_colorcharacter
home_logocharacter
home_scorecharacterHome team's score. For cricket, the innings string (e.g. '161/5 (18/20 ov, target 156)').
home_winnerlogical
home_rankcharacter
away_idcharacter
away_namecharacter
away_abbreviationcharacter
away_display_namecharacter
away_locationcharacter
away_colorcharacter
away_alternate_colorcharacter
away_logocharacter
away_scorecharacterAway team's score. For cricket, the innings string.
away_winnerlogical
away_rankcharacter

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxScoreboard({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_scoreboard(...)

espnLigamxStandings​

LIGAMX — standings (ESPN site.api.espn.com (v2)).

Endpoint URL: GET https://site.api.espn.com/apis/v2/sports/soccer/mex.1/standings

API paramJSrequireddescription
seasonseasonnonumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
groupgroupnonumber | string — an ESPN group (conference / division) id
typestandings_typenonumber | string — the type ESPN query parameter
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_standings):

col_nametypedescription
group_namecharacter
group_abbreviationcharacter
team_idcharacterESPN team id
team_namecharacter
team_abbreviationcharacterTeam abbreviation
team_display_namecharacterTeam display name
team_locationcharacter
team_logocharacter
avg_points_againstnumber
avg_points_fornumber
clincherinteger
differentialinteger
division_win_percentnumber
games_behindinteger
league_win_percentnumber
lossesintegerNumber of matches the team has lost.
playoff_seedinteger
point_differentialintegerGoal difference (for minus against).
pointsintegerCompetition points.
points_againstintegerGoals conceded.
points_forintegerGoals (or runs) scored by the team.
streakinteger
win_percentnumber
winsintegerNumber of matches the team has won.
games_aheadinteger
overallcharacterOverall record summary as published by ESPN.
homecharacter
roadcharacter
vs_divcharacter
vs_confcharacter
last_ten_gamescharacter

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxStandings({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_standings(...)

espnLigamxStatisticsLeague​

LIGAMX — statistics league (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/statistics

API paramJSrequireddescription
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxStatisticsLeague({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_statistics_league(...)

espnLigamxSummary​

LIGAMX — summary (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/summary

API paramJSrequireddescription
eventevent_idnonumber | string — the ESPN event (game) id
—parsednoboolean — return tidy rows instead of raw JSON
—sectionnowith parsed, return one named sub-frame (e.g. boxscore, plays, winprobability) instead of all

Returns: raw ESPN Dict by default. With { parsed: true } the summary dispatcher returns an object of 21 sub-frames keyed by section ({ parsed: true, section: '<name>' } for one); see ESPN parsed returns.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxSummary({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_summary(...)

espnLigamxTeam​

LIGAMX — team (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
—parsednoboolean — return tidy rows instead of raw JSON

Returns: raw ESPN Dict by default. With { parsed: true } the payload is routed through its parser (parse_single_entity); the column set varies by league and payload, so no fixed table is published. This endpoint is exposed on 40 leagues (nba, wnba, nbagl, nbl, fiba, olympics_mbk, olympics_wbk, nbasl_lv, nbasl_ut, nbasl_ca, nbasl_sac, nbasl_orl, nbasl_gs, mbb, wbb, cfb, nfl, mlb, nhl, mch, wch, college_baseball, college_softball, ufl, xfl, cfl, soccer, epl, laliga, bundesliga, seriea, ligue1, mls, ligamx, ucl, uel, nwsl, wwc, wc, cricket) — see parse_single_entity for the shared parser note.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeam({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team(...)

espnLigamxTeamDepthcharts​

LIGAMX — team depthcharts (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/depthcharts

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamDepthcharts({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_depthcharts(...)

espnLigamxTeamHistory​

LIGAMX — team history (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/history

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamHistory({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_history(...)

espnLigamxTeamInjuries​

LIGAMX — team injuries (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/injuries

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_injuries):

col_nametypedescription
idcharacterESPN numeric identifier for the athlete.
display_namecharacterAthlete's full display name as shown on ESPN.
injuriescharacterInjury entries for the athlete (list of dicts, stringified): status, type, details, dates.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamInjuries({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_injuries(...)

espnLigamxTeamLeaders​

LIGAMX — team leaders (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/leaders

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamLeaders({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_leaders(...)

espnLigamxTeamNews​

LIGAMX — team news (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/news

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
limitlimitnonumber | string — the maximum number of items to return; default 50
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_news):

col_nametypedescription
idintegerESPN numeric identifier for the article.
now_idcharacterESPN 'now' feed id.
content_keycharacterInternal content key.
data_source_identifiercharacterSource-system identifier.
typecharacterArticle type (Story, Media, HeadlineNews, etc.).
headlinecharacterArticle headline.
descriptioncharacterArticle summary/description.
last_modifiedcharacterLast-modified timestamp (ISO 8601).
publishedcharacterPublish timestamp (ISO 8601).
imagescharacterArticle images (list, stringified).
categoriescharacterArticle categories (list, stringified).
premiumlogicalWhether the article is premium/paywalled.
links_web_hrefcharacterWeb article URL.
links_mobile_hrefcharacterMobile article URL.
links_api_self_hrefcharacterESPN API canonical self-link for the article resource.
links_app_sportscenter_hrefcharacterSportsCenter app deep link.
bylinecharacterAuthor byline string as published by ESPN.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamNews({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_news(...)

espnLigamxTeamRecord​

LIGAMX — team record (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/record

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamRecord({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_record(...)

espnLigamxTeamRoster​

LIGAMX — team roster (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/roster

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
limitlimitnonumber | string — the maximum number of items to return; default 500
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_team_roster):

col_nametypedescription
idcharacter
uidcharacterESPN universal id for the athlete.
guidcharacter
alternate_ids_sdrcharacter
first_namecharacterAthlete's first (given) name.
last_namecharacterAthlete's last (family) name.
full_namecharacter
display_namecharacterAthlete's full display name as shown on ESPN.
short_namecharacterAthlete's abbreviated display name (e.g. 'L. James').
weightintegerAthlete weight in pounds.
display_weightcharacterAthlete weight, formatted for display.
heightintegerAthlete height in inches.
display_heightcharacterAthlete height, formatted for display.
ageintegerAthlete age in years.
date_of_birthcharacterAthlete date of birth (ISO 8601).
debut_yearinteger
linkscharacter
birth_place_citycharacter
birth_place_countrycharacter
college_idcharacter
college_guidcharacter
college_mascotcharacter
college_namecharacter
college_short_namecharacter
college_abbrevcharacter
college_logoscharacter
slugcharacterURL slug for the athlete.
headshot_hrefcharacter
headshot_altcharacter
jerseycharacterAthlete's jersey number as a string.
position_idcharacter
position_namecharacterFull position name (e.g. 'Point Guard', 'Goalkeeper').
position_display_namecharacter
position_abbreviationcharacter
position_leaflogical
injuriescharacter
teamscharacter
contractscharacter
experience_yearsinteger
contract_bird_statusinteger
contract_base_year_compensation_activelogical
contract_poison_pill_provision_activelogical
contract_incoming_trade_valueinteger
contract_outgoing_trade_valueinteger
contract_minimum_salary_exceptionlogical
contract_option_typeinteger
contract_salaryinteger
contract_salary_remaininginteger
contract_years_remaininginteger
contract_season_yearinteger
contract_season_start_datecharacter
contract_season_end_datecharacter
contract_trade_kicker_activelogical
contract_trade_kicker_percentageinteger
contract_trade_kicker_valueinteger
contract_trade_kicker_trade_valueinteger
contract_trade_restrictionlogical
contract_unsigned_foreign_picklogical
contract_activelogical
status_idcharacter
status_namecharacter
status_typecharacter
status_abbreviationcharacter
citizenshipcharacterAthlete citizenship.
birth_place_statecharacter
hand_typecharacter
hand_abbreviationcharacter
hand_display_valuecharacter

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamRoster({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_roster(...)

espnLigamxTeamSchedule​

LIGAMX — team schedule (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/schedule

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
seasonseasonnonumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
—parsednoboolean — return tidy rows instead of raw JSON

Returns: raw ESPN Dict by default. With { parsed: true } the payload is routed through its parser (parse_team_schedule); the column set varies by league and payload, so no fixed table is published. This endpoint is exposed on 40 leagues (nba, wnba, nbagl, nbl, fiba, olympics_mbk, olympics_wbk, nbasl_lv, nbasl_ut, nbasl_ca, nbasl_sac, nbasl_orl, nbasl_gs, mbb, wbb, cfb, nfl, mlb, nhl, mch, wch, college_baseball, college_softball, ufl, xfl, cfl, soccer, epl, laliga, bundesliga, seriea, ligue1, mls, ligamx, ucl, uel, nwsl, wwc, wc, cricket) — see parse_team_schedule for the shared parser note.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamSchedule({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_schedule(...)

espnLigamxTeamTransactions​

LIGAMX — team transactions (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams/{team_id}/transactions

API paramJSrequireddescription
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamTransactions({ team_id: '…' });
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_team_transactions(...)

espnLigamxTeamsSite​

LIGAMX — teams site (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/teams

API paramJSrequireddescription
limitlimitnonumber | string — the maximum number of items to return; default 1000
—parsednoboolean — return tidy rows instead of raw JSON

Returns: raw ESPN Dict by default. With { parsed: true } the payload is routed through its parser (parse_teams); the column set varies by league and payload, so no fixed table is published. This endpoint is exposed on 40 leagues (nba, wnba, nbagl, nbl, fiba, olympics_mbk, olympics_wbk, nbasl_lv, nbasl_ut, nbasl_ca, nbasl_sac, nbasl_orl, nbasl_gs, mbb, wbb, cfb, nfl, mlb, nhl, mch, wch, college_baseball, college_softball, ufl, xfl, cfl, soccer, epl, laliga, bundesliga, seriea, ligue1, mls, ligamx, ucl, uel, nwsl, wwc, wc, cricket) — see parse_teams for the shared parser note.

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTeamsSite({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_teams_site(...)

espnLigamxTransactions​

LIGAMX — transactions (ESPN site.api.espn.com).

Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/mex.1/transactions

API paramJSrequireddescription
limitlimitnonumber | string — the maximum number of items to return; default 500
—parsednoboolean — return tidy rows instead of raw JSON

Returns (with { parsed: true }, via parse_items):

col_nametypedescription
$refcharacterCore v2 $ref URL to the resource

Rows are untyped Row[] (not parity-verified yet).

Example:

await sdv.ligamx.espnLigamxTransactions({});
// snake_case alias (py/R parity): sdv.ligamx.espn_ligamx_transactions(...)

Generated by tools/codegen/generate.mjs from tools/codegen/endpoints/espn*.yaml (vendored from sdv-py) — see How this library is built._