Skip to main content

MLB — MLB Statcast (Baseball Savant) — Leaderboard: expected–year

mlb_statcast_leaderboard_expected_stats​

GET /leaderboard/expected_statistics — xBA/xSLG/xwOBA/xISO expected-statistics leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/expected_statistics

Valid URL: https://baseballsavant.mlb.com/leaderboard/expected_statistics

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idintegerMLBAM player id.
yearintegerSeason year.
paintegerPlate appearances.
bipintegerBalls in play.
banumericBatting average.
est_banumericExpected batting average (xBA).
est_ba_minus_ba_diffnumericxBA minus actual BA (over/under-performance).
slgnumericSlugging percentage.
est_slgnumericExpected slugging (xSLG).
est_slg_minus_slg_diffnumericxSLG minus actual SLG.
wobanumericWeighted on-base average.
est_wobanumericExpected wOBA (xwOBA).
est_woba_minus_woba_diffnumericxwOBA minus actual wOBA.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_expected_stats()

Last validated n/a.

mlb_statcast_leaderboard_percentile_rankings​

GET /leaderboard/percentile-rankings — player percentile-ranking sliders (xwOBA/xBA/xSLG/…).

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/percentile-rankings

Valid URL: https://baseballsavant.mlb.com/leaderboard/percentile-rankings

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_namecharacterPlayer name.
player_idintegerMLBAM player id.
yearintegerSeason year.
xwobacharacterExpected wOBA.
xbacharacterExpected batting average.
xslgcharacterExpected slugging.
xisocharacterExpected isolated power.
xobpcharacterExpected on-base percentage.
brlcharacterBarrels.
brl_percentcharacterBarrel rate (% of batted balls).
exit_velocitycharacterExit velocity (mph).
max_evintegerMax ev.
hard_hit_percentcharacterHard-hit rate (95+ mph EV).
k_percentcharacterStrikeout rate.
bb_percentcharacterWalk rate.
whiff_percentcharacterWhiff rate (swings and misses / swings).
chase_percentcharacterChase rate.
arm_strengthintegerArm strength (mph, top throws).
sprint_speedintegerSprint speed (ft/sec, top 50% of competitive runs).
oaaintegerOuts Above Average.
bat_speedcharacterBat speed (mph).
squared_up_ratecharacterSquared up rate.
swing_lengthcharacterSwing length (ft, head travel).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_percentile_rankings()

Last validated n/a.

mlb_statcast_leaderboard_sprint_speed​

GET /leaderboard/sprint_speed — sprint-speed (ft/sec) leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/sprint_speed

Valid URL: https://baseballsavant.mlb.com/leaderboard/sprint_speed

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idintegerMLBAM player id.
team_idintegerMLBAM team id.
teamcharacterTeam abbreviation.
positioncharacterPosition.
ageintegerPlayer age.
competitive_runsintegerCompetitive runs (qualifying sprint-speed runs).
boltsintegerBolts.
hp_to_1bnumericHome-to-first time (s).
sprint_speednumericSprint speed (ft/sec, top 50% of competitive runs).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_sprint_speed()

Last validated n/a.

mlb_statcast_leaderboard_running_splits​

GET /leaderboard/running_splits — 90-foot running splits leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/running_splits

Valid URL: https://baseballsavant.mlb.com/leaderboard/running_splits

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idintegerMLBAM player id.
name_abbrevcharacterTeam/name abbreviation.
team_idintegerMLBAM team id.
position_namecharacterPosition name.
ageintegerPlayer age.
bat_sidecharacterBatter side (R/L/S).
seconds_since_hit_000numericSeconds since hit 000.
seconds_since_hit_005numericSeconds since hit 005.
seconds_since_hit_010numericSeconds since hit 010.
seconds_since_hit_015numericSeconds since hit 015.
seconds_since_hit_020numericSeconds since hit 020.
seconds_since_hit_025numericSeconds since hit 025.
seconds_since_hit_030numericSeconds since hit 030.
seconds_since_hit_035numericSeconds since hit 035.
seconds_since_hit_040numericSeconds since hit 040.
seconds_since_hit_045numericSeconds since hit 045.
seconds_since_hit_050numericSeconds since hit 050.
seconds_since_hit_055numericSeconds since hit 055.
seconds_since_hit_060numericSeconds since hit 060.
seconds_since_hit_065numericSeconds since hit 065.
seconds_since_hit_070numericSeconds since hit 070.
seconds_since_hit_075numericSeconds since hit 075.
seconds_since_hit_080numericSeconds since hit 080.
seconds_since_hit_085numericSeconds since hit 085.
seconds_since_hit_090numericSeconds since hit 090.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_running_splits()

Last validated n/a.

mlb_statcast_leaderboard_bat_tracking​

GET /leaderboard/bat-tracking — bat-tracking (swing speed / squared-up) leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/bat-tracking

Valid URL: https://baseballsavant.mlb.com/leaderboard/bat-tracking

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerMLBAM player id.
namecharacterPlayer (or entity) name.
swings_competitiveintegerCompetitive swings.
percent_swings_competitivenumericShare of swings that are competitive.
contactintegerContact.
avg_bat_speednumericAverage bat speed (mph).
hard_swing_ratenumericHard swing rate.
squared_up_per_bat_contactnumericSquared up per bat contact.
squared_up_per_swingnumericSquared-up rate per swing.
blast_per_bat_contactnumericBlast per bat contact.
blast_per_swingnumericBlasts per swing.
swing_lengthnumericSwing length (ft, head travel).
swordsintegerSwords.
batter_run_valuenumericBatter run value.
whiffscharacterWhiffs.
whiff_per_swingcharacterWhiff per swing.
batted_ball_eventsintegerBatted ball events.
batted_ball_event_per_swingnumericBatted ball event per swing.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_bat_tracking()

Last validated n/a.

mlb_statcast_leaderboard_swing_path​

GET /leaderboard/bat-tracking/swing-path-attack-angle — swing path & attack-angle leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/bat-tracking/swing-path-attack-angle

Valid URL: https://baseballsavant.mlb.com/leaderboard/bat-tracking/swing-path-attack-angle

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerMLBAM player id.
namecharacterPlayer (or entity) name.
sidecharacterSide.
avg_bat_speednumericAverage bat speed (mph).
swing_tiltnumericSwing tilt (deg).
attack_anglenumericAttack angle (deg, bat path at contact).
attack_directionnumericAttack direction (deg, pull/oppo).
ideal_attack_angle_ratenumericRate of swings in the ideal attack-angle window.
avg_intercept_y_vs_platenumericAvg intercept y vs plate.
avg_intercept_y_vs_batternumericAvg intercept y vs batter.
avg_batter_y_positionnumericAvg batter y position.
avg_batter_x_positionnumericAvg batter x position.
competitive_swingsintegerCompetitive swings.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_swing_path()

Last validated n/a.

mlb_statcast_leaderboard_swing_timing​

GET /leaderboard/bat-tracking/swing-timing-miss-distance — swing timing & miss-distance leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/bat-tracking/swing-timing-miss-distance

Valid URL: https://baseballsavant.mlb.com/leaderboard/bat-tracking/swing-timing-miss-distance

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerMLBAM player id.
namecharacterPlayer (or entity) name.
yearintegerSeason year.
team_namecharacterTeam name.
bat_side_formattedcharacterBatter side (formatted).
miss_distancenumericAverage miss distance (in) on swings.
flawed_percentnumericFlawed rate.
perfect_percentnumericPerfect rate.
tied_up_percentnumericTied up rate.
avg_x_tied_upnumericAvg x tied up.
centered_percentnumericCentered rate.
flailed_percentnumericFlailed rate.
avg_x_flailnumericAvg x flail.
early_percentnumericEarly rate.
avg_y_earlynumericAvg y early.
on_time_percentnumericOn time rate.
late_percentnumericLate rate.
avg_y_latenumericAvg y late.
n_swingsintegerNumber of swings.
whiff_ratenumericWhiff rate.
competitive_percentnumericCompetitive rate.
over_percentnumericOver rate.
avg_z_overnumericAvg z over.
lined_up_percentnumericLined up rate.
under_percentnumericUnder rate.
avg_z_undernumericAvg z under.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_swing_timing()

Last validated n/a.

mlb_statcast_leaderboard_swing_take​

GET /leaderboard/swing-take — swing/take run-value leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/swing-take

Valid URL: https://baseballsavant.mlb.com/leaderboard/swing-take

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
yearcharacterSeason year.
last_name, first_namecharacterLast name, first name.
player_idcharacterMLBAM player id.
team_idcharacterMLBAM team id.
pacharacterPlate appearances.
pitchescharacterPitches.
runs_allcharacterRuns all.
runs_heartcharacterRuns heart.
runs_shadowcharacterRuns shadow.
runs_chasecharacterRuns chase.
runs_wastecharacterRuns waste.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_swing_take()

Last validated n/a.

mlb_statcast_leaderboard_exit_velocity_barrels​

GET /leaderboard/statcast — exit velocity & barrels leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/statcast

Valid URL: https://baseballsavant.mlb.com/leaderboard/statcast

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idintegerMLBAM player id.
attemptsintegerOpportunities/attempts.
avg_hit_anglenumericAverage launch angle (deg).
anglesweetspotpercentnumericAnglesweetspotpercent.
max_hit_speednumericMax exit velocity (mph).
avg_hit_speednumericAverage exit velocity (mph).
ev50numericEv50.
fbldnumericFbld.
gbnumericGb.
max_distanceintegerMax distance.
avg_distanceintegerAvg distance.
avg_hr_distanceintegerAvg hr distance.
ev95plusintegerEv95plus.
ev95percentnumericEv95percent.
barrelsintegerBarrels.
brl_percentnumericBarrel rate (% of batted balls).
brl_panumericBarrels per plate appearance.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_exit_velocity_barrels()

Last validated n/a.

mlb_statcast_leaderboard_batted_ball​

GET /leaderboard/batted-ball — batted-ball profile leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/batted-ball

Valid URL: https://baseballsavant.mlb.com/leaderboard/batted-ball

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerMLBAM player id.
namecharacterPlayer (or entity) name.
yearintegerSeason year.
bbeintegerBatted-ball events.
gb_ratenumericGb rate.
air_ratenumericAir rate.
fb_ratenumericFb rate.
ld_ratenumericLd rate.
pu_ratenumericPu rate.
pull_ratenumericPull rate.
straight_ratenumericStraight rate.
oppo_ratenumericOppo rate.
pull_gb_ratenumericPull gb rate.
straight_gb_ratenumericStraight gb rate.
oppo_gb_ratenumericOppo gb rate.
pull_air_ratenumericPull air rate.
straight_air_ratenumericStraight air rate.
oppo_air_ratenumericOppo air rate.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_batted_ball()

Last validated n/a.

mlb_statcast_leaderboard_home_runs​

GET /leaderboard/home-runs — Statcast home-runs leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/home-runs

Valid URL: https://baseballsavant.mlb.com/leaderboard/home-runs

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
playercharacterPlayer.
player_idintegerMLBAM player id.
team_abbrevcharacterTeam abbreviation.
yearintegerSeason year.
typecharacterRecord/pitch type.
avg_hr_trotnumericAvg hr trot.
doubtersintegerDoubters.
mostly_goneintegerMostly gone.
no_doubtersintegerNo doubters.
no_doubter_pernumericNo doubter per.
hr_totalintegerHr total.
xhrnumericXhr.
xhr_diffnumericXhr diff.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_home_runs()

Last validated n/a.

mlb_statcast_leaderboard_pitch_arsenals​

GET /leaderboard/pitch-arsenals — pitch arsenals (velo/spin/movement) leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/pitch-arsenals

Valid URL: https://baseballsavant.mlb.com/leaderboard/pitch-arsenals

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
pitcherintegerMLBAM id of the pitcher.
ff_battercharacterFf batter.
si_battercharacterSi batter.
fc_battercharacterFc batter.
sl_battercharacterSl batter.
ch_battercharacterCh batter.
cu_battercharacterCu batter.
fs_battercharacterFs batter.
kn_battercharacterKn batter.
st_battercharacterSt batter.
sv_battercharacterSv batter.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_pitch_arsenals()

Last validated n/a.

mlb_statcast_leaderboard_pitch_arsenal_stats​

GET /leaderboard/pitch-arsenal-stats — per-pitch-type outcome stats leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/pitch-arsenal-stats

Valid URL: https://baseballsavant.mlb.com/leaderboard/pitch-arsenal-stats

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idintegerMLBAM player id.
team_name_altcharacterTeam name (alternate form).
pitch_typecharacterPitch type code.
pitch_namecharacterPitch type name.
run_value_per_100numericRun value per 100 pitches.
run_valueintegerRun value (runs).
pitchesintegerPitches.
pitch_usagenumericPitch usage.
paintegerPlate appearances.
banumericBatting average.
slgnumericSlugging percentage.
wobanumericWeighted on-base average.
whiff_percentnumericWhiff rate (swings and misses / swings).
k_percentnumericStrikeout rate.
put_awaynumericPut away.
est_banumericExpected batting average (xBA).
est_slgnumericExpected slugging (xSLG).
est_wobanumericExpected wOBA (xwOBA).
hard_hit_percentnumericHard-hit rate (95+ mph EV).

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_pitch_arsenal_stats()

Last validated n/a.

mlb_statcast_leaderboard_pitch_movement​

GET /leaderboard/pitch-movement — pitch-movement leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/pitch-movement

Valid URL: https://baseballsavant.mlb.com/leaderboard/pitch-movement

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
yearintegerSeason year.
last_name, first_namecharacterLast name, first name.
pitcher_idintegerMLBAM id of the pitcher.
team_namecharacterTeam name.
team_name_abbrevcharacterTeam name abbrev.
pitch_handcharacterPitcher handedness (R/L).
avg_speedintegerAverage pitch velocity (mph).
pitches_thrownintegerPitches thrown.
total_pitchesintegerTotal pitches.
pitches_per_gamenumericPitches per game.
pitch_pernumericPitch per.
pitch_typecharacterPitch type code.
pitch_type_namecharacterPitch type name.
pitcher_break_znumericPitcher break z.
league_break_znumericLeague break z.
diff_znumericDiff z.
riseintegerRise.
pitcher_break_z_inducednumericPitcher break z induced.
pitcher_break_xnumericPitcher break x.
league_break_xnumericLeague break x.
diff_xnumericDiff x.
tailintegerTail.
percent_rank_diff_znumericPercent rank diff z.
percent_rank_diff_xnumericPercent rank diff x.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_pitch_movement()

Last validated n/a.

mlb_statcast_leaderboard_pitch_tempo​

GET /leaderboard/pitch-tempo — pitch-tempo leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/pitch-tempo

Valid URL: https://baseballsavant.mlb.com/leaderboard/pitch-tempo

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
entity_idintegerMLBAM id of the player/team entity.
entity_namecharacterPlayer (or team) entity name.
entity_codecharacterEntity code.
team_idintegerMLBAM team id.
total_pitchesintegerTotal pitches.
total_pitches_emptyintegerTotal pitches empty.
median_seconds_emptynumericMedian tempo (s) with bases empty.
total_pitches_onbaseintegerTotal pitches onbase.
freq_hotnumericFreq hot.
freq_warmnumericFreq warm.
freq_coldnumericFreq cold.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_pitch_tempo()

Last validated n/a.

mlb_statcast_leaderboard_active_spin​

GET /leaderboard/active-spin — active-spin leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/active-spin

Valid URL: https://baseballsavant.mlb.com/leaderboard/active-spin

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
entity_namecharacterPlayer (or team) entity name.
entity_idintegerMLBAM id of the player/team entity.
pitch_handcharacterPitcher handedness (R/L).
active_spin_fourseamcharacterActive spin fourseam.
active_spin_sinkernumericActive spin sinker.
active_spin_cutternumericActive spin cutter.
active_spin_changeupnumericActive spin changeup.
active_spin_splittercharacterActive spin splitter.
active_spin_curvecharacterActive spin curve.
active_spin_slidernumericActive spin slider.
active_spin_sweepernumericActive spin sweeper.
active_spin_slurvecharacterActive spin slurve.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_active_spin()

Last validated n/a.

mlb_statcast_leaderboard_spin_direction​

GET /leaderboard/spin-direction-pitches — spin-direction (per-pitch) leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/spin-direction-pitches

Valid URL: https://baseballsavant.mlb.com/leaderboard/spin-direction-pitches

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
yearintegerSeason year.
last_name, first_namecharacterLast name, first name.
player_idintegerMLBAM player id.
pitch_handcharacterPitcher handedness (R/L).
api_pitch_typecharacterPitch type (API code).
n_pitchesintegerNumber of pitches.
release_speednumericRelease speed.
spin_rateintegerSpin rate (rpm).
movement_inchesnumericMovement inches.
alan_active_spin_pctnumericAlan active spin rate.
active_spinnumericActive (useful) spin (%).
hawkeye_measurednumericHawkeye measured.
movement_inferrednumericMovement inferred.
api_pitch_namecharacterApi pitch name.
active_spin_formattedintegerActive spin (formatted, %).
hawkeye_measured_clock_minutesintegerHawkeye measured clock minutes.
movement_inferred_clock_minutesintegerMovement inferred clock minutes.
diff_measured_inferrednumericDiff measured inferred.
diff2numericDiff2.
diff_measured_inferred_minutesintegerDiff measured inferred minutes.
hawkeye_measured_clock_hhintegerHawkeye measured clock hh.
hawkeye_measured_clock_mmintegerHawkeye measured clock mm.
movement_inferred_clock_hhintegerMovement inferred clock hh.
movement_inferred_clock_mmintegerMovement inferred clock mm.
diff_clock_hhintegerDiff clock hh.
diff_clock_mmintegerDiff clock mm.
hawkeye_measured_clock_labelcharacterHawkeye measured clock label.
movement_inferred_clock_labelcharacterMovement inferred clock label.
diff_clock_labelcharacterDiff clock label.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_spin_direction()

Last validated n/a.

mlb_statcast_leaderboard_arm_angles​

GET /leaderboard/pitcher-arm-angles — pitcher arm-angle leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/pitcher-arm-angles

Valid URL: https://baseballsavant.mlb.com/leaderboard/pitcher-arm-angles

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
pitcherintegerMLBAM id of the pitcher.
pitcher_namecharacterPitcher name.
pitch_handcharacterPitcher handedness (R/L).
n_pitchesintegerNumber of pitches.
team_idintegerMLBAM team id.
ball_anglenumericArm slot angle (deg).
relative_release_ball_xnumericRelative release ball x.
release_ball_znumericRelease ball z.
relative_shoulder_xnumericRelative shoulder x.
shoulder_znumericShoulder z.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_arm_angles()

Last validated n/a.

mlb_statcast_leaderboard_pitcher_running_game​

GET /leaderboard/pitcher-running-game — pitcher running-game (holding runners) leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/pitcher-running-game

Valid URL: https://baseballsavant.mlb.com/leaderboard/pitcher-running-game

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_idintegerMLBAM player id.
player_namecharacterPlayer name.
team_namecharacterTeam name.
start_yearintegerFirst season in the range.
end_yearintegerLast season in the range.
key_target_basecharacterKey target base.
runs_prevented_on_running_attrnumericRuns prevented on running attr.
n_pitcher_cs_aanumericNumber of pitcher cs aa.
n_initintegerNumber of init.
rate_sbxnumericRate sbx.
n_sbintegerStolen bases allowed (count).
n_csintegerCaught stealing (count).
n_pkintegerNumber of pk.
n_bkintegerNumber of bk.
n_fbintegerNumber of fb.
n_plusintegerNumber of plus.
n_minusintegerNumber of minus.
net_attr_plusnumericNet attr plus.
net_attr_minusnumericNet attr minus.
r_primary_leadnumericAverage primary lead distance (ft).
r_secondary_leadnumericAverage secondary lead (ft).
r_sec_minus_prim_leadnumericR sec minus prim lead.
r_primary_lead_sbxnumericR primary lead sbx.
r_secondary_lead_sbxnumericR secondary lead sbx.
r_sec_minus_prim_lead_sbxnumericR sec minus prim lead sbx.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_pitcher_running_game()

Last validated n/a.

mlb_statcast_leaderboard_outs_above_average​

GET /leaderboard/outs_above_average — Outs Above Average (OAA) fielding leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/outs_above_average

Valid URL: https://baseballsavant.mlb.com/leaderboard/outs_above_average

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idcharacterMLBAM player id.
display_team_namecharacterTeam display name.
yearcharacterSeason year.
primary_pos_formattedcharacterPrimary position (formatted).
fielding_runs_preventedcharacterFielding Run Value (runs).
outs_above_averagecharacterOuts Above Average.
outs_above_average_infrontcharacterOuts above average infront.
outs_above_average_lateral_toward3blinecharacterOuts above average lateral toward3bline.
outs_above_average_lateral_toward1blinecharacterOuts above average lateral toward1bline.
outs_above_average_behindcharacterOuts above average behind.
outs_above_average_rhhcharacterOuts above average rhh.
outs_above_average_lhhcharacterOuts above average lhh.
actual_success_rate_formattedcharacterActual success rate formatted.
adj_estimated_success_rate_formattedcharacterAdj estimated success rate formatted.
diff_success_rate_formattedcharacterDiff success rate formatted.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_outs_above_average()

Last validated n/a.

mlb_statcast_leaderboard_outfield_directional_oaa​

GET /leaderboard/outfield_directional_outs_above_average — outfield directional OAA leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/outfield_directional_outs_above_average

Valid URL: https://baseballsavant.mlb.com/leaderboard/outfield_directional_outs_above_average

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idintegerMLBAM player id.
attemptsintegerOpportunities/attempts.
n_outs_above_averageintegerOuts Above Average (count).
n_oaa_slice_back_leftintegerNumber of oaa slice back left.
n_oaa_slice_backintegerNumber of oaa slice back.
n_oaa_slice_back_rightintegerNumber of oaa slice back right.
n_oaa_slice_back_allintegerNumber of oaa slice back all.
n_oaa_slice_in_leftintegerNumber of oaa slice in left.
n_oaa_slice_inintegerNumber of oaa slice in.
n_oaa_slice_in_rightintegerNumber of oaa slice in right.
n_oaa_slice_in_allintegerNumber of oaa slice in all.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_outfield_directional_oaa()

Last validated n/a.

mlb_statcast_leaderboard_outfield_jump​

GET /leaderboard/outfield_jump — outfielder jump leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/outfield_jump

Valid URL: https://baseballsavant.mlb.com/leaderboard/outfield_jump

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
resp_fielder_idintegerMLBAM id of the responsible fielder.
yearintegerSeason year.
outs_above_averageintegerOuts Above Average.
outs_per_playnumericOuts per play.
rel_league_burst_distanceintegerRel league burst distance.
rel_league_reaction_distancenumericRel league reaction distance.
rel_league_routing_distancenumericRel league routing distance.
rel_league_bootup_distancenumericRel league bootup distance.
f_bootup_distancenumericF bootup distance.
nintegerSample count (pitches/events).
n_outsintegerNumber of outs.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_outfield_jump()

Last validated n/a.

mlb_statcast_leaderboard_catch_probability​

GET /leaderboard/catch_probability — outfielder catch-probability leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/catch_probability

Valid URL: https://baseballsavant.mlb.com/leaderboard/catch_probability

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
last_name, first_namecharacterLast name, first name.
player_idcharacterMLBAM player id.
oaacharacterOuts Above Average.
n_fieldout_5starscharacter5-star (hardest) plays made.
n_opp_5starscharacter5-star play opportunities.
n_5star_percentcharacterNumber of 5star rate.
n_fieldout_4starscharacterNumber of fieldout 4stars.
n_opp_4starscharacterNumber of opp 4stars.
n_4star_percentcharacterNumber of 4star rate.
n_fieldout_3starscharacterNumber of fieldout 3stars.
n_opp_3starscharacterNumber of opp 3stars.
n_3star_percentcharacterNumber of 3star rate.
n_fieldout_2starscharacterNumber of fieldout 2stars.
n_opp_2starscharacterNumber of opp 2stars.
n_2star_percentcharacterNumber of 2star rate.
n_fieldout_1starscharacterNumber of fieldout 1stars.
n_opp_1starscharacterNumber of opp 1stars.
n_1star_percentcharacterNumber of 1star rate.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_catch_probability()

Last validated n/a.

mlb_statcast_leaderboard_arm_strength​

GET /leaderboard/arm-strength — fielder arm-strength leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/arm-strength

Valid URL: https://baseballsavant.mlb.com/leaderboard/arm-strength

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
fielder_namecharacterFielder name.
player_idintegerMLBAM player id.
team_namecharacterTeam name.
primary_positionintegerPrimary fielding position.
primary_position_namecharacterPrimary position name.
total_throwsintegerTotal throws.
total_throws_1bintegerTotal throws 1b.
total_throws_2bintegerTotal throws 2b.
total_throws_3bintegerTotal throws 3b.
total_throws_ssintegerTotal throws ss.
total_throws_lfintegerTotal throws lf.
total_throws_cfintegerTotal throws cf.
total_throws_rfintegerTotal throws rf.
total_throws_infintegerTotal throws inf.
total_throws_ofintegerTotal throws of.
max_arm_strengthnumericMax arm strength (mph).
arm_1bnumericArm 1b.
arm_2bcharacterArm 2b.
arm_3bcharacterArm 3b.
arm_sscharacterArm ss.
arm_lfcharacterArm lf.
arm_cfcharacterArm cf.
arm_rfcharacterArm rf.
arm_infcharacterArm inf.
arm_ofcharacterArm of.
arm_overallnumericArm overall.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_arm_strength()

Last validated n/a.

mlb_statcast_leaderboard_poptime​

GET /leaderboard/poptime — catcher pop-time leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/poptime

Valid URL: https://baseballsavant.mlb.com/leaderboard/poptime

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
entity_namecharacterPlayer (or team) entity name.
entity_idintegerMLBAM id of the player/team entity.
team_idintegerMLBAM team id.
ageintegerPlayer age.
maxeff_arm_2b_3b_sbanumericMax-effort arm velo to 2B/3B (mph).
exchange_2b_3b_sbanumericTransfer/exchange time (s).
pop_2b_sba_countintegerPop-time sample (throws to 2B).
pop_2b_sbanumericPop time to 2B on stolen-base attempts (s).
pop_2b_csnumericPop 2b cs.
pop_2b_sbnumericPop 2b sb.
pop_3b_sba_countintegerPop 3b sba count.
pop_3b_sbanumericPop 3b sba.
pop_3b_csnumericPop 3b cs.
pop_3b_sbnumericPop 3b sb.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_poptime()

Last validated n/a.

mlb_statcast_leaderboard_catcher_framing​

GET /leaderboard/catcher-framing — catcher framing leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/catcher-framing

Valid URL: https://baseballsavant.mlb.com/leaderboard/catcher-framing

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerMLBAM player id.
namecharacterPlayer (or entity) name.
pitchesintegerPitches.
rv_totnumericTotal framing run value.
pct_totnumericTotal called-strike rate.
rv_11integerRv 11.
pct_11numericPct 11.
rv_12integerRv 12.
pct_12numericPct 12.
rv_13integerRv 13.
pct_13integerPct 13.
rv_14integerRv 14.
pct_14numericPct 14.
rv_16integerRv 16.
pct_16numericPct 16.
rv_17integerRv 17.
pct_17numericPct 17.
rv_18integerRv 18.
pct_18numericPct 18.
rv_19integerRv 19.
pct_19numericPct 19.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_catcher_framing()

Last validated n/a.

mlb_statcast_leaderboard_catcher_blocking​

GET /leaderboard/catcher-blocking — catcher blocking leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/catcher-blocking

Valid URL: https://baseballsavant.mlb.com/leaderboard/catcher-blocking

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_idintegerMLBAM player id.
player_namecharacterPlayer name.
team_namecharacterTeam name.
start_yearintegerFirst season in the range.
end_yearcharacterLast season in the range.
pitchesintegerPitches.
catcher_blocking_runsintegerCatcher blocking runs.
blocks_above_averageintegerBlocks above average.
n_pbwpintegerNumber of pbwp.
x_pbwpnumericX pbwp.
blocks_above_average_per_gamenumericBlocks above average per game.
freq_pbwp_easynumericFreq pbwp easy.
freq_pbwp_mediumnumericFreq pbwp medium.
freq_pbwp_toughnumericFreq pbwp tough.
diff_pbwp_easynumericDiff pbwp easy.
diff_pbwp_mediumnumericDiff pbwp medium.
diff_pbwp_toughnumericDiff pbwp tough.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_catcher_blocking()

Last validated n/a.

mlb_statcast_leaderboard_catcher_throwing​

GET /leaderboard/catcher-throwing — catcher throwing leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/catcher-throwing

Valid URL: https://baseballsavant.mlb.com/leaderboard/catcher-throwing

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_idintegerMLBAM player id.
player_namecharacterPlayer name.
team_namecharacterTeam name.
start_yearintegerFirst season in the range.
end_yearintegerLast season in the range.
sb_attemptsintegerSb attempts.
catcher_stealing_runsnumericCatcher stealing runs.
caught_stealing_above_averagenumericCaught-stealing above average.
n_csintegerCaught stealing (count).
rate_csnumericRate cs.
est_cs_pctnumericExpected caught stealing rate.
cs_aa_per_thrownumericCs aa per throw.
seasonal_runner_speednumericSeasonal runner speed.
runner_distance_from_secondnumericRunner distance from second.
pop_timenumericPop time.
exchange_timenumericExchange time.
arm_strengthnumericArm strength (mph, top throws).
n_xcs_with_flight_over_xcsnumericNumber of xcs with flight over xcs.
n_xcs_with_exchange_over_xcsnumericNumber of xcs with exchange over xcs.
n_xcs_with_accuracy_over_xcsnumericNumber of xcs with accuracy over xcs.
n_xcs_with_ground_other_over_xcsnumericNumber of xcs with ground other over xcs.
n_xcs_with_onfly_other_over_xcsnumericNumber of xcs with onfly other over xcs.
n_xcs_with_untracked_other_over_xcsintegerNumber of xcs with untracked other over xcs.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_catcher_throwing()

Last validated n/a.

mlb_statcast_leaderboard_catcher_stance​

GET /leaderboard/catcher-stance — catcher stance leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/catcher-stance

Valid URL: https://baseballsavant.mlb.com/leaderboard/catcher-stance

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
idintegerMLBAM player id.
namecharacterPlayer (or entity) name.
yearintegerSeason year.
pitchesintegerPitches.
knee_down_pctnumericShare of pitches received in a knee-down stance.
l_down_r_up_pctnumericL down r up rate.
r_down_l_up_pctnumericR down l up rate.
both_down_pctnumericBoth down rate.
both_up_pctnumericBoth up rate.
extended_leg_pctnumericExtended leg rate.
inside_down_pctnumericInside down rate.
outside_down_pctnumericOutside down rate.
one_knee_framing_rvnumericOne knee framing rv.
other_framing_rvintegerOther framing rv.
one_knee_calledstr_pctnumericOne knee calledstr rate.
other_calledstr_pctcharacterOther calledstr rate.
one_knee_blocking_rvnumericOne knee blocking rv.
other_blocking_rvintegerOther blocking rv.
one_knee_pbwp100numericOne knee pbwp100.
other_pbwp100characterOther pbwp100.
one_knee_throwing_rvintegerOne knee throwing rv.
other_throwing_rvintegerOther throwing rv.
one_knee_csaa100integerOne knee csaa100.
other_csaa100characterOther csaa100.
catching_rvnumericCatching rv.
one_knee_pitching_rvnumericOne knee pitching rv.
other_pitching_rvnumericOther pitching rv.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_catcher_stance()

Last validated n/a.

mlb_statcast_leaderboard_basestealing_run_value​

GET /leaderboard/basestealing-run-value — basestealing run-value leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/basestealing-run-value

Valid URL: https://baseballsavant.mlb.com/leaderboard/basestealing-run-value

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_idintegerMLBAM player id.
player_namecharacterPlayer name.
team_namecharacterTeam name.
start_yearintegerFirst season in the range.
end_yearintegerLast season in the range.
key_target_basecharacterKey target base.
runs_stolen_on_running_actnumericRuns stolen on running act.
n_initintegerNumber of init.
rate_sbxintegerRate sbx.
n_sbintegerStolen bases allowed (count).
n_csintegerCaught stealing (count).
n_pkintegerNumber of pk.
n_bkintegerNumber of bk.
n_fbintegerNumber of fb.
n_plusintegerNumber of plus.
n_minusintegerNumber of minus.
net_act_plusnumericNet act plus.
net_act_minusnumericNet act minus.
r_primary_leadnumericAverage primary lead distance (ft).
r_secondary_leadnumericAverage secondary lead (ft).
r_sec_minus_prim_leadnumericR sec minus prim lead.
r_primary_lead_sbxcharacterR primary lead sbx.
r_secondary_lead_sbxcharacterR secondary lead sbx.
r_sec_minus_prim_lead_sbxcharacterR sec minus prim lead sbx.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_basestealing_run_value()

Last validated n/a.

mlb_statcast_leaderboard_baserunning_run_value​

GET /leaderboard/baserunning-run-value — baserunning run-value leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/baserunning-run-value

Valid URL: https://baseballsavant.mlb.com/leaderboard/baserunning-run-value

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
player_idintegerMLBAM player id.
entity_namecharacterPlayer (or team) entity name.
team_namecharacterTeam name.
start_yearintegerFirst season in the range.
end_yearintegerLast season in the range.
runner_runs_totnumericRunner runs tot.
runner_runs_xbnumericRunner runs xb.
runner_runs_sbxnumericRunner runs sbx.
n_runner_movedintegerNumber of runner moved.
runner_runs_xb_swipenumericRunner runs xb swipe.
runner_runs_xb_snipeintegerRunner runs xb snipe.
runner_runs_xb_freezenumericRunner runs xb freeze.
n_runner_moved_xbintegerNumber of runner moved xb.
runner_runs_sb2numericRunner runs sb2.
runner_runs_sb3numericRunner runs sb3.
simple_stolen_on_running_act_sb2numericSimple stolen on running act sb2.
simple_stolen_on_running_act_sb3numericSimple stolen on running act sb3.
n_runner_moved_sbxintegerNumber of runner moved sbx.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_baserunning_run_value()

Last validated n/a.

mlb_statcast_leaderboard_baserunning​

GET /leaderboard/baserunning — extra-bases-taken run-value leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/baserunning

Valid URL: https://baseballsavant.mlb.com/leaderboard/baserunning

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
entity_namecharacterPlayer (or team) entity name.
entity_idintegerMLBAM id of the player/team entity.
team_namecharacterTeam name.
yearintegerSeason year.
runner_runsnumericBaserunning run value as a runner.
fielder_runsnumericRun value from the defense's perspective.
runner_runs_advancesnumericRunner runs advances.
runner_runs_thrown_outintegerRunner runs thrown out.
runner_runs_holdnumericRunner runs hold.
fielder_runs_advancesnumericFielder runs advances.
fielder_runs_thrown_outintegerFielder runs thrown out.
fielder_runs_holdnumericFielder runs hold.
n_opp_xbintegerNumber of opp xb.
n_att_xbintegerNumber of att xb.
rate_att_xbnumericRate att xb.
est_rate_att_generic_runnernumericExpected rate att generic runner.
est_rate_att_generic_fieldernumericExpected rate att generic fielder.
n_outintegerNumber of out.
n_safeintegerNumber of safe.
rate_safenumericRate safe.
rate_safe_per_attemptintegerRate safe per attempt.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_baserunning()

Last validated n/a.

mlb_statcast_leaderboard_year_to_year​

GET /leaderboard/statcast-year-to-year — year-to-year metric change leaderboard.

Endpoint URL: GET https://baseballsavant.mlb.com/leaderboard/statcast-year-to-year

Valid URL: https://baseballsavant.mlb.com/leaderboard/statcast-year-to-year

API ParameterPythonPatternRequiredNullableDescription
typetypeYtype query parameter.
yearyearYyear query parameter.
teamteamYteam query parameter.
csvcsvYcsv query parameter.

Returns​

return_parsed=True (default) — a tidy polars.DataFrame with the columns below; pass return_as_pandas=True for a pandas.DataFrame.

col_nametypedescription
namecharacterPlayer (or entity) name.
entity_idintegerMLBAM id of the player/team entity.
2015character2015.
2016character2016.
delta_2015_2016characterDelta 2015 2016.
2017character2017.
delta_2016_2017characterDelta 2016 2017.
2018character2018.
delta_2017_2018characterDelta 2017 2018.
2019character2019.
delta_2018_2019characterDelta 2018 2019.
2020character2020.
delta_2019_2020characterDelta 2019 2020.
2021character2021.
delta_2020_2021characterDelta 2020 2021.
2022character2022.
delta_2021_2022characterDelta 2021 2022.
2023character2023.
delta_2022_2023characterDelta 2022 2023.
2024character2024.
delta_2023_2024characterDelta 2023 2024.
2025character2025.
delta_2024_2025characterDelta 2024 2025.
2026character2026.
delta_2025_2026characterDelta 2025 2026.

return_parsed=False — the raw JSON Dict payload, unparsed.

Example​

mlb_statcast_leaderboard_year_to_year()

Last validated n/a.