Skip to main content
Version: 0.0.70

MLB — additional Python functions

Hand-written wrappers, loaders, and helpers in sportsdataverse.mlb not covered by the generated API-endpoint reference above.

Play-by-play, schedule & rosters

espn_mlb_game_rosters(game_id: 'int', raw: 'bool' = False, return_as_pandas: 'bool' = False, **kwargs)

espn_mlb_game_rosters - pull the active game rosters for both teams.

Parameters

ParameterTypeDefaultDescription
game_idintESPN game id.
rawboolFalseWhen True, returns the merged competitor + roster payload dict.
return_as_pandasboolFalseWhen True, returns a pandas dataframe; otherwise polars.

Returns

One row per (game × team × athlete) with columns game_id, team_id, home_away, athlete_id, athlete_full_name, athlete_jersey, athlete_position_id, athlete_position_abbreviation, athlete_starter.

Example

from sportsdataverse.mlb import espn_mlb_game_rosters
ros = espn_mlb_game_rosters(game_id=401569461)
print(ros.shape)
ros.group_by("home_away").len()

espn_mlb_pbp(game_id: 'int', raw: 'bool' = False, **kwargs) -> 'Dict'

espn_mlb_pbp - pull the full ESPN game-summary payload for one MLB game.

Parameters

ParameterTypeDefaultDescription
game_idintESPN game id (the "event id"). Obtainable from espn_mlb_schedule.
rawboolFalseWhen True, returns the full nested payload unchanged. When False (default), the same payload is returned for now — full parsing into a tidy plays / boxscore dict is not yet implemented; see the TODO below.

Returns

The Site v2 summary payload. Top-level keys typically include header, boxscore, plays, leaders, scoringPlays, gameInfo, winprobability, pickcenter, news, videos, standings, article, seasonseries, broadcasts, predictor.

Example

from sportsdataverse.mlb import espn_mlb_pbp
game = espn_mlb_pbp(game_id=401569461, raw=True)
sorted(game.keys())
print(game.get("header", {}).get("competitions", [{}])[0].get("date"))

# Iterate the plays array

plays = game.get("plays") or []
print(f"{len(plays)} plays")
for p in plays[:3]:
print(p.get("text"))

espn_mlb_player_stats(athlete_id: 'int', season: 'int', *, season_type: 'str' = 'regular', total: 'bool' = False, raw: 'bool' = False, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> 'pl.DataFrame | pd.DataFrame | dict[str, Any]'

Pull an MLB athlete's ESPN season stat line as one wide row.

See sportsdataverse.wbb.espn_wbb_player_stats for full documentation of the wide return shape, the {category}_{stat} stat columns (for baseball: batting_*, pitching_*, fielding_*), the athlete / team metadata blocks, and the season_type / total parameters. For the richer multi-category web-v3 payload use sportsdataverse.mlb.espn_mlb_player_stats_v3.

Parameters

ParameterTypeDefaultDescription
athlete_idintESPN MLB athlete identifier (e.g. 33192 for Aaron Judge).
seasonintSeason year, used in the core-v2 path.
season_typestr'regular'"regular" (type 2) or "postseason" (type 3).
totalboolFalseForward-compat totals passthrough.
rawboolFalseIf True, returns the raw core-v2 statistics JSON dict.
return_as_pandasboolFalseIf True, returns a pandas DataFrame; else polars.

Returns

A single-row wide DataFrame (polars by default). When raw=True returns the raw statistics JSON dict.

col_nametypedescription
seasonintegerSeason year.
season_typecharacterSeason-type id.
totallogicalTotal.
athlete_idintegerUnique ESPN athlete identifier.
athlete_uidcharacterAthlete uid.
athlete_guidcharacterAthlete guid.
athlete_typecharacterAthlete type.
first_namecharacterPlayer first name.
last_namecharacterPlayer last name.
full_namecharacterPlayer's full name.
display_namecharacterDisplay name.
short_namecharacterShort display name.
weightdoubleWeight in pounds.
display_weightcharacterDisplay weight.
heightdoubleHeight (feet and inches).
display_heightcharacterDisplay height.
ageintegerPlayer age (in years).
date_of_birthcharacterDate of birth.
jerseycharacterJersey number worn by the player.
slugcharacterURL-safe identifier.
activelogicalWhether the player is currently active.
position_idintegerUnique position identifier.
position_namecharacterPosition name.
position_display_namecharacterPosition display name.
position_abbreviationcharacterPosition abbreviation.
college_namecharacterCollege name.
status_idintegerStatus id.
status_namecharacterGame status (e.g. 'STATUS_FINAL').
batting_games_playeddoubleTeam batting: batting games played.
batting_team_games_playeddoubleTeam batting: batting team games played.
batting_hit_by_pitchdoubleTeam batting: batting hit by pitch.
batting_ground_ballsdoubleTeam batting: batting ground balls.
batting_strikeoutsdoubleTeam batting: batting strikeouts.
batting_rb_isdoubleTeam batting: batting rb is.
batting_sac_hitsdoubleTeam batting: batting sac hits.
batting_hitsdoubleTeam batting: batting hits.
batting_stolen_basesdoubleTeam batting: batting stolen bases.
batting_walksdoubleTeam batting: batting walks.
batting_catcher_interferencedoubleTeam batting: batting catcher interference.
batting_runsdoubleTeam batting: batting runs.
batting_gid_psdoubleTeam batting: batting gid ps.
batting_sac_fliesdoubleTeam batting: batting sac flies.
batting_at_batsdoubleTeam batting: batting at bats.
batting_home_runsdoubleTeam batting: batting home runs.
batting_grand_slam_home_runsdoubleTeam batting: batting grand slam home runs.
batting_runners_left_on_basedoubleTeam batting: batting runners left on base.
batting_triplesdoubleTeam batting: batting triples.
batting_game_winning_rb_isdoubleTeam batting: batting game winning rb is.
batting_intentional_walksdoubleTeam batting: batting intentional walks.
batting_doublesdoubleTeam batting: batting doubles.
batting_fly_ballsdoubleTeam batting: batting fly balls.
batting_caught_stealingdoubleTeam batting: batting caught stealing.
batting_pitchesdoubleTeam batting: batting pitches.
batting_games_starteddoubleTeam batting: batting games started.
batting_pinch_at_batsdoubleTeam batting: batting pinch at bats.
batting_pinch_hitsdoubleTeam batting: batting pinch hits.
batting_player_ratingdoubleTeam batting: batting player rating.
batting_is_qualifieddoubleTeam batting: batting is qualified.
batting_is_qualified_stealsdoubleTeam batting: batting is qualified steals.
batting_total_basesdoubleTeam batting: batting total bases.
batting_plate_appearancesdoubleTeam batting: batting plate appearances.
batting_projected_home_runsdoubleTeam batting: batting projected home runs.
batting_extra_base_hitsdoubleTeam batting: batting extra base hits.
batting_runs_createddoubleTeam batting: batting runs created.
batting_avgdoubleTeam batting: batting average.
batting_pinch_avgdoubleTeam batting: batting pinch avg.
batting_slug_avgdoubleTeam batting: batting slug avg.
batting_secondary_avgdoubleTeam batting: batting secondary avg.
batting_on_base_pctdoubleTeam batting: batting on base pct.
batting_opsdoubleTeam batting: batting ops.
batting_ground_to_fly_ratiodoubleTeam batting: batting ground to fly ratio.
batting_runs_created_per27_outsdoubleBill James Runs Created per 27 outs, estimating how many runs a lineup of this batter would score per game.
batting_batter_ratingdoubleTeam batting: batting batter rating.
batting_at_bats_per_home_rundoubleTeam batting: batting at bats per home run.
batting_stolen_base_pctdoubleTeam batting: batting stolen base pct.
batting_pitches_per_plate_appearancedoubleTeam batting: batting pitches per plate appearance.
batting_isolated_powerdoubleTeam batting: batting isolated power.
batting_walk_to_strikeout_ratiodoubleTeam batting: batting walk to strikeout ratio.
batting_walks_per_plate_appearancedoubleTeam batting: batting walks per plate appearance.
batting_secondary_avg_minus_badoubleTeam batting: batting secondary avg minus ba.
batting_runs_produceddoubleTeam batting: batting runs produced.
batting_runs_ratiodoubleTeam batting: batting runs ratio.
batting_patience_ratiodoubleRatio of walks to strikeouts, measuring a batter's plate discipline and ability to work counts.
batting_bipadoubleBatting average on balls in the air (fly balls and line drives), measuring in-play success on airborne contact.
batting_mlb_ratingdoubleESPN's composite MLB rating for the batter reflecting overall offensive performance.
batting_off_warbrdoubleOffensive Wins Above Replacement (Baseball Reference methodology) attributable to the batter's hitting contributions.
batting_warbrdoubleTotal Wins Above Replacement (Baseball Reference methodology) for the batter including offense and baserunning.
fielding_games_playeddoubleNumber of games in which the player appeared defensively at their position.
fielding_team_games_playeddoubleNumber of games the player's team played while the player was on the active roster.
fielding_double_playsdoubleNumber of double plays the fielder participated in during the season.
fielding_opportunitiesdoubleTotal fielding opportunities defined as putouts plus assists plus errors for the player.
fielding_errorsdoubleNumber of fielding errors charged to the player during the season.
fielding_passed_ballsdoubleNumber of pitches ruled as passed balls charged to the catcher during the season.
fielding_assistsdoubleNumber of assists recorded by the fielder when a thrown ball contributes to an out.
fielding_outfield_assistsdoubleNumber of outfield assists, recorded when an outfielder throws out a runner.
fielding_pickoffsdoubleNumber of baserunners picked off by pitchers while this catcher was behind the plate or this fielder was at their position.
fielding_putoutsdoubleNumber of putouts recorded by the fielder where they made the final play to retire a batter or runner.
fielding_outs_on_fielddoubleTotal outs recorded across all innings the player was present on the field.
fielding_triple_playsdoubleNumber of triple plays in which the fielder participated during the season.
fielding_balls_in_zonedoubleNumber of batted balls that entered the fielder's defined defensive zone.
fielding_extra_basesdoubleExtra bases allowed by the outfielder due to errors or misplays on balls hit into their zone.
fielding_outs_madedoubleTotal outs the fielder was directly responsible for recording during the season.
fielding_hitsdoubleNumber of hits recorded while this fielder was positioned, relevant for zone-rating calculations.
fielding_total_basesdoubleTotal bases allowed by the outfielder on balls hit into their zone, used in advanced defensive metrics.
fielding_games_starteddoubleNumber of games the player started at their primary defensive position.
fielding_catcher_third_innings_playeddoubleTotal one-third innings played behind the plate by the catcher, expressed in thirds.
fielding_catcher_caught_stealingdoubleNumber of opposing baserunners thrown out attempting to steal a base by this catcher.
fielding_catcher_stolen_bases_alloweddoubleNumber of successful stolen bases allowed by the catcher during the season.
fielding_catcher_earned_runsdoubleEarned runs allowed while this catcher was behind the plate, used in catcher ERA calculations.
fielding_is_qualifieddoubleIndicator flag for whether the player meets minimum innings requirements to qualify for fielding rate stats.
fielding_is_qualified_catcherdoubleIndicator flag for whether the catcher meets the minimum innings threshold to qualify for catcher-specific rate stats.
fielding_is_qualified_pitcherdoubleIndicator flag for whether the pitcher qualifies for pitcher fielding rate statistics.
fielding_successful_chancesdoubleTotal successful fielding chances defined as putouts plus assists (errors excluded).
fielding_total_chancesdoubleTotal fielding chances (putouts + assists + errors) offered to the player during the season.
fielding_full_innings_playeddoubleNumber of complete innings (three outs per side) the player appeared in the field.
fielding_part_innings_playeddoubleNumber of fractional (partial) innings the player appeared in the field, expressed as a count of thirds.
fielding_fielding_pctdoubleFielding percentage calculated as successful chances divided by total chances (putouts + assists + errors).
fielding_range_factordoubleRange factor per nine innings (putouts + assists) / innings * 9, measuring a fielder's defensive range.
fielding_zone_ratingdoublePercentage of batted balls in the fielder's defined zone that were successfully converted into outs.
fielding_catcher_caught_stealing_pctdoublePercentage of opposing stolen base attempts that resulted in the catcher throwing out the runner.
fielding_catcher_eradoubleERA of pitchers while this specific catcher was behind the plate over the season.
fielding_def_warbrdoubleDefensive Wins Above Replacement (Baseball Reference methodology) attributable to the player's fielding.
team_idintegerUnique ESPN team identifier.
team_uidcharacterESPN universal team identifier (UID).
team_guidcharacterESPN team GUID.
team_slugcharacterURL-safe team identifier.
team_locationcharacterTeam city / location.
team_namecharacterTeam name.
team_abbreviationcharacterShort team abbreviation (e.g. 'NYY').
team_display_namecharacterFull team display name (e.g. 'New York Yankees').
team_short_display_namecharacterShort team display name.
team_colorcharacterTeam primary color (hex, no leading '#').
team_alternate_colorcharacterTeam alternate color (hex).
team_is_activelogicalTeam is active.
team_logo_hrefcharacterDefault team logo URL; team_detail = TRUE only.

Example

from sportsdataverse.mlb import espn_mlb_player_stats
df = espn_mlb_player_stats(athlete_id=33192, season=2023)
df.select(["full_name", "team_display_name", "batting_home_runs"])

espn_mlb_schedule(dates=None, season_type=None, limit=500, return_as_pandas=False, **kwargs) -> 'pl.DataFrame'

espn_mlb_schedule - look up the MLB schedule for a given date or season-year.

Parameters

ParameterTypeDefaultDescription
datesintNoneDate filter. Either a calendar date as YYYYMMDD or a season-year (e.g. 2024). When a 4-digit year is passed, the call returns the full season slate (paginated by limit).
season_typeintNoneSeason type — 1 = spring training, 2 = regular, 3 = postseason, 4 = all-star.
limitint500Number of records to return. Default 500.
return_as_pandasboolFalseIf True, returns a pandas dataframe. If False (default), returns a polars dataframe.

Returns

Polars dataframe containing the schedule. Returns None if no games.

col_nametypedescription
game_idcharacterUnique ESPN game/event identifier.
datecharacterDate in YYYY-MM-DD format.
season_yearintegerSeason year string ('YYYY-YY' format).
season_typeintegerSeason-type id.
status_type_statecharacterStatus state (pre/in/post).
status_type_completedlogicalWhether the game is complete.
status_type_descriptioncharacterStatus type description.
venue_idcharacterMLBAM venue ID.
venue_full_namecharacterVenue full name.
venue_citycharacterVenue city.
venue_statecharacterVenue state / province.
home_idcharacterUnique identifier for home.
home_namecharacterHome team display name.
home_abbreviationcharacterHome team's abbreviation.
home_display_namecharacterHome team display name.
home_scorecharacterHome team run total after the play.
home_winnerlogicalWhether the home team won.
away_idcharacterUnique identifier for away.
away_namecharacterAway team display name.
away_abbreviationcharacterAway team's abbreviation.
away_display_namecharacterAway team display name.
away_scorecharacterAway team run total after the play.
away_winnerlogicalWhether the away team won.

Example

from sportsdataverse.mlb import espn_mlb_schedule
sched = espn_mlb_schedule(dates=20240328)
print(sched.shape)
sched.select(["game_id", "home_name", "away_name", "status_type_description"]).head()

# Pull a regular-season slate from a season-year

reg = espn_mlb_schedule(dates=2024, season_type=2, limit=500)
reg.group_by("status_type_description").len().sort("len", descending=True)

# Pandas round-trip for one date

espn_mlb_schedule(dates=20240328, return_as_pandas=True).head()

Dataset loaders

load_mlb_pbp(seasons: 'List[int]', return_as_pandas: 'bool' = False)

load_mlb_pbp - planned: load pre-built season-level MLB play-by-play.

TODO: Implement once an MLB-data release pipeline is in place.

Parameters

ParameterTypeDefaultDescription
seasonsList[int]
return_as_pandasboolFalse

load_mlb_player_boxscore(seasons: 'List[int]', return_as_pandas: 'bool' = False)

load_mlb_player_boxscore - planned: load pre-built season-level MLB player boxscores.

Parameters

ParameterTypeDefaultDescription
seasonsList[int]
return_as_pandasboolFalse

load_mlb_rosters(seasons: 'List[int]', return_as_pandas: 'bool' = False)

load_mlb_rosters - planned: load pre-built season-level MLB rosters.

Parameters

ParameterTypeDefaultDescription
seasonsList[int]
return_as_pandasboolFalse

load_mlb_schedule(seasons: 'List[int]', return_as_pandas: 'bool' = False)

load_mlb_schedule - planned: load pre-built season-level MLB schedule.

TODO: Implement once an MLB-data release pipeline is in place.

Parameters

ParameterTypeDefaultDescription
seasonsList[int]
return_as_pandasboolFalse

load_mlb_team_boxscore(seasons: 'List[int]', return_as_pandas: 'bool' = False)

load_mlb_team_boxscore - planned: load pre-built season-level MLB team boxscores.

Parameters

ParameterTypeDefaultDescription
seasonsList[int]
return_as_pandasboolFalse

Utilities & helpers

most_recent_mlb_season() -> 'int'

most_recent_mlb_season - return the most recent / current MLB season year.

MLB seasons run calendar-year. Before April we still consider the previous year the "most recent" season (since spring training only starts in late February).

Returns

The most recent MLB season year (e.g. 2024).

Other

espn_mlb_teams(return_as_pandas=False, **kwargs) -> 'pl.DataFrame'

espn_mlb_teams - look up MLB teams from ESPN's Site v2 API.

Parameters

ParameterTypeDefaultDescription
return_as_pandasboolFalseIf True, returns a pandas dataframe. If False (default), returns a polars dataframe.

Returns

Polars dataframe containing teams for MLB. This function caches by default, so if you want to refresh the data, use sportsdataverse.mlb.espn_mlb_teams.cache_clear().

col_nametypedescription
team_abbreviationcharacterShort team abbreviation (e.g. 'NYY').
team_alternate_colorcharacterTeam alternate color (hex).
team_colorcharacterTeam primary color (hex, no leading '#').
team_display_namecharacterFull team display name (e.g. 'New York Yankees').
team_idcharacterUnique ESPN team identifier.
team_is_activelogicalTeam is active.
team_is_all_starlogicalTeam is all star.
team_locationcharacterTeam city / location.
team_logosintegerTeam logo metadata.
team_namecharacterTeam name.
team_nicknamecharacterTeam nickname.
team_short_display_namecharacterShort team display name.
team_slugcharacterURL-safe team identifier.
team_uidcharacterESPN universal team identifier (UID).

Example

from sportsdataverse.mlb import espn_mlb_teams
teams = espn_mlb_teams()
print(teams.shape)
teams.select(["team_id", "team_abbreviation", "team_display_name"]).head()

# Find Los Angeles Dodgers (team_id 19)

import polars as pl
teams.filter(pl.col("team_id") == "19").to_dicts()

# Refresh the cache (the call is ``lru_cache``'d) and round-trip to pandas

espn_mlb_teams.cache_clear()
teams_pd = espn_mlb_teams(return_as_pandas=True)
teams_pd[["team_id", "team_abbreviation", "team_display_name"]].head()

fox_mlb_league_leaders(category: 'str' = 'batting', who: 'str' = 'player', page: 'int' = 0, *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

MLB statistical leaders (stats-con); who=player|team.

Parameters

ParameterTypeDefaultDescription
categorystr'batting'Stat category. Defaults to "batting".
whostr'player'"player" or "team". Defaults to "player".
pageint00-based result page. Defaults to 0.
return_parsedboolTrueIf True (default) flatten the leader tables to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.mlb import fox_mlb_league_leaders
df = fox_mlb_league_leaders("batting")

fox_mlb_odds(game_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

MLB game odds six-pack (run line / to-win / total per team).

Parameters

ParameterTypeDefaultDescription
game_idUnion[int, str]Fox Bifrost event id.
return_parsedboolTrueIf True (default) flatten the six-pack market to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.mlb import fox_mlb_odds
df = fox_mlb_odds("...")

fox_mlb_standings(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

MLB standings for a team's division/league.

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten the standings tables to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.mlb import fox_mlb_standings
df = fox_mlb_standings("...")

fox_mlb_team_gamelog(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

MLB team game log (long: one row per game-stat).

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten to long form; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.mlb import fox_mlb_team_gamelog
df = fox_mlb_team_gamelog("...")

fox_mlb_team_roster(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

MLB team roster (one row per player).

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten the position-group tables to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.mlb import fox_mlb_team_roster
df = fox_mlb_team_roster("...")

fox_mlb_team_stats(team_id: 'Union[int, str]', *, return_parsed: 'bool' = True, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "Union[pl.DataFrame, 'pd.DataFrame', Dict[str, Any]]"

MLB team stat leaders by category.

Parameters

ParameterTypeDefaultDescription
team_idUnion[int, str]Fox Bifrost team id.
return_parsedboolTrueIf True (default) flatten the leader sections to a DataFrame; if False return the raw JSON dict.
return_as_pandasboolFalseIf True return a pandas DataFrame; otherwise polars. Ignored when return_parsed=False.

Returns

A polars DataFrame (default), a pandas DataFrame when return_as_pandas=True, or the raw JSON dict when return_parsed=False.

Example

from sportsdataverse.mlb import fox_mlb_team_stats
df = fox_mlb_team_stats("...")

mlb_attendance(team_id: 'Optional[int]' = None, league_id: 'Optional[Union[int, str]]' = None, season: 'Optional[Union[int, str]]' = None, league_list_id: 'Optional[str]' = None, game_type: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/attendance — game attendance figures.

Parameters

ParameterTypeDefaultDescription
team_idOptional[int]None
league_idOptional[Union[int, str]]None
seasonOptional[Union[int, str]]None
league_list_idOptional[str]None
game_typeOptional[str]None

mlb_divisions(sport_id: 'int' = 1, league_id: 'Optional[Union[int, str]]' = None, division_id: 'Optional[int]' = None, **kwargs) -> 'Dict'

GET /api/v1/divisions — list divisions.

Parameters

ParameterTypeDefaultDescription
sport_idint1
league_idOptional[Union[int, str]]None
division_idOptional[int]None

mlb_draft_prospects(year: 'Union[int, str]', scouting_report: 'Optional[bool]' = None, limit: 'int' = 100, **kwargs) -> 'Dict'

GET /api/v1/draft/prospects/{year} — draft prospect list for a year.

Parameters

ParameterTypeDefaultDescription
yearUnion[int, str]
scouting_reportOptional[bool]None
limitint100

mlb_pbp_diff(game_pk: 'int', start_timecode: 'str', end_timecode: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/game/{gamePk}/feed/live/diffPatch — JSON-patch diff of the live feed.

Replays of in-game state for low-bandwidth clients.

Parameters

ParameterTypeDefaultDescription
game_pkint
start_timecodestr
end_timecodeOptional[str]None

mlb_pbp_live(game_pk: 'int', language: 'Optional[str]' = None, timecode: 'Optional[str]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1.1/game/{gamePk}/feed/live — live firehose (v1.1).

Top-level keys: copyright, gamePk, link, metaData, gameData, liveData. Includes Statcast metrics where available. The historical name mlb_pbp is preserved as an alias in the generated module.

Parameters

ParameterTypeDefaultDescription
game_pkint
languageOptional[str]None
timecodeOptional[str]None
hydrateOptional[str]None
fieldsOptional[str]None

mlb_person_stats(person_id: 'int', stats: 'str', group: 'str' = 'hitting', season: 'Optional[Union[int, str]]' = None, season_type: 'Optional[str]' = None, sport_ids: 'Optional[Union[int, List[int]]]' = None, game_type: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/people/{personId}/stats — player aggregate stats.

stats: season, career, yearByYear, vsTeam, vsPlayer, byMonth, byDayOfWeek, homeAndAway, gameLog, lastXGames, …

Parameters

ParameterTypeDefaultDescription
person_idint
statsstr
groupstr'hitting'
seasonOptional[Union[int, str]]None
season_typeOptional[str]None
sport_idsOptional[Union[int, List[int]]]None
game_typeOptional[str]None
fieldsOptional[str]None

mlb_schedule(date: 'Optional[str]' = None, start_date: 'Optional[str]' = None, end_date: 'Optional[str]' = None, team_id: 'Optional[int]' = None, opponent_id: 'Optional[int]' = None, season: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, game_type: 'Optional[str]' = None, league_id: 'Optional[Union[int, str]]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/schedule — schedule of games for a date, range, team, or season.

Response: dates[].games[].

Parameters

ParameterTypeDefaultDescription
dateOptional[str]None
start_dateOptional[str]None
end_dateOptional[str]None
team_idOptional[int]None
opponent_idOptional[int]None
seasonOptional[Union[int, str]]None
sport_idint1
game_typeOptional[str]None
league_idOptional[Union[int, str]]None
hydrateOptional[str]None
fieldsOptional[str]None

mlb_seasons(sport_id: 'int' = 1, season: 'Optional[Union[int, str]]' = None, all_seasons: 'bool' = False, **kwargs) -> 'Dict'

GET /api/v1/seasons — list of seasons for a sport.

Parameters

ParameterTypeDefaultDescription
sport_idint1
seasonOptional[Union[int, str]]None
all_seasonsboolFalse

mlb_standings(league_id: 'Union[int, str, List[int]]' = '103,104', season: 'Optional[Union[int, str]]' = None, date: 'Optional[str]' = None, standings_types: 'Optional[str]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/standings — league standings.

league_id: 103 AL, 104 NL (comma-separated for both, the default). standings_types e.g. regularSeason, wildCard, divisionLeaders.

Parameters

ParameterTypeDefaultDescription
league_idUnion[int, str, List[int]]'103,104'
seasonOptional[Union[int, str]]None
dateOptional[str]None
standings_typesOptional[str]None
hydrateOptional[str]None
fieldsOptional[str]None

mlb_statcast_player(player_id: 'int', stats: 'Optional[str]' = None, *, section: 'str' = 'statcast', raw: 'bool' = False, return_as_pandas: 'bool' = False, **kwargs: 'Any') -> "'Union[pl.DataFrame, pd.DataFrame, str]'"

GET /savant-player/{player_id} and parse one embedded table into a tidy frame.

Returns a tidy frame by default (the parsed Statcast page); pass raw=True to get the underlying HTML string instead (the page embeds ~12 other tables you can mine yourself, or feed to sportsdataverse.mlb.parse_mlb_statcast_player with a different section).

Parameters

ParameterTypeDefaultDescription
player_idintMLBAM player id (shared with the Stats API personId).
statsOptional[str]Noneoptional stats query value to scope the embedded payload.
sectionstr'statcast'which embedded serverVals table to flatten (default "statcast", the seasonal aggregate; e.g. "statcastGameLogs").
rawboolFalsereturn the raw page HTML string instead of a parsed frame.
return_as_pandasboolFalsereturn a pandas DataFrame instead of polars.

Returns

A polars (or pandas) DataFrame of the player's Statcast metrics by default (zero rows when the page/section is absent); the raw HTML str when raw=True.

col_nametypedescription
aggregateintegerAggregate.
yearintegerSeason year.
yearhiddenintegerYearhidden.
player_idintegerMLBAM player id.
ageintegerPlayer age.
bat_sidecharacterBatter side (R/L/S).
pitch_handcharacterPitcher handedness (R/L).
monthcharacterMonth.
grouping_codecharacterGrouping code.
grouping_catcharacterGrouping cat.
pitch_countintegerPitch count.
in_zone_percentnumericIn zone rate.
out_zone_percentnumericOut zone rate.
edge_percentnumericEdge rate.
z_swing_percentnumericZ swing rate.
oz_swing_percentnumericOz swing rate.
iz_contact_percentnumericIz contact rate.
oz_contact_percentnumericOz contact rate.
whiff_percentnumericWhiff rate (swings and misses / swings).
f_strike_percentnumericF strike rate.
f_swing_percentnumericF swing rate.
swing_percentnumericSwing rate.
meatball_swing_percentintegerMeatball swing rate.
meatball_percentnumericMeatball rate.
z_swing_miss_percentnumericZ swing miss rate.
oz_swing_miss_percentnumericOz swing miss rate.
in_zoneintegerIn zone.
out_zoneintegerOut zone.
edgeintegerEdge.
popupsintegerPopups.
flyballsintegerFlyballs.
linedrivesintegerLinedrives.
groundballsintegerGroundballs.
airballsintegerAirballs.
popups_percentnumericPopups rate.
flyballs_percentnumericFlyballs rate.
linedrives_percentnumericLinedrives rate.
groundballs_percentnumericGroundballs rate.
airballs_percentnumericAirballs rate.
pull_percentnumericPull rate.
straightaway_percentnumericStraightaway rate.
opposite_percentnumericOpposite rate.
pull_percent_airballsnumericPull percent airballs.
straightaway_percent_airballsnumericStraightaway percent airballs.
opposite_percent_airballsintegerOpposite percent airballs.
pull_percent_groundballsnumericPull percent groundballs.
straightaway_percent_groundballsnumericStraightaway percent groundballs.
opposite_percent_groundballsnumericOpposite percent groundballs.
pull_percent_popupsnumericPull percent popups.
straightaway_percent_popupsnumericStraightaway percent popups.
opposite_percent_popupsnumericOpposite percent popups.
pull_percent_flyballsnumericPull percent flyballs.
straightaway_percent_flyballsnumericStraightaway percent flyballs.
opposite_percent_flyballsnumericOpposite percent flyballs.
pull_percent_linedrivesintegerPull percent linedrives.
straightaway_percent_linedrivesintegerStraightaway percent linedrives.
opposite_percent_linedrivesintegerOpposite percent linedrives.
poorlyweak_percentintegerPoorlyweak rate.
poorlytopped_percentnumericPoorlytopped rate.
poorlyunder_percentnumericPoorlyunder rate.
flareburner_percentnumericFlareburner rate.
solidcontact_percentnumericSolidcontact rate.
hr_flyballs_percentnumericHr flyballs rate.
in_zone_swingintegerIn zone swing.
out_zone_swingintegerOut zone swing.
in_zone_swing_missintegerIn zone swing miss.
out_zone_swing_missintegerOut zone swing miss.
pitch_count_fastballintegerPitch count fastball.
pitch_count_offspeedintegerPitch count offspeed.
pitch_count_breakingintegerPitch count breaking.
paintegerPlate appearances.
abintegerAt-bats.
hitintegerHit.
singleintegerSingles.
doubleintegerDoubles.
tripleintegerTriples.
home_runintegerHome run.
walkintegerWalk.
strikeoutintegerStrikeout.
hbpintegerHbp.
k_percentnumericStrikeout rate.
bb_percentnumericWalk rate.
sz_judgenumericSz judge.
batted_ballintegerBatted ball.
barrelintegerBarrel.
barrel_batted_ratenumericBarrels per batted ball.
barrels_per_panumericBarrels per pa.
launch_angle_avgnumericLaunch angle avg.
exit_velocity_avgnumericExit velocity avg.
exit_velocity_maxnumericExit velocity max.
hard_hit_percentnumericHard-hit rate (95+ mph EV).
sweet_spot_percentnumericSweet-spot rate (8-32 deg launch angle).
banumericBatting average.
xbanumericExpected batting average.
baconnumericBacon.
xbaconnumericExpected batting average on contact.
babipnumericBABIP.
obpnumericOn-base percentage.
slgnumericSlugging percentage.
xobpnumericExpected on-base percentage.
xslgnumericExpected slugging.
isonumericIsolated power.
xisonumericExpected isolated power.
wobanumericWeighted on-base average.
xwobanumericExpected wOBA.
wobaconnumericWobacon.
xwobaconnumericXwobacon.
xbadiffnumericXbadiff.
xslgdiffnumericXslgdiff.
wobadiffnumericWobadiff.
player_typecharacterPlayer type.
eracharacterEra.
xeracharacterExpected ERA.
avg_hyper_speednumericAvg hyper speed.
avg_best_speednumericAvg best speed.
distance_hr_avgintegerDistance hr avg.
sprint_speednumericSprint speed (ft/sec, top 50% of competitive runs).
pop_2bcharacterPop 2b.
arm_cs_2bcharacterArm cs 2b.
strike_ratecharacterCalled-strike rate.
outs_above_averageintegerOuts Above Average.
jump_v_avgintegerJump v avg.
max_arm_strengthcharacterMax arm strength (mph).
arm_overallcharacterArm overall.
xhrnumericXhr.
swing_take_run_valueintegerSwing take run value.
blocks_above_averagecharacterBlocks above average.
cs_above_averagecharacterCs above average.
fastball_velocharacterFastball velo.
fastball_spincharacterFastball spin.
fastball_extensioncharacterFastball extension.
curveball_spincharacterCurveball spin.
pitch_run_value_fastballnumericPitch run value fastball.
pitch_run_value_breakingnumericPitch run value breaking.
pitch_run_value_offspeednumericPitch run value offspeed.
group_fastball_velonumericGroup fastball velo.
group_breaking_velonumericGroup breaking velo.
group_offspeed_velonumericGroup offspeed velo.
pitch_usage_fastballnumericPitch usage fastball.
pitch_usage_breakingnumericPitch usage breaking.
pitch_usage_offspeednumericPitch usage offspeed.
fielding_run_valueintegerFielding run value.
runner_run_valueintegerRunner run value.
fielding_run_value_armintegerFielding run value arm.
fielding_run_value_framingcharacterFielding run value framing.
runner_runs_sbintegerRunner runs sb.
runner_runs_xbintegerRunner runs xb.
net_bases_runnerintegerNet bases runner.
net_bases_pitchercharacterNet bases pitcher.
fast_swing_ratecharacterFast-swing rate (>=75 mph).
squared_up_contactcharacterSquared up contact.
squared_up_swingcharacterSquared up swing.
blasts_contactcharacterBlasts contact.
blasts_swingcharacterBlasts swing.
swordscharacterSwords.
avg_swing_speedcharacterAvg swing speed.
avg_swing_lengthcharacterAvg swing length.
attack_anglecharacterAttack angle (deg, bat path at contact).
vertical_swing_pathcharacterVertical swing path.
accelerationcharacterAcceleration.
horizontal_swing_pathcharacterHorizontal swing path.
attack_directioncharacterAttack direction (deg, pull/oppo).
ideal_angle_ratecharacterIdeal angle rate.
n_squared_upcharacterNumber of squared up.
n_blastscharacterNumber of blasts.
arm_anglecharacterArm angle.
is_qualifiedintegerIs qualified.
percent_rank_barrel_unroundedcharacterPercent rank barrel unrounded.
percent_rank_barrel_batted_rate_unroundedcharacterPercent rank barrel batted rate unrounded.
percent_rank_exit_velocity_avg_unroundedcharacterPercent rank exit velocity avg unrounded.
percent_rank_exit_velocity_max_unroundednumericPercent rank exit velocity max unrounded.
percent_rank_launch_angle_avg_unroundedcharacterPercent rank launch angle avg unrounded.
percent_rank_xba_unroundedcharacterPercent rank xba unrounded.
percent_rank_xslg_unroundedcharacterPercent rank xslg unrounded.
percent_rank_xwoba_unroundedcharacterPercent rank xwoba unrounded.
percent_rank_woba_unroundedcharacterPercent rank woba unrounded.
percent_rank_hard_hit_percent_unroundedcharacterPercent rank hard hit percent unrounded.
percent_rank_xwobacon_unroundedcharacterPercent rank xwobacon unrounded.
percent_rank_wobacon_unroundedcharacterPercent rank wobacon unrounded.
percent_rank_k_percent_unroundedcharacterPercent rank k percent unrounded.
percent_rank_bb_percent_unroundedcharacterPercent rank bb percent unrounded.
percent_rank_sz_judge_unroundedcharacterPercent rank sz judge unrounded.
percent_rank_whiff_percent_unroundedcharacterPercent rank whiff percent unrounded.
percent_rank_chase_percent_unroundedcharacterPercent rank chase percent unrounded.
percent_rank_ba_unroundedcharacterPercent rank ba unrounded.
percent_rank_bacon_unroundedcharacterPercent rank bacon unrounded.
percent_rank_xbacon_unroundedcharacterPercent rank xbacon unrounded.
percent_rank_babip_unroundedcharacterPercent rank babip unrounded.
percent_rank_obp_unroundedcharacterPercent rank obp unrounded.
percent_rank_slg_unroundedcharacterPercent rank slg unrounded.
percent_rank_xobp_unroundedcharacterPercent rank xobp unrounded.
percent_rank_iso_unroundedcharacterPercent rank iso unrounded.
percent_rank_xiso_unroundedcharacterPercent rank xiso unrounded.
percent_rank_sweet_spot_percent_unroundedcharacterPercent rank sweet spot percent unrounded.
percent_rank_distance_hr_avg_unroundedcharacterPercent rank distance hr avg unrounded.
percent_rank_groundballs_percent_unroundedcharacterPercent rank groundballs percent unrounded.
percent_rank_airballs_percent_unroundedcharacterPercent rank airballs percent unrounded.
percent_rank_avg_hyper_speed_unroundedcharacterPercent rank avg hyper speed unrounded.
percent_rank_avg_best_speed_unroundedcharacterPercent rank avg best speed unrounded.
percent_rank_pitch_run_value_fastball_unroundedcharacterPercent rank pitch run value fastball unrounded.
percent_rank_pitch_run_value_breaking_unroundedcharacterPercent rank pitch run value breaking unrounded.
percent_rank_pitch_run_value_offspeed_unroundedcharacterPercent rank pitch run value offspeed unrounded.
percent_rank_barrelcharacterPercent rank barrel.
percent_rank_barrel_batted_ratecharacterPercent rank barrel batted rate.
percent_rank_exit_velocity_avgcharacterPercent rank exit velocity avg.
percent_rank_exit_velocity_maxintegerPercent rank exit velocity max.
percent_rank_launch_angle_avgcharacterPercent rank launch angle avg.
percent_rank_xbacharacterPercent rank xba.
percent_rank_xslgcharacterPercent rank xslg.
percent_rank_xwobacharacterPercent rank xwoba.
percent_rank_wobacharacterPercent rank woba.
percent_rank_hard_hit_percentcharacterPercent rank hard hit rate.
percent_rank_xwobaconcharacterPercent rank xwobacon.
percent_rank_wobaconcharacterPercent rank wobacon.
percent_rank_k_percentcharacterPercent rank k rate.
percent_rank_bb_percentcharacterPercent rank bb rate.
percent_rank_sz_judgecharacterPercent rank sz judge.
percent_rank_whiff_percentcharacterPercent rank whiff rate.
percent_rank_chase_percentcharacterPercent rank chase rate.
percent_rank_bacharacterPercent rank ba.
percent_rank_baconcharacterPercent rank bacon.
percent_rank_xbaconcharacterPercent rank xbacon.
percent_rank_babipcharacterPercent rank babip.
percent_rank_obpcharacterPercent rank obp.
percent_rank_slgcharacterPercent rank slg.
percent_rank_xobpcharacterPercent rank xobp.
percent_rank_isocharacterPercent rank iso.
percent_rank_xisocharacterPercent rank xiso.
percent_rank_sweet_spot_percentcharacterPercent rank sweet spot rate.
percent_rank_distance_hr_avgcharacterPercent rank distance hr avg.
percent_rank_groundballs_percentcharacterPercent rank groundballs rate.
percent_rank_airballs_percentcharacterPercent rank airballs rate.
percent_rank_avg_hyper_speedcharacterPercent rank avg hyper speed.
percent_rank_avg_best_speedcharacterPercent rank avg best speed.
percent_rank_pitch_run_value_fastballcharacterPercent rank pitch run value fastball.
percent_rank_pitch_run_value_breakingcharacterPercent rank pitch run value breaking.
percent_rank_pitch_run_value_offspeedcharacterPercent rank pitch run value offspeed.
percent_speed_orderintegerPercent speed order.
percent_rank_speed_orderintegerPercent rank speed order.
percent_rank_pop_2bcharacterPercent rank pop 2b.
percent_rank_arm_cs_2bcharacterPercent rank arm cs 2b.
percent_rank_oaacharacterPercent rank oaa.
percent_rank_framingcharacterPercent rank framing.
percent_rank_jumpcharacterPercent rank jump.
percent_rank_fastball_velocharacterPercent rank fastball velo.
percent_rank_fastball_spincharacterPercent rank fastball spin.
percent_rank_fastball_extensioncharacterPercent rank fastball extension.
percent_rank_cu_spincharacterPercent rank cu spin.
percent_rank_xeracharacterPercent rank xera.
percent_rank_arm_maxcharacterPercent rank arm max.
percent_rank_arm_overallcharacterPercent rank arm overall.
percent_rank_xhrcharacterPercent rank xhr.
percent_rank_swing_take_run_valuecharacterPercent rank swing take run value.
percent_rank_blocks_above_averagecharacterPercent rank blocks above average.
percent_rank_cs_above_averagecharacterPercent rank cs above average.
percent_rank_fielding_run_valuecharacterPercent rank fielding run value.
percent_rank_runner_run_valuecharacterPercent rank runner run value.
percent_rank_fielding_run_value_armcharacterPercent rank fielding run value arm.
percent_rank_fielding_run_value_framingcharacterPercent rank fielding run value framing.
percent_rank_swing_speedcharacterPercent rank swing speed.
percent_rank_swing_lengthcharacterPercent rank swing length.
percent_rank_squared_up_swingcharacterPercent rank squared up swing.
percent_rank_attack_anglecharacterPercent rank attack angle.
percent_rank_vertical_swing_pathcharacterPercent rank vertical swing path.
percent_rank_accelerationcharacterPercent rank acceleration.
percent_rank_ideal_angle_ratecharacterPercent rank ideal angle rate.

Example

from sportsdataverse.mlb import mlb_statcast_player
df = mlb_statcast_player(592450)
html = mlb_statcast_player(592450, raw=True)

Pitch-by-pitch MLB Statcast search (/statcast_search/csv), date-chunked.

Savant caps a single /statcast_search/csv response at 25,000 rows with no pagination. This splits the date range into chunk_days windows, halving any window that hits the cap, and stitches the chunks back together.

Parameters

ParameterTypeDefaultDescription
start_dtstr
end_dtstr
player_typestr'batter'"batter" (default) or "pitcher".
chunk_daysint7initial window size in days.
return_as_pandasboolFalsereturn a pandas DataFrame instead of polars.

Returns

A polars (or pandas) DataFrame, one row per pitch.

col_nametypedescription
pitch_typecharacterPitch type code.
game_datecharacterGame date.
release_speednumericRelease speed.
release_pos_xnumericRelease pos x.
release_pos_znumericRelease pos z.
player_namecharacterPlayer name.
batterintegerMLBAM id of the batter.
pitcherintegerMLBAM id of the pitcher.
eventscharacterEvents.
descriptioncharacterDescription.
spin_dircharacterSpin dir.
spin_rate_deprecatedcharacterSpin rate deprecated.
break_angle_deprecatedcharacterBreak angle deprecated.
break_length_deprecatedcharacterBreak length deprecated.
zoneintegerZone.
descharacterDes.
game_typecharacterGame type.
standcharacterBatter stance side (R/L).
p_throwscharacterPitcher throwing hand (R/L).
home_teamcharacterHome team.
away_teamcharacterAway team.
typecharacterRecord/pitch type.
hit_locationintegerHit location.
bb_typecharacterBb type.
ballsintegerBalls.
strikesintegerStrikes.
game_yearintegerGame year.
pfx_xnumericHorizontal movement (in, pitcher perspective).
pfx_znumericInduced vertical movement (in).
plate_xnumericPlate x.
plate_znumericPlate z.
on_3bcharacterOn 3b.
on_2bcharacterOn 2b.
on_1bcharacterOn 1b.
outs_when_upintegerOuts when up.
inningintegerInning.
inning_topbotcharacterInning topbot.
hc_xnumericHc x.
hc_ynumericHc y.
tfs_deprecatedcharacterTfs deprecated.
tfs_zulu_deprecatedcharacterTfs zulu deprecated.
umpirecharacterUmpire.
sv_idcharacterSv id.
vx0numericVx0.
vy0numericVy0.
vz0numericVz0.
axnumericAx.
aynumericAy.
aznumericAz.
sz_topnumericSz top.
sz_botnumericSz bot.
hit_distance_scintegerHit distance sc.
launch_speednumericExit velocity of the batted ball (mph).
launch_angleintegerLaunch angle (deg).
effective_speedintegerEffective speed.
release_spin_rateintegerRelease spin rate.
release_extensionnumericRelease extension.
game_pkintegerMLBAM game id.
fielder_2integerFielder 2.
fielder_3integerFielder 3.
fielder_4integerFielder 4.
fielder_5integerFielder 5.
fielder_6integerFielder 6.
fielder_7integerFielder 7.
fielder_8integerFielder 8.
fielder_9integerFielder 9.
release_pos_ynumericRelease pos y.
estimated_ba_using_speedanglenumericEstimated ba using speedangle.
estimated_woba_using_speedanglenumericEstimated woba using speedangle.
woba_valueintegerWoba value.
woba_denomintegerWoba denom.
babip_valueintegerBabip value.
iso_valueintegerIso value.
launch_speed_angleintegerLaunch speed angle.
at_bat_numberintegerAt bat number.
pitch_numberintegerPitch number.
pitch_namecharacterPitch type name.
home_scoreintegerHome score.
away_scoreintegerAway score.
bat_scoreintegerBat score.
fld_scoreintegerFld score.
post_away_scoreintegerPost away score.
post_home_scoreintegerPost home score.
post_bat_scoreintegerPost bat score.
post_fld_scoreintegerPost fld score.
if_fielding_alignmentcharacterIf fielding alignment.
of_fielding_alignmentcharacterOf fielding alignment.
spin_axisintegerSpin axis.
delta_home_win_expnumericDelta home win exp.
delta_run_expnumericDelta run exp.
bat_speednumericBat speed (mph).
swing_lengthnumericSwing length (ft, head travel).
miss_distancecharacterAverage miss distance (in) on swings.
estimated_slg_using_speedanglenumericEstimated slg using speedangle.
delta_pitcher_run_expnumericDelta pitcher run exp.
hyper_speednumericHyper speed.
home_score_diffintegerHome score diff.
bat_score_diffintegerBat score diff.
home_win_expnumericHome win exp.
bat_win_expnumericBat win exp.
age_pit_legacyintegerAge pit legacy.
age_bat_legacyintegerAge bat legacy.
age_pitintegerAge pit.
age_batintegerAge bat.
n_thruorder_pitcherintegerNumber of thruorder pitcher.
n_priorpa_thisgame_player_at_batintegerNumber of priorpa thisgame player at bat.
pitcher_days_since_prev_gameintegerPitcher days since prev game.
batter_days_since_prev_gameintegerBatter days since prev game.
pitcher_days_until_next_gameintegerPitcher days until next game.
batter_days_until_next_gameintegerBatter days until next game.
api_break_z_with_gravitynumericApi break z with gravity.
api_break_x_armnumericApi break x arm.
api_break_x_batter_innumericApi break x batter in.
arm_anglenumericArm angle.
attack_anglenumericAttack angle (deg, bat path at contact).
attack_directionnumericAttack direction (deg, pull/oppo).
swing_path_tiltnumericSwing-path tilt (deg).
intercept_ball_minus_batter_pos_x_inchesnumericIntercept ball minus batter pos x inches.
intercept_ball_minus_batter_pos_y_inchesnumericIntercept ball minus batter pos y inches.

Example

from sportsdataverse.mlb import mlb_statcast_search
df = mlb_statcast_search("2024-06-15", "2024-06-16", batters_lookup=592450)

mlb_statcast_search_minors(start_dt: 'str', end_dt: 'str', *, player_type: 'str' = 'batter', chunk_days: 'int' = 7, return_as_pandas: 'bool' = False, **filters: 'Any') -> "'Union[pl.DataFrame, pd.DataFrame]'"

Minor-league Statcast search (/statcast-search-minors/csv), date-chunked.

Same shape, columns, and 25,000-row chunking as mlb_statcast_search, but against the MiLB CSV route. Scope with hfLevel (Triple-A/Double-A/…) and hfSea filters.

Parameters

ParameterTypeDefaultDescription
start_dtstr
end_dtstr
player_typestr'batter'"batter" (default) or "pitcher".
chunk_daysint7initial window size in days.
return_as_pandasboolFalsereturn a pandas DataFrame instead of polars.

Returns

A polars (or pandas) DataFrame, one row per minor-league pitch.

col_nametypedescription
pitch_typecharacterPitch type code.
game_datecharacterGame date.
release_speednumericRelease speed.
release_pos_xnumericRelease pos x.
release_pos_znumericRelease pos z.
player_namecharacterPlayer name.
batterintegerMLBAM id of the batter.
pitcherintegerMLBAM id of the pitcher.
eventscharacterEvents.
descriptioncharacterDescription.
spin_dircharacterSpin dir.
spin_rate_deprecatedcharacterSpin rate deprecated.
break_angle_deprecatedcharacterBreak angle deprecated.
break_length_deprecatedcharacterBreak length deprecated.
zoneintegerZone.
descharacterDes.
game_typecharacterGame type.
standcharacterBatter stance side (R/L).
p_throwscharacterPitcher throwing hand (R/L).
home_teamcharacterHome team.
away_teamcharacterAway team.
typecharacterRecord/pitch type.
hit_locationintegerHit location.
bb_typecharacterBb type.
ballsintegerBalls.
strikesintegerStrikes.
game_yearintegerGame year.
pfx_xnumericHorizontal movement (in, pitcher perspective).
pfx_znumericInduced vertical movement (in).
plate_xnumericPlate x.
plate_znumericPlate z.
on_3bcharacterOn 3b.
on_2bcharacterOn 2b.
on_1bcharacterOn 1b.
outs_when_upintegerOuts when up.
inningintegerInning.
inning_topbotcharacterInning topbot.
hc_xnumericHc x.
hc_ynumericHc y.
tfs_deprecatedcharacterTfs deprecated.
tfs_zulu_deprecatedcharacterTfs zulu deprecated.
umpirecharacterUmpire.
sv_idcharacterSv id.
vx0numericVx0.
vy0numericVy0.
vz0numericVz0.
axnumericAx.
aynumericAy.
aznumericAz.
sz_topnumericSz top.
sz_botnumericSz bot.
hit_distance_scintegerHit distance sc.
launch_speednumericExit velocity of the batted ball (mph).
launch_angleintegerLaunch angle (deg).
effective_speedintegerEffective speed.
release_spin_rateintegerRelease spin rate.
release_extensionnumericRelease extension.
game_pkintegerMLBAM game id.
fielder_2integerFielder 2.
fielder_3integerFielder 3.
fielder_4integerFielder 4.
fielder_5integerFielder 5.
fielder_6integerFielder 6.
fielder_7integerFielder 7.
fielder_8integerFielder 8.
fielder_9integerFielder 9.
release_pos_ynumericRelease pos y.
estimated_ba_using_speedanglenumericEstimated ba using speedangle.
estimated_woba_using_speedanglenumericEstimated woba using speedangle.
woba_valueintegerWoba value.
woba_denomintegerWoba denom.
babip_valueintegerBabip value.
iso_valueintegerIso value.
launch_speed_angleintegerLaunch speed angle.
at_bat_numberintegerAt bat number.
pitch_numberintegerPitch number.
pitch_namecharacterPitch type name.
home_scoreintegerHome score.
away_scoreintegerAway score.
bat_scoreintegerBat score.
fld_scoreintegerFld score.
post_away_scoreintegerPost away score.
post_home_scoreintegerPost home score.
post_bat_scoreintegerPost bat score.
post_fld_scoreintegerPost fld score.
if_fielding_alignmentcharacterIf fielding alignment.
of_fielding_alignmentcharacterOf fielding alignment.
spin_axisintegerSpin axis.
delta_home_win_expnumericDelta home win exp.
delta_run_expnumericDelta run exp.
bat_speednumericBat speed (mph).
swing_lengthnumericSwing length (ft, head travel).
miss_distancecharacterAverage miss distance (in) on swings.
estimated_slg_using_speedanglenumericEstimated slg using speedangle.
delta_pitcher_run_expnumericDelta pitcher run exp.
hyper_speednumericHyper speed.
home_score_diffintegerHome score diff.
bat_score_diffintegerBat score diff.
home_win_expnumericHome win exp.
bat_win_expnumericBat win exp.
age_pit_legacyintegerAge pit legacy.
age_bat_legacyintegerAge bat legacy.
age_pitintegerAge pit.
age_batintegerAge bat.
n_thruorder_pitcherintegerNumber of thruorder pitcher.
n_priorpa_thisgame_player_at_batintegerNumber of priorpa thisgame player at bat.
pitcher_days_since_prev_gameintegerPitcher days since prev game.
batter_days_since_prev_gameintegerBatter days since prev game.
pitcher_days_until_next_gameintegerPitcher days until next game.
batter_days_until_next_gameintegerBatter days until next game.
api_break_z_with_gravitynumericApi break z with gravity.
api_break_x_armnumericApi break x arm.
api_break_x_batter_innumericApi break x batter in.
arm_anglenumericArm angle.
attack_anglenumericAttack angle (deg, bat path at contact).
attack_directionnumericAttack direction (deg, pull/oppo).
swing_path_tiltnumericSwing-path tilt (deg).
intercept_ball_minus_batter_pos_x_inchesnumericIntercept ball minus batter pos x inches.
intercept_ball_minus_batter_pos_y_inchesnumericIntercept ball minus batter pos y inches.

Example

from sportsdataverse.mlb import mlb_statcast_search_minors
df = mlb_statcast_search_minors("2024-06-01", "2024-06-02")

mlb_statcast_search_wbc(start_dt: 'str', end_dt: 'str', *, player_type: 'str' = 'batter', chunk_days: 'int' = 7, return_as_pandas: 'bool' = False, **filters: 'Any') -> "'Union[pl.DataFrame, pd.DataFrame]'"

World Baseball Classic Statcast search (/statcast-search-world-baseball-classic/csv).

Same shape, columns, and 25,000-row chunking as mlb_statcast_search, against the WBC CSV route. Pass WBC date windows (e.g. March of a WBC year).

Parameters

ParameterTypeDefaultDescription
start_dtstr
end_dtstr
player_typestr'batter'"batter" (default) or "pitcher".
chunk_daysint7initial window size in days.
return_as_pandasboolFalsereturn a pandas DataFrame instead of polars.

Returns

A polars (or pandas) DataFrame, one row per WBC pitch.

col_nametypedescription
pitch_typecharacterPitch type code.
game_datecharacterGame date.
release_speednumericRelease speed.
release_pos_xnumericRelease pos x.
release_pos_znumericRelease pos z.
player_namecharacterPlayer name.
batterintegerMLBAM id of the batter.
pitcherintegerMLBAM id of the pitcher.
eventscharacterEvents.
descriptioncharacterDescription.
spin_dircharacterSpin dir.
spin_rate_deprecatedcharacterSpin rate deprecated.
break_angle_deprecatedcharacterBreak angle deprecated.
break_length_deprecatedcharacterBreak length deprecated.
zoneintegerZone.
descharacterDes.
game_typecharacterGame type.
standcharacterBatter stance side (R/L).
p_throwscharacterPitcher throwing hand (R/L).
home_teamcharacterHome team.
away_teamcharacterAway team.
typecharacterRecord/pitch type.
hit_locationintegerHit location.
bb_typecharacterBb type.
ballsintegerBalls.
strikesintegerStrikes.
game_yearintegerGame year.
pfx_xnumericHorizontal movement (in, pitcher perspective).
pfx_znumericInduced vertical movement (in).
plate_xnumericPlate x.
plate_znumericPlate z.
on_3bcharacterOn 3b.
on_2bcharacterOn 2b.
on_1bcharacterOn 1b.
outs_when_upintegerOuts when up.
inningintegerInning.
inning_topbotcharacterInning topbot.
hc_xnumericHc x.
hc_ynumericHc y.
tfs_deprecatedcharacterTfs deprecated.
tfs_zulu_deprecatedcharacterTfs zulu deprecated.
umpirecharacterUmpire.
sv_idcharacterSv id.
vx0numericVx0.
vy0numericVy0.
vz0numericVz0.
axnumericAx.
aynumericAy.
aznumericAz.
sz_topnumericSz top.
sz_botnumericSz bot.
hit_distance_scintegerHit distance sc.
launch_speednumericExit velocity of the batted ball (mph).
launch_angleintegerLaunch angle (deg).
effective_speedintegerEffective speed.
release_spin_rateintegerRelease spin rate.
release_extensionnumericRelease extension.
game_pkintegerMLBAM game id.
fielder_2integerFielder 2.
fielder_3integerFielder 3.
fielder_4integerFielder 4.
fielder_5integerFielder 5.
fielder_6integerFielder 6.
fielder_7integerFielder 7.
fielder_8integerFielder 8.
fielder_9integerFielder 9.
release_pos_ynumericRelease pos y.
estimated_ba_using_speedanglenumericEstimated ba using speedangle.
estimated_woba_using_speedanglenumericEstimated woba using speedangle.
woba_valueintegerWoba value.
woba_denomintegerWoba denom.
babip_valueintegerBabip value.
iso_valueintegerIso value.
launch_speed_angleintegerLaunch speed angle.
at_bat_numberintegerAt bat number.
pitch_numberintegerPitch number.
pitch_namecharacterPitch type name.
home_scoreintegerHome score.
away_scoreintegerAway score.
bat_scoreintegerBat score.
fld_scoreintegerFld score.
post_away_scoreintegerPost away score.
post_home_scoreintegerPost home score.
post_bat_scoreintegerPost bat score.
post_fld_scoreintegerPost fld score.
if_fielding_alignmentcharacterIf fielding alignment.
of_fielding_alignmentcharacterOf fielding alignment.
spin_axisintegerSpin axis.
delta_home_win_expnumericDelta home win exp.
delta_run_expnumericDelta run exp.
bat_speednumericBat speed (mph).
swing_lengthnumericSwing length (ft, head travel).
miss_distancecharacterAverage miss distance (in) on swings.
estimated_slg_using_speedanglenumericEstimated slg using speedangle.
delta_pitcher_run_expnumericDelta pitcher run exp.
hyper_speednumericHyper speed.
home_score_diffintegerHome score diff.
bat_score_diffintegerBat score diff.
home_win_expnumericHome win exp.
bat_win_expnumericBat win exp.
age_pit_legacyintegerAge pit legacy.
age_bat_legacyintegerAge bat legacy.
age_pitintegerAge pit.
age_batintegerAge bat.
n_thruorder_pitcherintegerNumber of thruorder pitcher.
n_priorpa_thisgame_player_at_batintegerNumber of priorpa thisgame player at bat.
pitcher_days_since_prev_gameintegerPitcher days since prev game.
batter_days_since_prev_gameintegerBatter days since prev game.
pitcher_days_until_next_gameintegerPitcher days until next game.
batter_days_until_next_gameintegerBatter days until next game.
api_break_z_with_gravitynumericApi break z with gravity.
api_break_x_armnumericApi break x arm.
api_break_x_batter_innumericApi break x batter in.
arm_anglenumericArm angle.
attack_anglenumericAttack angle (deg, bat path at contact).
attack_directionnumericAttack direction (deg, pull/oppo).
swing_path_tiltnumericSwing-path tilt (deg).
intercept_ball_minus_batter_pos_x_inchesnumericIntercept ball minus batter pos x inches.
intercept_ball_minus_batter_pos_y_inchesnumericIntercept ball minus batter pos y inches.

Example

from sportsdataverse.mlb import mlb_statcast_search_wbc
df = mlb_statcast_search_wbc("2023-03-08", "2023-03-22")

mlb_stats(stats: 'str', group: 'str', season: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, league_id: 'Optional[Union[int, str]]' = None, team_id: 'Optional[int]' = None, player_pool: 'Optional[str]' = None, game_type: 'Optional[str]' = None, limit: 'int' = 50, offset: 'int' = 0, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/stats — generic stats query.

stats selects the slice (season, career, yearByYear, …) and group selects the stat group (hitting, pitching, fielding). Filters: season, team_id, league_id, game_type, player_pool.

Parameters

ParameterTypeDefaultDescription
statsstr
groupstr
seasonOptional[Union[int, str]]None
sport_idint1
league_idOptional[Union[int, str]]None
team_idOptional[int]None
player_poolOptional[str]None
game_typeOptional[str]None
limitint50
offsetint0
fieldsOptional[str]None

mlb_stats_leaders(leader_categories: 'str', season: 'Optional[Union[int, str]]' = None, leader_game_types: 'Optional[str]' = None, stat_group: 'Optional[str]' = None, league_id: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, limit: 'int' = 10, **kwargs) -> 'Dict'

GET /api/v1/stats/leaders — top-N leaders for a stat category.

Parameters

ParameterTypeDefaultDescription
leader_categoriesstr
seasonOptional[Union[int, str]]None
leader_game_typesOptional[str]None
stat_groupOptional[str]None
league_idOptional[Union[int, str]]None
sport_idint1
limitint10

mlb_stats_streaks(streak_type: 'str', streak_threshold: 'int' = 1, season: 'Optional[Union[int, str]]' = None, stat_group: 'Optional[str]' = None, active_streak: 'Optional[bool]' = None, sport_id: 'int' = 1, **kwargs) -> 'Dict'

GET /api/v1/stats/streaks — active or historical streaks.

streak_type e.g. hittingStreakOverall, onBaseOverall.

Parameters

ParameterTypeDefaultDescription
streak_typestr
streak_thresholdint1
seasonOptional[Union[int, str]]None
stat_groupOptional[str]None
active_streakOptional[bool]None
sport_idint1

mlb_team_leaders(team_id: 'int', leader_categories: 'str', season: 'Optional[Union[int, str]]' = None, leader_game_types: 'Optional[str]' = None, limit: 'int' = 10, **kwargs) -> 'Dict'

GET /api/v1/teams/{teamId}/leaders — team leaders.

leader_categories e.g. homeRuns, battingAverage, wins, earnedRunAverage (comma-separated for multi).

Parameters

ParameterTypeDefaultDescription
team_idint
leader_categoriesstr
seasonOptional[Union[int, str]]None
leader_game_typesOptional[str]None
limitint10

mlb_team_stats(team_id: 'int', season: 'Union[int, str]', stats: 'str' = 'season', group: 'str' = 'hitting', sport_ids: 'Optional[Union[int, List[int]]]' = None, game_type: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/teams/{teamId}/stats — team-level stats.

stats: season, career, yearByYear, byMonth, byDayOfWeek, … group: hitting, pitching, fielding.

Parameters

ParameterTypeDefaultDescription
team_idint
seasonUnion[int, str]
statsstr'season'
groupstr'hitting'
sport_idsOptional[Union[int, List[int]]]None
game_typeOptional[str]None
fieldsOptional[str]None

mlb_teams(season: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, league_ids: 'Optional[Union[int, List[int], str]]' = None, active_status: 'Optional[str]' = None, all_star_statuses: 'Optional[str]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'

GET /api/v1/teams — list teams. sport_id=1 = MLB.

Parameters

ParameterTypeDefaultDescription
seasonOptional[Union[int, str]]None
sport_idint1
league_idsOptional[Union[int, List[int], str]]None
active_statusOptional[str]None
all_star_statusesOptional[str]None
hydrateOptional[str]None
fieldsOptional[str]None