- Public names are sportsdataverse-py's —
athlete→player,event→gameon every ESPN league; sdv-py'sname_patternon 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 wasAssetFetchError), 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 tounknown(wasany); verified endpoints resolve to their row interfaces; the summary dispatchers toParsedTables. Narrow or cast a raw payload. (changelog) - Typed wrapper params and loader rows;
strictmode — TypeScript only. A param the endpoint does not have, a missing required path param or a non-booleanboolparam is a type error; parser rows areRecord<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 followDEFAULT_RETRY_STATUSESwith backoff. (changelog)
uel — Site API
24 endpoints on sdv.uel. 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).
espnUelPlayerBio
UEL — player bio (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/athletes/{athlete_id}/bio
Deprecated aliases (pre-v4 names, still callable): espn_uel_athlete_bio / espnUelAthleteBio
| API param | JS | required | description |
|---|---|---|---|
{athlete_id} | athlete_id | yes | number | string — the ESPN athlete id |
| — | parsed | no | boolean — 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 30 leagues (nba, wnba, nbagl, 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.uel.espnUelPlayerBio({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_player_bio(...)
espnUelPlayerInfo
UEL — player info (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/athletes/{athlete_id}
Deprecated aliases (pre-v4 names, still callable): espn_uel_athlete_info / espnUelAthleteInfo
| API param | JS | required | description |
|---|---|---|---|
{athlete_id} | athlete_id | yes | number | string — the ESPN athlete id |
| — | parsed | no | boolean — 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 30 leagues (nba, wnba, nbagl, 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.uel.espnUelPlayerInfo({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_player_info(...)
espnUelPlayerNews
UEL — player news (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/athletes/{athlete_id}/news
Deprecated aliases (pre-v4 names, still callable): espn_uel_athlete_news / espnUelAthleteNews
| API param | JS | required | description |
|---|---|---|---|
{athlete_id} | athlete_id | yes | number | string — the ESPN athlete id |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_news):
| col_name | type | description |
|---|---|---|
id | integer | ESPN numeric identifier for the article. |
now_id | character | ESPN 'now' feed id. |
content_key | character | Internal content key. |
data_source_identifier | character | Source-system identifier. |
type | character | Article type (Story, Media, HeadlineNews, etc.). |
headline | character | Article headline. |
description | character | Article summary/description. |
last_modified | character | Last-modified timestamp (ISO 8601). |
published | character | Publish timestamp (ISO 8601). |
images | character | Article images (list, stringified). |
categories | character | Article categories (list, stringified). |
premium | logical | Whether the article is premium/paywalled. |
links_web_href | character | Web article URL. |
links_mobile_href | character | Mobile article URL. |
links_api_self_href | character | ESPN API canonical self-link for the article resource. |
links_app_sportscenter_href | character | SportsCenter app deep link. |
byline | character | Author byline string as published by ESPN. |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelPlayerNews({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_player_news(...)
espnUelCalendar
UEL — calendar (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/calendar
| API param | JS | required | description |
|---|---|---|---|
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelCalendar({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_calendar(...)
espnUelConferences
UEL — conferences (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/groups
| API param | JS | required | description |
|---|---|---|---|
| — | parsed | no | boolean — 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 30 leagues (nba, wnba, nbagl, 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.uel.espnUelConferences({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_conferences(...)
espnUelDraft
UEL — draft (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/draft
| API param | JS | required | description |
|---|---|---|---|
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelDraft({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_draft(...)
espnUelInjuries
UEL — injuries (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/injuries
| API param | JS | required | description |
|---|---|---|---|
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_injuries):
| col_name | type | description |
|---|---|---|
id | character | ESPN numeric identifier for the athlete. |
display_name | character | Athlete's full display name as shown on ESPN. |
injuries | character | Injury entries for the athlete (list of dicts, stringified): status, type, details, dates. |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelInjuries({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_injuries(...)
espnUelNews
UEL — news (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/news
| API param | JS | required | description |
|---|---|---|---|
limit | limit | no | number | string — the maximum number of items to return; default 50 |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_news):
| col_name | type | description |
|---|---|---|
id | integer | ESPN numeric identifier for the article. |
now_id | character | ESPN 'now' feed id. |
content_key | character | Internal content key. |
data_source_identifier | character | Source-system identifier. |
type | character | Article type (Story, Media, HeadlineNews, etc.). |
headline | character | Article headline. |
description | character | Article summary/description. |
last_modified | character | Last-modified timestamp (ISO 8601). |
published | character | Publish timestamp (ISO 8601). |
images | character | Article images (list, stringified). |
categories | character | Article categories (list, stringified). |
premium | logical | Whether the article is premium/paywalled. |
links_web_href | character | Web article URL. |
links_mobile_href | character | Mobile article URL. |
links_api_self_href | character | ESPN API canonical self-link for the article resource. |
links_app_sportscenter_href | character | SportsCenter app deep link. |
byline | character | Author byline string as published by ESPN. |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelNews({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_news(...)
espnUelScoreboard
UEL — scoreboard (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/scoreboard
| API param | JS | required | description |
|---|---|---|---|
dates | dates | no | number | string — a date YYYYMMDD, a range YYYYMMDD-YYYYMMDD or a season year YYYY |
week | week | no | number | string — the week of the season (football) |
seasontype | season_type | no | number | string — the season type: 1 preseason, 2 regular season, 3 postseason |
groups | groups | no | number | string — an ESPN group (conference / division) id, e.g. 50 for all of men's college basketball |
limit | limit | no | number | string — the maximum number of items to return; default 500 |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_scoreboard):
| col_name | type | description |
|---|---|---|
game_id | character | |
uid | character | |
date | character | Match start timestamp (ISO 8601, UTC). |
name | character | Full event name (e.g. 'Team A at Team B'). |
short_name | character | Abbreviated event name (e.g. 'TA @ TB'). |
season_year | integer | Integer season year ESPN assigns the event (e.g. 2025 for the 2025-26 season). |
season_type | integer | ESPN 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_slug | character | |
status_type_id | character | |
status_type_name | character | |
status_type_state | character | |
status_type_completed | logical | |
status_type_description | character | |
status_type_detail | character | |
status_type_short_detail | character | |
status_clock | integer | Game 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_clock | character | |
status_period | integer | Current or final period number (quarter, half, inning or period, depending on the sport). |
neutral_site | logical | Whether the match is played at a neutral venue. |
conference_competition | logical | |
attendance | integer | |
venue_id | character | |
venue_full_name | character | |
venue_city | character | |
venue_state | character | |
venue_indoor | logical | |
broadcast | character | |
note | character | Event 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_id | character | |
home_name | character | |
home_abbreviation | character | |
home_display_name | character | |
home_location | character | |
home_color | character | |
home_alternate_color | character | |
home_logo | character | |
home_score | character | Home team's score. For cricket, the innings string (e.g. '161/5 (18/20 ov, target 156)'). |
home_winner | logical | |
home_rank | character | |
away_id | character | |
away_name | character | |
away_abbreviation | character | |
away_display_name | character | |
away_location | character | |
away_color | character | |
away_alternate_color | character | |
away_logo | character | |
away_score | character | Away team's score. For cricket, the innings string. |
away_winner | logical | |
away_rank | character |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelScoreboard({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_scoreboard(...)
espnUelStandings
UEL — standings (ESPN site.api.espn.com (v2)).
Endpoint URL: GET https://site.api.espn.com/apis/v2/sports/soccer/uefa.europa/standings
| API param | JS | required | description |
|---|---|---|---|
season | season | no | number | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25) |
group | group | no | number | string — an ESPN group (conference / division) id |
type | standings_type | no | number | string — the type ESPN query parameter |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_standings):
| col_name | type | description |
|---|---|---|
group_name | character | |
group_abbreviation | character | |
team_id | character | ESPN team id |
team_name | character | |
team_abbreviation | character | Team abbreviation |
team_display_name | character | Team display name |
team_location | character | |
team_logo | character | |
avg_points_against | number | |
avg_points_for | number | |
clincher | integer | |
differential | integer | |
division_win_percent | number | |
games_behind | integer | |
league_win_percent | number | |
losses | integer | Number of matches the team has lost. |
playoff_seed | integer | |
point_differential | integer | Goal difference (for minus against). |
points | integer | Competition points. |
points_against | integer | Goals conceded. |
points_for | integer | Goals (or runs) scored by the team. |
streak | integer | |
win_percent | number | |
wins | integer | Number of matches the team has won. |
games_ahead | integer | |
overall | character | Overall record summary as published by ESPN. |
home | character | |
road | character | |
vs_div | character | |
vs_conf | character | |
last_ten_games | character |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelStandings({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_standings(...)
espnUelStatisticsLeague
UEL — statistics league (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/statistics
| API param | JS | required | description |
|---|---|---|---|
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelStatisticsLeague({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_statistics_league(...)
espnUelSummary
UEL — summary (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/summary
| API param | JS | required | description |
|---|---|---|---|
event | event_id | no | number | string — the ESPN event (game) id |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
| — | section | no | with 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.uel.espnUelSummary({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_summary(...)
espnUelTeam
UEL — team (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
| — | parsed | no | boolean — 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 30 leagues (nba, wnba, nbagl, 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.uel.espnUelTeam({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team(...)
espnUelTeamDepthcharts
UEL — team depthcharts (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/depthcharts
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamDepthcharts({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_depthcharts(...)
espnUelTeamHistory
UEL — team history (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/history
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamHistory({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_history(...)
espnUelTeamInjuries
UEL — team injuries (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/injuries
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_injuries):
| col_name | type | description |
|---|---|---|
id | character | ESPN numeric identifier for the athlete. |
display_name | character | Athlete's full display name as shown on ESPN. |
injuries | character | Injury entries for the athlete (list of dicts, stringified): status, type, details, dates. |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamInjuries({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_injuries(...)
espnUelTeamLeaders
UEL — team leaders (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/leaders
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamLeaders({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_leaders(...)
espnUelTeamNews
UEL — team news (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/news
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
limit | limit | no | number | string — the maximum number of items to return; default 50 |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_news):
| col_name | type | description |
|---|---|---|
id | integer | ESPN numeric identifier for the article. |
now_id | character | ESPN 'now' feed id. |
content_key | character | Internal content key. |
data_source_identifier | character | Source-system identifier. |
type | character | Article type (Story, Media, HeadlineNews, etc.). |
headline | character | Article headline. |
description | character | Article summary/description. |
last_modified | character | Last-modified timestamp (ISO 8601). |
published | character | Publish timestamp (ISO 8601). |
images | character | Article images (list, stringified). |
categories | character | Article categories (list, stringified). |
premium | logical | Whether the article is premium/paywalled. |
links_web_href | character | Web article URL. |
links_mobile_href | character | Mobile article URL. |
links_api_self_href | character | ESPN API canonical self-link for the article resource. |
links_app_sportscenter_href | character | SportsCenter app deep link. |
byline | character | Author byline string as published by ESPN. |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamNews({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_news(...)
espnUelTeamRecord
UEL — team record (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/record
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamRecord({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_record(...)
espnUelTeamRoster
UEL — team roster (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/roster
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
limit | limit | no | number | string — the maximum number of items to return; default 500 |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_team_roster):
| col_name | type | description |
|---|---|---|
id | character | |
uid | character | ESPN universal id for the athlete. |
guid | character | |
alternate_ids_sdr | character | |
first_name | character | Athlete's first (given) name. |
last_name | character | Athlete's last (family) name. |
full_name | character | |
display_name | character | Athlete's full display name as shown on ESPN. |
short_name | character | Athlete's abbreviated display name (e.g. 'L. James'). |
weight | integer | Athlete weight in pounds. |
display_weight | character | Athlete weight, formatted for display. |
height | integer | Athlete height in inches. |
display_height | character | Athlete height, formatted for display. |
age | integer | Athlete age in years. |
date_of_birth | character | Athlete date of birth (ISO 8601). |
debut_year | integer | |
links | character | |
birth_place_city | character | |
birth_place_country | character | |
college_id | character | |
college_guid | character | |
college_mascot | character | |
college_name | character | |
college_short_name | character | |
college_abbrev | character | |
college_logos | character | |
slug | character | URL slug for the athlete. |
headshot_href | character | |
headshot_alt | character | |
jersey | character | Athlete's jersey number as a string. |
position_id | character | |
position_name | character | Full position name (e.g. 'Point Guard', 'Goalkeeper'). |
position_display_name | character | |
position_abbreviation | character | |
position_leaf | logical | |
injuries | character | |
teams | character | |
contracts | character | |
experience_years | integer | |
contract_bird_status | integer | |
contract_base_year_compensation_active | logical | |
contract_poison_pill_provision_active | logical | |
contract_incoming_trade_value | integer | |
contract_outgoing_trade_value | integer | |
contract_minimum_salary_exception | logical | |
contract_option_type | integer | |
contract_salary | integer | |
contract_salary_remaining | integer | |
contract_years_remaining | integer | |
contract_season_year | integer | |
contract_season_start_date | character | |
contract_season_end_date | character | |
contract_trade_kicker_active | logical | |
contract_trade_kicker_percentage | integer | |
contract_trade_kicker_value | integer | |
contract_trade_kicker_trade_value | integer | |
contract_trade_restriction | logical | |
contract_unsigned_foreign_pick | logical | |
contract_active | logical | |
status_id | character | |
status_name | character | |
status_type | character | |
status_abbreviation | character | |
citizenship | character | Athlete citizenship. |
birth_place_state | character | |
hand_type | character | |
hand_abbreviation | character | |
hand_display_value | character |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamRoster({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_roster(...)
espnUelTeamSchedule
UEL — team schedule (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/schedule
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
season | season | no | number | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25) |
| — | parsed | no | boolean — 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 30 leagues (nba, wnba, nbagl, 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.uel.espnUelTeamSchedule({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_schedule(...)
espnUelTeamTransactions
UEL — team transactions (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams/{team_id}/transactions
| API param | JS | required | description |
|---|---|---|---|
{team_id} | team_id | yes | number | string — the ESPN team id (see espn_<league>_teams) |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTeamTransactions({ team_id: '…' });
// snake_case alias (py/R parity): sdv.uel.espn_uel_team_transactions(...)
espnUelTeamsSite
UEL — teams site (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/teams
| API param | JS | required | description |
|---|---|---|---|
limit | limit | no | number | string — the maximum number of items to return; default 1000 |
| — | parsed | no | boolean — 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 30 leagues (nba, wnba, nbagl, 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.uel.espnUelTeamsSite({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_teams_site(...)
espnUelTransactions
UEL — transactions (ESPN site.api.espn.com).
Endpoint URL: GET https://site.api.espn.com/apis/site/v2/sports/soccer/uefa.europa/transactions
| API param | JS | required | description |
|---|---|---|---|
limit | limit | no | number | string — the maximum number of items to return; default 500 |
| — | parsed | no | boolean — return tidy rows instead of raw JSON |
Returns (with { parsed: true }, via parse_items):
| col_name | type | description |
|---|---|---|
$ref | character | Core v2 $ref URL to the resource |
Rows are untyped Row[] (not parity-verified yet).
Example:
await sdv.uel.espnUelTransactions({});
// snake_case alias (py/R parity): sdv.uel.espn_uel_transactions(...)
Generated by tools/codegen/generate.mjs from tools/codegen/endpoints/espn*.yaml (vendored from sdv-py) — see How this library is built._