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)

soccer — Core API

82 endpoints on sdv.soccer. 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).

espnSoccerPlayerAwards​

SOCCER — player awards (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/awards

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_awards / espnSoccerAthleteAwards

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerAwards({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_awards(...)

espnSoccerPlayerCareerStats​

SOCCER — player career stats (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/statistics[/{stat_type}]

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_career_stats / espnSoccerAthleteCareerStats

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
{stat_type}stat_typenonumber | string — the {stat_type} path segment; optional
—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.soccer.espnSoccerPlayerCareerStats({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_career_stats(...)

espnSoccerPlayerContracts​

SOCCER — player contracts (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/contracts

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_contracts / espnSoccerAthleteContracts

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerContracts({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_contracts(...)

espnSoccerPlayerCore​

SOCCER — player core (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_core / espnSoccerAthleteCore

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{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.soccer.espnSoccerPlayerCore({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_core(...)

espnSoccerPlayerEventlog​

SOCCER — player eventlog (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/eventlog

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_eventlog / espnSoccerAthleteEventlog

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerEventlog({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_eventlog(...)

espnSoccerPlayerInjuries​

SOCCER — player injuries (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/injuries

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_injuries / espnSoccerAthleteInjuries

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerInjuries({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_injuries(...)

espnSoccerPlayerNotes​

SOCCER — player notes (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/notes

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_notes / espnSoccerAthleteNotes

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerNotes({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_notes(...)

espnSoccerPlayerRecords​

SOCCER — player records (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/records

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_records / espnSoccerAthleteRecords

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerRecords({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_records(...)

espnSoccerPlayerSeasons​

SOCCER — player seasons (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/seasons

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_seasons / espnSoccerAthleteSeasons

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerSeasons({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_seasons(...)

espnSoccerPlayerStatisticslog​

SOCCER — player statisticslog (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/statisticslog

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_statisticslog / espnSoccerAthleteStatisticslog

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
—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.soccer.espnSoccerPlayerStatisticslog({ athlete_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_statisticslog(...)

espnSoccerPlayerVsPlayer​

SOCCER — player vs player (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes/{athlete_id}/vsathlete/{opp_id}

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athlete_vs_athlete / espnSoccerAthleteVsAthlete

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{athlete_id}athlete_idyesnumber | string — the ESPN athlete id
{opp_id}opp_idyesnumber | string — the {opp_id} path segment
—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.soccer.espnSoccerPlayerVsPlayer({ athlete_id: '…', opp_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_player_vs_player(...)

espnSoccerPlayersIndex​

SOCCER — players index (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/athletes

Deprecated aliases (pre-v4 names, still callable): espn_soccer_athletes_index / espnSoccerAthletesIndex

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
activeactivenoboolean — the active ESPN query parameter; default true
limitlimitnonumber | string — the maximum number of items to return; default 100
pagepagenonumber | string — the page of a paginated Core v2 list (1-based); default 1
—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.soccer.espnSoccerPlayersIndex({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_players_index(...)

espnSoccerAward​

SOCCER — award (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/awards/{award_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{award_id}award_idyesnumber | string — the ESPN award 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.soccer.espnSoccerAward({ award_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_award(...)

espnSoccerAwards​

SOCCER — awards (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/awards

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
limitlimitnonumber | string — the maximum number of items to return; default 200
—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.soccer.espnSoccerAwards({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_awards(...)

espnSoccerCoach​

SOCCER — coach (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/coaches/{coach_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{coach_id}coach_idyesnumber | string — the ESPN coach 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.soccer.espnSoccerCoach({ coach_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_coach(...)

espnSoccerCoachRecord​

SOCCER — coach record (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/coaches/{coach_id}/record/{record_type}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{coach_id}coach_idyesnumber | string — the ESPN coach id
{record_type}record_typenonumber | string — the {record_type} path segment; optional; default 0
—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.soccer.espnSoccerCoachRecord({ coach_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_coach_record(...)

espnSoccerCoachSeason​

SOCCER — coach season (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/coaches/{coach_id}/seasons/{season}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{coach_id}coach_idyesnumber | string — the ESPN coach id
{season}seasonyesnumber | 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_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.soccer.espnSoccerCoachSeason({ coach_id: '…', season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_coach_season(...)

espnSoccerGame​

SOCCER — game (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event / espnSoccerEvent

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) 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.soccer.espnSoccerGame({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game(...)

espnSoccerGameBroadcasts​

SOCCER — game broadcasts (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/broadcasts

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_broadcasts / espnSoccerEventBroadcasts

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGameBroadcasts({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_broadcasts(...)

espnSoccerGameCompetition​

SOCCER — game competition (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competition / espnSoccerEventCompetition

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGameCompetition({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_competition(...)

espnSoccerGameTeam​

SOCCER — game team (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/competitors/{team_id}

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competitor / espnSoccerEventCompetitor

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGameTeam({ event_id: '…', team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_team(...)

espnSoccerGameTeamLeaders​

SOCCER — game team leaders (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/competitors/{team_id}/leaders

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competitor_leaders / espnSoccerEventCompetitorLeaders

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGameTeamLeaders({ event_id: '…', team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_team_leaders(...)

espnSoccerGameTeamLinescores​

SOCCER — game team linescores (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/competitors/{team_id}/linescores

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competitor_linescores / espnSoccerEventCompetitorLinescores

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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_event_competitor_linescores); 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_event_competitor_linescores for the shared parser note.

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

Example:

await sdv.soccer.espnSoccerGameTeamLinescores({ event_id: '…', team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_team_linescores(...)

espnSoccerGameTeamRecord​

SOCCER — game team record (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/competitors/{team_id}/record

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competitor_record / espnSoccerEventCompetitorRecord

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGameTeamRecord({ event_id: '…', team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_team_record(...)

espnSoccerGameTeamRoster​

SOCCER — game team roster (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/competitors/{team_id}/roster

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competitor_roster / espnSoccerEventCompetitorRoster

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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_event_competitor_roster); 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_event_competitor_roster for the shared parser note.

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

Example:

await sdv.soccer.espnSoccerGameTeamRoster({ event_id: '…', team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_team_roster(...)

espnSoccerGameTeamStatistics​

SOCCER — game team statistics (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/competitors/{team_id}/statistics

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competitor_statistics / espnSoccerEventCompetitorStatistics

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{team_id}team_idyesnumber | string — the ESPN team id (see espn_<league>_teams)
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—parsednoboolean — return tidy rows instead of raw JSON

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

col_nametypedescription
split_namecharacterSplit / season-segment name
category_namecharacterStatistic category name
stat_namecharacterStatistic name
stat_abbreviationcharacterStatistic abbreviation
stat_valuenumberNumeric statistic value
stat_display_valuecharacterFormatted statistic value
stat_descriptioncharacterStatistic description

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

Example:

await sdv.soccer.espnSoccerGameTeamStatistics({ event_id: '…', team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_team_statistics(...)

espnSoccerGameTeams​

SOCCER — game teams (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/competitors

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_competitors / espnSoccerEventCompetitors

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGameTeams({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_teams(...)

espnSoccerGameLeaders​

SOCCER — game leaders (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/leaders

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_leaders / espnSoccerEventLeaders

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGameLeaders({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_leaders(...)

espnSoccerGameOdds​

SOCCER — game odds (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/odds

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_odds / espnSoccerEventOdds

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGameOdds({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_odds(...)

espnSoccerGameOfficialDetail​

SOCCER — game official detail (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/officials/{official_id}

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_official_detail / espnSoccerEventOfficialDetail

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{official_id}official_idyesnumber | string — the {official_id} path segment
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGameOfficialDetail({ event_id: '…', official_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_official_detail(...)

espnSoccerGameOfficials​

SOCCER — game officials (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/officials

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_officials / espnSoccerEventOfficials

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGameOfficials({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_officials(...)

espnSoccerGamePlay​

SOCCER — game play (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/plays/{play_id}

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_play / espnSoccerEventPlay

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{play_id}play_idyesnumber | string — the {play_id} path segment
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGamePlay({ event_id: '…', play_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_play(...)

espnSoccerGamePlayPersonnel​

SOCCER — game play personnel (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/plays/{play_id}/personnel

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_play_personnel / espnSoccerEventPlayPersonnel

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{play_id}play_idyesnumber | string — the {play_id} path segment
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGamePlayPersonnel({ event_id: '…', play_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_play_personnel(...)

espnSoccerGamePlays​

SOCCER — game plays (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/plays

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_plays / espnSoccerEventPlays

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
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_event_plays); 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_event_plays for the shared parser note.

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

Example:

await sdv.soccer.espnSoccerGamePlays({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_plays(...)

espnSoccerGamePowerindex​

SOCCER — game powerindex (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/powerindex

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_powerindex / espnSoccerEventPowerindex

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGamePowerindex({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_powerindex(...)

espnSoccerGamePredictor​

SOCCER — game predictor (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/predictor

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_predictor / espnSoccerEventPredictor

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGamePredictor({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_predictor(...)

espnSoccerGameProbabilities​

SOCCER — game probabilities (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/probabilities

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_probabilities / espnSoccerEventProbabilities

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
limitlimitnonumber | string — the maximum number of items to return; default 300
—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.soccer.espnSoccerGameProbabilities({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_probabilities(...)

espnSoccerGamePropbets​

SOCCER — game propbets (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/propbets

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_propbets / espnSoccerEventPropbets

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGamePropbets({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_propbets(...)

espnSoccerGameScoringplays​

SOCCER — game scoringplays (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/scoringplays

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_scoringplays / espnSoccerEventScoringplays

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_id
—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.soccer.espnSoccerGameScoringplays({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_scoringplays(...)

espnSoccerGameSituation​

SOCCER — game situation (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/situation

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_situation / espnSoccerEventSituation

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGameSituation({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_situation(...)

espnSoccerGameStatus​

SOCCER — game status (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events/{event_id}/competitions/{cid}/status

Deprecated aliases (pre-v4 names, still callable): espn_soccer_event_status / espnSoccerEventStatus

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{event_id}event_idyesnumber | string — the ESPN event (game) id
{cid}cidnonumber | string — the {cid} path segment; optional; default from event_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.soccer.espnSoccerGameStatus({ event_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_game_status(...)

espnSoccerGames​

SOCCER — games (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/events

Deprecated aliases (pre-v4 names, still callable): espn_soccer_events / espnSoccerEvents

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
datesdatesnonumber | string — a date YYYYMMDD, a range YYYYMMDD-YYYYMMDD or a season year YYYY
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.soccer.espnSoccerGames({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_games(...)

espnSoccerFranchise​

SOCCER — franchise (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/franchises/{franchise_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{franchise_id}franchise_idyesnumber | string — the ESPN franchise 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.soccer.espnSoccerFranchise({ franchise_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_franchise(...)

espnSoccerFranchises​

SOCCER — franchises (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/franchises

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
limitlimitnonumber | string — the maximum number of items to return; default 200
—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.soccer.espnSoccerFranchises({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_franchises(...)

espnSoccerLeadersCore​

SOCCER — leaders core (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/leaders

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
—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.soccer.espnSoccerLeadersCore({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_leaders_core(...)

espnSoccerLeagueNotes​

SOCCER — league notes (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/notes

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
—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.soccer.espnSoccerLeagueNotes({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_league_notes(...)

espnSoccerLeagueRoot​

SOCCER — league root (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
—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.soccer.espnSoccerLeagueRoot({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_league_root(...)

espnSoccerPosition​

SOCCER — position (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/positions/{position_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{position_id}position_idyesnumber | string — the ESPN position 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.soccer.espnSoccerPosition({ position_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_position(...)

espnSoccerPositions​

SOCCER — positions (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/positions

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
limitlimitnonumber | string — the maximum number of items to return; default 200
—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.soccer.espnSoccerPositions({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_positions(...)

espnSoccerSeasonPlayers​

SOCCER — season players (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/athletes

Deprecated aliases (pre-v4 names, still callable): espn_soccer_season_athletes / espnSoccerSeasonAthletes

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
limitlimitnonumber | string — the maximum number of items to return; default 100
pagepagenonumber | string — the page of a paginated Core v2 list (1-based); default 1
—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.soccer.espnSoccerSeasonPlayers({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_players(...)

espnSoccerSeasonAwards​

SOCCER — season awards (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/awards

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
limitlimitnonumber | string — the maximum number of items to return; default 200
—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.soccer.espnSoccerSeasonAwards({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_awards(...)

espnSoccerSeasonCoaches​

SOCCER — season coaches (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/coaches

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
limitlimitnonumber | string — the maximum number of items to return; default 500
—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_coaches); 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_coaches for the shared parser note.

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

Example:

await sdv.soccer.espnSoccerSeasonCoaches({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_coaches(...)

espnSoccerSeasonDraft​

SOCCER — season draft (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/draft

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | 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_draft); 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_draft for the shared parser note.

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

Example:

await sdv.soccer.espnSoccerSeasonDraft({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_draft(...)

espnSoccerSeasonDraftRoundPicks​

SOCCER — season draft round picks (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/draft/rounds/{round_num}/picks

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{round_num}round_numyesnumber | string — the {round_num} path segment
—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.soccer.espnSoccerSeasonDraftRoundPicks({ season: '…', round_num: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_draft_round_picks(...)

espnSoccerSeasonFreeagents​

SOCCER — season freeagents (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/freeagents

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | 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 (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.soccer.espnSoccerSeasonFreeagents({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_freeagents(...)

espnSoccerSeasonFutures​

SOCCER — season futures (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/futures

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | 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 (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.soccer.espnSoccerSeasonFutures({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_futures(...)

espnSoccerSeasonGroup​

SOCCER — season group (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/groups/{group_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
{group_id}group_idyesnumber | string — the {group_id} path segment
—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.soccer.espnSoccerSeasonGroup({ season: '…', season_type: '…', group_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_group(...)

espnSoccerSeasonGroupChildren​

SOCCER — season group children (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/groups/{group_id}/children

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
{group_id}group_idyesnumber | string — the {group_id} path segment
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.soccer.espnSoccerSeasonGroupChildren({ season: '…', season_type: '…', group_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_group_children(...)

espnSoccerSeasonGroupTeams​

SOCCER — season group teams (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/groups/{group_id}/teams

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
{group_id}group_idyesnumber | string — the {group_id} path segment
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.soccer.espnSoccerSeasonGroupTeams({ season: '…', season_type: '…', group_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_group_teams(...)

espnSoccerSeasonGroups​

SOCCER — season groups (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/groups

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
—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.soccer.espnSoccerSeasonGroups({ season: '…', season_type: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_groups(...)

espnSoccerSeasonInfo​

SOCCER — season info (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | 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_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.soccer.espnSoccerSeasonInfo({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_info(...)

espnSoccerSeasonPointer​

SOCCER — season pointer (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/season

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
—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.soccer.espnSoccerSeasonPointer({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_pointer(...)

espnSoccerSeasonPowerindex​

SOCCER — season powerindex (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/powerindex[/{team_id}]

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{team_id}team_idnonumber | string — the ESPN team id (see espn_<league>_teams); optional
—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.soccer.espnSoccerSeasonPowerindex({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_powerindex(...)

espnSoccerSeasonPowerindexLeaders​

SOCCER — season powerindex leaders (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/powerindex/leaders

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | 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 (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.soccer.espnSoccerSeasonPowerindexLeaders({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_powerindex_leaders(...)

espnSoccerSeasonTeam​

SOCCER — season team (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/teams/{team_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{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.soccer.espnSoccerSeasonTeam({ season: '…', team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_team(...)

espnSoccerSeasonTeams​

SOCCER — season teams (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/teams

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
limitlimitnonumber | string — the maximum number of items to return; default 1000
pagepagenonumber | string — the page of a paginated Core v2 list (1-based); default 1
—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.soccer.espnSoccerSeasonTeams({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_teams(...)

espnSoccerSeasonType​

SOCCER — season type (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
—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.soccer.espnSoccerSeasonType({ season: '…', season_type: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_type(...)

espnSoccerSeasonTypeCorrections​

SOCCER — season type corrections (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/corrections

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
—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.soccer.espnSoccerSeasonTypeCorrections({ season: '…', season_type: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_type_corrections(...)

espnSoccerSeasonTypeLeaders​

SOCCER — season type leaders (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/leaders

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
—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.soccer.espnSoccerSeasonTypeLeaders({ season: '…', season_type: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_type_leaders(...)

espnSoccerSeasonTypes​

SOCCER — season types (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | 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 (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.soccer.espnSoccerSeasonTypes({ season: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_types(...)

espnSoccerSeasonWeek​

SOCCER — season week (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/weeks/{week}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
{week}weekyesnumber | string — the week of the season (football)
—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.soccer.espnSoccerSeasonWeek({ season: '…', season_type: '…', week: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_week(...)

espnSoccerSeasonWeekGames​

SOCCER — season week games (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/weeks/{week}/events

Deprecated aliases (pre-v4 names, still callable): espn_soccer_season_week_events / espnSoccerSeasonWeekEvents

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
{week}weekyesnumber | string — the week of the season (football)
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.soccer.espnSoccerSeasonWeekGames({ season: '…', season_type: '…', week: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_week_games(...)

espnSoccerSeasonWeekPowerindex​

SOCCER — season week powerindex (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/weeks/{week}/powerindex

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
{week}weekyesnumber | string — the week of the season (football)
limitlimitnonumber | string — Page size for this weekly power-index table; pass a limit large enough to avoid paging (table size varies by sport/league -- CFB's FBS table alone is ~134 rows)
—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.soccer.espnSoccerSeasonWeekPowerindex({ season: '…', season_type: '…', week: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_week_powerindex(...)

espnSoccerSeasonWeeks​

SOCCER — season weeks (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons/{season}/types/{season_type}/weeks

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{season}seasonyesnumber | string — the season year (the year the season ends for winter sports, e.g. 2025 for 2024-25)
{season_type}season_typeyesnumber | string — the season type: 1 preseason, 2 regular season, 3 postseason
—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.soccer.espnSoccerSeasonWeeks({ season: '…', season_type: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_season_weeks(...)

espnSoccerSeasons​

SOCCER — seasons (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/seasons

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
limitlimitnonumber | string — the maximum number of items to return; default 200
—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.soccer.espnSoccerSeasons({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_seasons(...)

espnSoccerStandingsCore​

SOCCER — standings core (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/standings

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
—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.soccer.espnSoccerStandingsCore({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_standings_core(...)

espnSoccerTalentpicks​

SOCCER — talentpicks (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/talentpicks

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
—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.soccer.espnSoccerTalentpicks({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_talentpicks(...)

espnSoccerTeamCore​

SOCCER — team core (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/teams/{team_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{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.soccer.espnSoccerTeamCore({ team_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_team_core(...)

espnSoccerTeamsCore​

SOCCER — teams core (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/teams

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
limitlimitnonumber | string — the maximum number of items to return; default 1000
pagepagenonumber | string — the page of a paginated Core v2 list (1-based); default 1
—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.soccer.espnSoccerTeamsCore({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_teams_core(...)

espnSoccerTournaments​

SOCCER — tournaments (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/tournaments

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
limitlimitnonumber | string — the maximum number of items to return; default 200
—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.soccer.espnSoccerTournaments({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_tournaments(...)

espnSoccerVenue​

SOCCER — venue (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/venues/{venue_id}

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
{venue_id}venue_idyesnumber | string — the ESPN venue 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.soccer.espnSoccerVenue({ venue_id: '…' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_venue(...)

espnSoccerVenues​

SOCCER — venues (ESPN sports.core.api.espn.com (core v2)).

Endpoint URL: GET https://sports.core.api.espn.com/v2/sports/soccer/leagues/{league}/venues

API paramJSrequireddescription
leagueleaguenoESPN league slug override (default eng.1)
limitlimitnonumber | string — the maximum number of items to return; default 1000
—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.soccer.espnSoccerVenues({ league: 'eng.1' });
// snake_case alias (py/R parity): sdv.soccer.espn_soccer_venues(...)

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