Skip to main content
Breaking in 4.0.0
  • Integer id columns are decimal strings — Every id column of integers (id, *_id, game_pk, playerId, …) comes back as exact decimal strings on every surface — parsers, producers, loaders, HockeyTech analytics. Compare and join ids as strings; Number(row.game_id) for a safe number back. (changelog)
  • Typed wrapper params and loader rows; strict mode — TypeScript only. A param the endpoint does not have, a missing required path param or a non-boolean bool param is a type error; parser rows are Record<string, unknown>; loader rows are their generated row types. (changelog)

sdv.mlb — dataset loaders

34 loaders reading the published sportsdataverse-data releases (parquet) — the JS mirror of sportsdataverse-py's load_* functions. Each is a camelCase export plus its snake_case alias and resolves to an array of plain row objects (or { [column]: values[] } with format: "columns").

  • Size: row objects cost ~60-100 bytes per cell on the heap, so before decoding each season a loader adds its rows × columns (from the parquet footer) to a running total and checks it against maxCells — by default heap limit / 100 for rows (≈45M cells on Node's default 4 GB heap) and heap limit / 30 for format: "columns" — and throws a catchable SdvError instead of running out of memory. Play-by-play is the usual case: pass columns, use format: "columns", or raise the heap (node --max-old-space-size=8192).
  • Seasons: seasons takes one season or a list. A season with no published asset (HTTP 404) is skipped with a warning (loaders marked so in their seasons row — sdv-py's hand-written ones — throw NoDataError instead); any other failure raises AssetFetchError (a failed download is never an empty season); a season below the loader's floor raises SeasonNotFoundError before anything is fetched. Multi-season results union the columns, null-filling gaps, and cast a column whose type changed between seasons to the common type (an integer id that became a string → strings, "123" not "123.0"), as sdv-py's diagonal_relaxed concat does.
  • Integers: an id column (id, *_id, *_ids, game_pk, athlete_id_1, id_play, playerId, homeTeamId, start.team.id, …) of integers comes back as exact decimal strings in every row and every season, whatever width the release stores it with (INT32, INT64, or a DOUBLE holding integers: "401628579101849903", "39", never "39.0"), so ids join across seasons and across releases. Code-like id columns (type_id, status_id, …) are strings too. An id column that is not exact integers (a fraction, a DOUBLE past 2^53) is left as read with one warning. Any other INT64 column comes back as number when every value is a safe integer, otherwise as BigInt with one warning (code SDV_INT64) per column per process.
  • Runtime: Node only. Downloads go through the releases transport family (see Transport, auth & errors); each asset is downloaded whole, then decoded.
LoaderReleaseSeasons
loadMlbRe24Matrixmlb_game_state2015+
loadMlbWeTablemlb_game_state2015+
loadMlbWpamlb_game_state2015+
loadMlbPbpmlb_pbp1988+
loadMlbPitchesmlb_pitches1988+
loadMlbRunnersmlb_runners1988+
loadMlbStatcastmlb_statcast2015+
loadMlbSchedulemlb_schedules1988+
loadMlbExpectedStatsmlb_hitting_models2015+
loadMlbExpectedHrmlb_hitting_models2015+
loadMlbBatterProjectionmlb_hitting_models2016+
loadMlbOaamlb_fielding_models2015+
loadMlbCatcherFramingmlb_fielding_models2015+
loadMlbXeramlb_pitching_models2015+
loadMlbStuffPlusmlb_pitching_models2015+
loadMlbCommandPlusmlb_pitching_models2015+
loadNcaaBaseballPbpncaa_baseball_pbp2017+
loadNcaaBaseballSchedulencaa_baseball_schedules2012+
loadNcaaBaseballTeamsncaa_baseball_teams2024+
loadNcaaBaseballRostersncaa_baseball_rosters2024+
loadNcaaBaseballLinescorencaa_baseball_linescore2024+
loadNcaaBaseballTeamStatsncaa_baseball_team_stats2024+
loadNcaaBaseballPlayerStatsncaa_baseball_player_stats2024+
loadNcaaBaseballSituationalStatsncaa_baseball_situational_stats2024+
loadNcaaBaseballGamesncaa_baseball_games2017+
loadMlbGroupsmlb_groupsone asset
loadMlbGroupSeasonsmlb_groupsone asset
loadMlbGroupAliasesmlb_groupsone asset
loadMlbTeamGroupSeasonsmlb_groups1901+
loadNcaaBaseballGroupsncaa_baseball_groupsone asset
loadNcaaBaseballGroupSeasonsncaa_baseball_groupsone asset
loadNcaaBaseballGroupAliasesncaa_baseball_groupsone asset
loadNcaaBaseballTeamGroupSeasonsncaa_baseball_groups2010+
loadMlbParkDimensionsmlb_parksone asset

loadMlbRe24Matrix​

Release: mlb_game_state · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_game_state/mlb_re24_matrix_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbRe24Matrix({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_re24_matrix(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbRe24MatrixRow (exported from the package root).

col_nametypedescription
base_statestringThree-character pre-play base occupancy where each slot carries its base number when occupied and an underscore when empty, so ___ is bases empty and 123 is bases loaded.
outsnumber | bigintOuts in the inning after the play.
renumberMean runs the batting team went on to score from this base-out state through the end of the half-inning, with bottom-of-the-9th-and-later halves excluded to avoid walk-off selection bias.
nnumberPlate appearances observed starting in this base-out state, the sample size behind re.
seasonnumber | bigintSeason year.

loadMlbWeTable​

Release: mlb_game_state · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_game_state/mlb_we_table_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbWeTable({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_we_table(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbWeTableRow (exported from the package root).

col_nametypedescription
inning_cappednumber | bigintInning number with the ninth and every extra inning collapsed into 9, so extras share the ninth-inning win-expectancy cells.
halfstring
base_statestringThree-character pre-play base occupancy where each slot carries its base number when occupied and an underscore when empty, so ___ is bases empty and 123 is bases loaded.
outs_startnumber | bigintOuts already recorded when the plate appearance began, normally 0 through 2, though a handful of published rows carry a stale 3 that the RE24 matrix filters out but this table does not.
score_diff_bucketnumber | bigintHome score minus away score before the play, clipped to the range -6 through +6 so blowouts collapse into the end buckets.
home_win_expnumberHome team win expectancy before the play.
nnumberPlate appearances observed in this state bucket, the sample size behind the Laplace-smoothed home_win_exp.
thinbooleanWhether the win-expectancy cell was estimated from a thin sample of historical games.
seasonnumber | bigintSeason year.

loadMlbWpa​

Release: mlb_game_state · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_game_state/mlb_wpa_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbWpa({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_wpa(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbWpaRow (exported from the package root).

col_nametypedescription
game_idstringUnique ESPN game/event identifier.
at_bat_indexnumber | bigintZero-based index of the at-bat within the game.
wpanumber
seasonnumber | bigintSeason year.

loadMlbPbp​

Release: mlb_pbp · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_pbp/mlb_pbp_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 1988)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbPbp({ seasons: 2024, columns: ['game_pk', 'inning', 'event_type', 'description'] });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_pbp(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbPbpRow (exported from the package root).

col_nametypedescription
game_pkstringstatsapi game identifier; the join key to every other MLB release.
at_bat_indexnumber | bigintZero-based index of the plate appearance within the game; joins to mlb_pitches and mlb_runners.
inningnumber | bigintInning number, counting from 1; extra innings continue the sequence.
half_inningstringtop or bottom.
batter_idstringstatsapi person id of the batter.
pitcher_idstringstatsapi person id of the pitcher.
event_typestringMachine-readable plate-appearance outcome (e.g. single, strikeout, field_out).
eventstringHuman-readable outcome of the plate appearance.
descriptionstringNarrative text for the plate appearance.
rbinumber | bigintRuns batted in credited to this plate appearance.
away_scorenumber | bigintAway score AFTER the plate appearance.
home_scorenumber | bigintHome score AFTER the plate appearance.
is_scoring_playbooleanWhether the plate appearance scored a run.
outsnumber | bigintOuts recorded after the plate appearance.
start_timestringUTC timestamp when the plate appearance began; null in older seasons.
end_timestringUTC timestamp when the plate appearance ended; null in older seasons.
post_on_first_idstringPerson id on first base after the plate appearance; null when unoccupied.
post_on_second_idstringPerson id on second base after the plate appearance; null when unoccupied.
post_on_third_idstringPerson id on third base after the plate appearance; null when unoccupied.

loadMlbPitches​

Release: mlb_pitches · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_pitches/mlb_pitches_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 1988)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbPitches({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_pitches(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbPitchesRow (exported from the package root).

col_nametypedescription
game_pkstringstatsapi game identifier; the join key to every other MLB release.
at_bat_indexnumber | bigintZero-based index of the plate appearance within the game; joins to mlb_pbp and mlb_runners.
pitch_numbernumber | bigintOne-based pitch number within the plate appearance.
batter_idstringstatsapi person id of the batter.
pitcher_idstringstatsapi person id of the pitcher.
pitch_typestringClassified pitch-type code (FF, SL, CH, ...). statsapi pitchData, measured fill: ~0% before 2007, 45.7% in 2007 (mid-season PITCHf/x rollout across ballparks), 96.6% in 2008, ~100% from 2015. Null for pitches the system never tracked.
pitch_namestringHuman-readable pitch type. statsapi pitchData, measured fill: ~0% before 2007, 45.7% in 2007 (mid-season PITCHf/x rollout across ballparks), 96.6% in 2008, ~100% from 2015. Null for pitches the system never tracked.
call_codestringUmpire call code (B, C, S, X, ...).
call_descriptionstringHuman-readable umpire call.
ballsnumber | bigintBall count BEFORE the pitch.
strikesnumber | bigintStrike count BEFORE the pitch.
outsnumber | bigintOuts BEFORE the pitch.
start_speednumberRelease speed in mph. statsapi pitchData, measured fill: ~0% before 2007, 45.7% in 2007 (mid-season PITCHf/x rollout across ballparks), 96.6% in 2008, ~100% from 2015. Null for pitches the system never tracked.
end_speednumberSpeed crossing the plate in mph. statsapi pitchData, measured fill: ~0% before 2007, 45.7% in 2007 (mid-season PITCHf/x rollout across ballparks), 96.6% in 2008, ~100% from 2015. Null for pitches the system never tracked.
spin_ratenumberSpin rate in rpm. statsapi pitchData, measured fill: ~0% before 2007, 45.7% in 2007 (mid-season PITCHf/x rollout across ballparks), 96.6% in 2008, ~100% from 2015. Null for pitches the system never tracked.
extensionnumberRelease extension toward the plate in feet. Later than the rest of pitchData: measured 0% through 2016 and ~100% from 2017, so it is null for the 2007-2016 PITCHf/x seasons that do carry speed and spin.
pxnumberHorizontal location crossing the plate in feet from the plate's centre, catcher's view. statsapi pitchData, measured fill: ~0% before 2007, 45.7% in 2007 (mid-season PITCHf/x rollout across ballparks), 96.6% in 2008, ~100% from 2015. Null for pitches the system never tracked.
pznumberHeight crossing the plate in feet above the ground. statsapi pitchData, measured fill: ~0% before 2007, 45.7% in 2007 (mid-season PITCHf/x rollout across ballparks), 96.6% in 2008, ~100% from 2015. Null for pitches the system never tracked.
sz_topnumberTop of the batter's strike zone in feet. Derived from the batter, not pitchData, so it is populated back to 1988.
sz_botnumberBottom of the batter's strike zone in feet. Derived from the batter, not pitchData, so it is populated back to 1988.
launch_speednumberExit velocity off the bat in mph. statsapi hitData, Statcast-era and batted balls only: null before 2015 and ~17% populated after, which is the share of pitches put in play rather than a coverage gap.
launch_anglenumberVertical launch angle in degrees. statsapi hitData, Statcast-era and batted balls only: null before 2015 and ~17% populated after, which is the share of pitches put in play rather than a coverage gap.
total_distancenumberBatted-ball distance travelled in feet. statsapi hitData, Statcast-era and batted balls only: null before 2015 and ~17% populated after, which is the share of pitches put in play rather than a coverage gap.
trajectorystringBatted-ball trajectory (ground_ball, line_drive, fly_ball, popup). Legacy scorer field, batted balls only: ~20% populated in every season back to 1988, and present long before Statcast.
hardnessstringScorer's contact-quality grade (soft, medium, hard). Legacy scorer field, batted balls only: ~20% populated in every season back to 1988, and present long before Statcast.

loadMlbRunners​

Release: mlb_runners · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_runners/mlb_runners_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 1988)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbRunners({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_runners(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbRunnersRow (exported from the package root).

col_nametypedescription
game_pkstringstatsapi game identifier; the join key to every other MLB release.
at_bat_indexnumber | bigintZero-based index of the plate appearance within the game; joins to mlb_pbp and mlb_pitches.
runner_idstringstatsapi person id of the baserunner.
origin_basestringBase the runner occupied when the plate appearance began; null for the batter.
start_basestringBase the runner started this movement from; null when the movement begins at the plate.
end_basestringBase the runner finished on; null when retired or when scoring is recorded by is_scoring_event.
out_basestringBase at which the runner was retired; null when not retired.
is_outbooleanWhether the runner was retired on this movement.
out_numbernumber | bigintWhich out of the half-inning this retirement was; null when not retired.
eventstringHuman-readable event that caused the movement.
event_typestringMachine-readable event that caused the movement.
movement_reasonstringstatsapi reason code for a movement not caused by the plate appearance itself (e.g. r_stolen_base_2b).
is_scoring_eventbooleanWhether this movement scored a run.
rbibooleanWhether the run was credited as an RBI to the batter.
earnedbooleanWhether the run was earned against the responsible pitcher.
responsible_pitcher_idstringstatsapi person id of the pitcher charged with the runner.

loadMlbStatcast​

Release: mlb_statcast · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_statcast/mlb_statcast_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbStatcast({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_statcast(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbStatcastRow (exported from the package root).

col_nametypedescription
pitch_typestringAbbreviation of the pitch type thrown (e.g. FF, SL, CH).
game_datestringGame date (YYYY-MM-DD).
release_speednumberPitch velocity out of the hand (mph).
release_pos_xnumberHorizontal release position of the ball, catcher's perspective (feet).
release_pos_znumberVertical release position of the ball, catcher's perspective (feet).
player_namestringBatter name, Last, First (Baseball Savant's batter-side player_name).
batterstringMLBAM player id of the batter.
pitcherstringMLBAM player id of the pitcher.
eventsstringPlate-appearance result on the pitch that ended it (e.g. single, strikeout, walk); null on every other pitch.
descriptionstringPitch outcome (e.g. ball, called_strike, swinging_strike, foul, hit_into_play).
spin_dirnumberDeprecated spin direction field, no longer populated.
spin_rate_deprecatednumberDeprecated legacy spin-rate field, no longer populated.
break_angle_deprecatednumberDeprecated legacy break-angle field, no longer populated.
break_length_deprecatednumberDeprecated legacy break-length field, no longer populated.
zonenumberStrike-zone region the pitch crossed (1-14 Gameday zone).
desstringFull text description of the play.
game_typestringGame-type code; spring training (S) and exhibition (E) games are included alongside R and the postseason.
standstringSide of the plate the batter is standing (L or R).
p_throwsstringHand the pitcher throws with (L or R).
home_teamstringHome team abbreviation (e.g. SF).
away_teamstringAway team abbreviation (e.g. LAD).
typestringPitch result class -- B ball, S strike (including fouls), X ball in play.
hit_locationnumberFielder position number that fielded the ball.
bb_typestringBatted-ball type (ground_ball, line_drive, fly_ball, popup).
ballsnumber | bigintBall count before the pitch.
strikesnumber | bigintStrike count before the pitch.
game_yearnumber | bigintSeason year of the game.
pfx_xnumberHorizontal pitch movement from the catcher's perspective (feet).
pfx_znumberVertical pitch movement from the catcher's perspective (feet).
plate_xnumberHorizontal position of the pitch crossing the plate (feet from center).
plate_znumberVertical position of the pitch crossing the plate (feet above ground).
on_3bstringMLBAM ID of the runner on third base, if any; published as a float and cast to Int64 by the loader.
on_2bstringMLBAM ID of the runner on second base, if any; published as a float and cast to Int64 by the loader.
on_1bstringMLBAM ID of the runner on first base, if any; published as a float and cast to Int64 by the loader.
outs_when_upnumber | bigintNumber of outs when the batter came to the plate.
inningnumber | bigintInning number.
inning_topbotstringHalf of the inning (Top or Bot).
hc_xnumberHit coordinate X on the field diagram.
hc_ynumberHit coordinate Y on the field diagram.
tfs_deprecatednumberDeprecated time-from-start field, no longer populated.
tfs_zulu_deprecatednumberDeprecated Zulu time-from-start field, no longer populated.
umpirenumberDeprecated umpire field; always null.
sv_idstringDeprecated Sportvision/Statcast pitch identifier, no longer populated.
vx0numberVelocity of the pitch in the x-direction at y=50 ft (ft/s).
vy0numberVelocity of the pitch in the y-direction at y=50 ft (ft/s).
vz0numberVelocity of the pitch in the z-direction at y=50 ft (ft/s).
axnumberAcceleration of the pitch in the x-direction at y=50 ft (ft/s^2).
aynumberAcceleration of the pitch in the y-direction at y=50 ft (ft/s^2).
aznumberAcceleration of the pitch in the z-direction at y=50 ft (ft/s^2).
sz_topnumberTop of the batter's strike zone for the pitch (feet).
sz_botnumberBottom of the batter's strike zone for the pitch (feet).
hit_distance_scnumberStatcast-measured projected distance of the batted ball (feet).
launch_speednumberExit velocity of the batted ball (mph).
launch_anglenumberVertical launch angle of the batted ball (degrees).
effective_speednumberPerceived velocity adjusted for release extension (mph).
release_spin_ratenumberSpin rate of the pitch at release (rpm).
release_extensionnumberDistance toward the plate at release (feet).
game_pkstringUnique game identifier.
fielder_2stringMLBAM ID of the catcher.
fielder_3stringMLBAM ID of the first baseman.
fielder_4stringMLBAM ID of the second baseman.
fielder_5stringMLBAM ID of the third baseman.
fielder_6stringMLBAM ID of the shortstop.
fielder_7stringMLBAM ID of the left fielder.
fielder_8stringMLBAM ID of the center fielder.
fielder_9stringMLBAM ID of the right fielder.
release_pos_ynumberRelease position of the ball toward the plate (feet).
estimated_ba_using_speedanglenumberExpected batting average based on exit velocity and launch angle.
estimated_woba_using_speedanglenumberExpected wOBA based on exit velocity and launch angle.
woba_valuenumberwOBA value assigned to the event.
woba_denomnumberwOBA denominator (plate-appearance weight) for the event.
babip_valuenumberBABIP value assigned to the event (0 or 1).
iso_valuenumberIsolated power value assigned to the event.
launch_speed_anglenumberBatted-ball classification code (1-6) from exit velocity and angle.
at_bat_numbernumber | bigintSequential plate-appearance number within the game.
pitch_numbernumber | bigintPitch number within the plate appearance.
pitch_namestringFull name of the pitch type (e.g. 4-Seam Fastball, Slider).
home_scorenumber | bigintHome team score before the pitch (see post_home_score).
away_scorenumber | bigintAway team score before the pitch (see post_away_score).
bat_scorenumber | bigintBatting team score before the pitch.
fld_scorenumber | bigintFielding team score before the pitch.
post_away_scorenumber | bigintAway team score after the pitch.
post_home_scorenumber | bigintHome team score after the pitch.
post_bat_scorenumber | bigintBatting team score after the pitch.
post_fld_scorenumber | bigintFielding team score after the pitch.
if_fielding_alignmentstringInfield defensive alignment (Standard, Strategic, Infield shift).
of_fielding_alignmentstringOutfield defensive alignment (Standard, Strategic, 4th outfielder).
spin_axisnumberSpin axis of the pitch as a clock-face angle (degrees).
delta_home_win_expnumberChange in home team win expectancy on the play.
delta_run_expnumberChange in run expectancy on the play.
bat_speednumberBat speed at the point of contact (mph).
swing_lengthnumberLength of the swing path to contact (feet).
miss_distancenumberHow far the bat missed the ball on a swing and miss (Savant bat tracking); null on every other pitch and before bat tracking.
estimated_slg_using_speedanglenumberExpected slugging based on exit velocity and launch angle.
delta_pitcher_run_expnumberChange in run expectancy credited to the pitcher.
hyper_speednumberAdjusted (90th-percentile) exit velocity (mph).
home_score_diffnumber | bigintHome team score minus away team score before the pitch.
bat_score_diffnumber | bigintBatting team score minus fielding team score before the pitch.
home_win_expnumberHome team win expectancy before the play.
bat_win_expnumberBatting team win expectancy before the play.
age_pit_legacynumber | bigintPitcher age using the legacy calculation.
age_bat_legacynumber | bigintBatter age using the legacy calculation.
age_pitnumber | bigintPitcher age for the season.
age_batnumber | bigintBatter age for the season.
n_thruorder_pitchernumber | bigintTimes through the order the pitcher is facing the lineup.
n_priorpa_thisgame_player_at_batnumber | bigintNumber of prior plate appearances by the batter in the game.
pitcher_days_since_prev_gamenumberDays since the pitcher's previous game appearance.
batter_days_since_prev_gamenumberDays since the batter's previous game appearance.
pitcher_days_until_next_gamenumberDays until the pitcher's next game appearance.
batter_days_until_next_gamenumberDays until the batter's next game appearance.
api_break_z_with_gravitynumberVertical pitch break including gravity (inches).
api_break_x_armnumberHorizontal pitch break to the pitcher's arm side (inches).
api_break_x_batter_innumberHorizontal pitch break toward/away from the batter (inches).
arm_anglenumberPitcher's arm angle at release (degrees).
attack_anglenumberAngle of the bat's path at contact (degrees).
attack_directionnumberHorizontal direction of the swing at contact (degrees).
swing_path_tiltnumberVertical tilt of the swing path (degrees).
intercept_ball_minus_batter_pos_x_inchesnumberHorizontal offset of ball-bat intercept from batter position (inches).
intercept_ball_minus_batter_pos_y_inchesnumberDepth offset of ball-bat intercept from batter position (inches).
seasonnumber | bigintSeason year.

loadMlbSchedule​

Release: mlb_schedules · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_schedules/mlb_schedule_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 1988)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbSchedule({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_schedule(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbScheduleRow (exported from the package root).

col_nametypedescription
game_pkstringstatsapi game identifier; the join key to every other MLB release.
game_datestringOfficial game date (YYYY-MM-DD, local to the venue).
game_datetimestringScheduled first-pitch time as an ISO-8601 UTC timestamp string (e.g. 2024-02-22T20:10:00Z).
seasonnumber | bigintMLB season year the game belongs to (the asset's season).
game_typestringstatsapi game-type code (R regular season, S spring training, E exhibition, A All-Star, F/D/L/W wild card / division series / LCS / World Series).
status_codestringStatus code identifier (e.g. 'S', 'P', 'I', 'F').
detailed_statestringDetailed status description (e.g. 'Scheduled', 'Pre-Game', 'In Progress').
abstract_statestringCoarse game state (Preview, Live or Final).
home_team_idstringHome team id.
home_team_namestringHome team name.
home_scorenumber | bigintHome team's final run total (null for a game not yet played).
away_team_idstringAway team id.
away_team_namestringAway team name.
away_scorenumber | bigintAway team's final run total (null for a game not yet played).
venue_idstringMLBAM venue ID.
venue_namestringVenue name.
double_headerstringDoubleheader indicator ('N', 'S', 'Y').
game_numbernumber | bigintGame number within a doubleheader.
series_descriptionstringDescription of the series.

loadMlbExpectedStats​

Release: mlb_hitting_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_hitting_models/mlb_expected_stats_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbExpectedStats({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_expected_stats(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbExpectedStatsRow (exported from the package root).

col_nametypedescription
batterstringMLBAM player id of the batter.
seasonnumber | bigintSeason year.
panumber | bigintPlate appearances for the batter in the season, counted as the Statcast rows that END a plate appearance (a non-empty events value). Pitches within a plate appearance are not counted.
abnumber | bigintAt-bats, derived from the same plate-appearance-ending rows by excluding walks, hit-by-pitches, sacrifice flies, sacrifice bunts and catcher's interference.
xwobanumberExpected wOBA blending the exit-velocity by launch-angle grid's predicted contact value on balls in play with realized wOBA value on walks, hit-by-pitches and strikeouts, over the wOBA denominator; low-sample batters can exceed 1.
xbanumberGrid-predicted hit probability summed over the at-bat balls in play that carry launch data, plus the realized hit for balls in play Statcast did not track, divided by at-bats, on the conventional batting-average scale. An untracked ball in play takes its realized outcome exactly as xwoba does, rather than counting in ab with a zero numerator, which deflated league-mean xBA by the untracked share.
xslgnumberThe same construction on total bases -- grid-predicted total bases where launch data exists, realized total bases for untracked balls in play -- divided by at-bats, on the conventional slugging scale.
wobanumberActual weighted on-base average (wOBA) for the player over the sample.
banumberActual batting average for the player over the sample (0-1), alongside the expected-stat columns.

loadMlbExpectedHr​

Release: mlb_hitting_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_hitting_models/mlb_expected_hr_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbExpectedHr({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_expected_hr(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbExpectedHrRow (exported from the package root).

col_nametypedescription
batterstringMLBAM player id of the batter.
seasonnumber | bigintSeason year.
hrnumber | bigintHome runs hit by the batter over the covered sample.
xhr_neutralnumberPark-neutral expected home runs, summing over the batter's balls in play the home-run probability read off the exit-velocity by launch-angle by spray-angle grid.
xhr_park_adjnumberThe same expected-home-run sum after scaling each ball by its ballpark's Savant home-run park factor over 100; published values run between 0.77 and 1.26 times xhr_neutral.
hr_above_expectednumberHome runs actually hit minus xhr_neutral, so it grades over- and under-performance against the park-neutral expectation rather than the park-adjusted one.

loadMlbBatterProjection​

Release: mlb_hitting_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_hitting_models/mlb_batter_projection_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2016)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbBatterProjection({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_batter_projection(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbBatterProjectionRow (exported from the package root).

col_nametypedescription
batterstringMLBAM player id of the batter.
agenumber | bigintPlayer age (in years).
proj_xwobanumberProjected expected weighted on-base average for the batter.
proj_panumberCombined prior-three-season pa behind the projection, its effective sample size; it inherits the pitch-row counting of load_mlb_expected_stats pa rather than true plate appearances.

loadMlbOaa​

Release: mlb_fielding_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_fielding_models/mlb_oaa_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbOaa({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_oaa(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbOaaRow (exported from the package root).

col_nametypedescription
fielder_idstringMLBAM identifier of the fielder charged with the ball in play, resolved from whichever fielder_N column matches the responsible position and published as a string rather than an integer.
positionnumber | bigintListed roster position (G, F, C, etc.).
opportunitiesnumberBalls in play charged to this fielder at this position, the sample the oaa sum runs over.
oaanumberOuts above average: outs the fielder actually recorded minus what a per-position catch-probability logistic expected from the same batted-ball trajectories, summed across their opportunities.
seasonnumber | bigintSeason year.

loadMlbCatcherFraming​

Release: mlb_fielding_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_fielding_models/mlb_catcher_framing_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbCatcherFraming({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_catcher_framing(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbCatcherFramingRow (exported from the package root).

col_nametypedescription
catcher_idstringMLBAM identifier of the receiving catcher, taken from Savant's fielder_2 and published as a string rather than an integer.
takesnumberCalled strikes plus balls the catcher received across the season, a pure workload count; the framing figures themselves sum only over the shadow-zone subset of these.
framing_runsnumberRuns saved by receiving, summing actual called strike minus modeled strike probability times that count's strike run value over shadow-zone takes only.
strikes_gainednumberThe same shadow-zone sum of actual called strike minus modeled strike probability left unweighted by run value, so it measures stolen strikes rather than runs.
seasonnumber | bigintSeason year.

loadMlbXera​

Release: mlb_pitching_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_pitching_models/mlb_xera_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbXera({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_xera(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbXeraRow (exported from the package root).

col_nametypedescription
pitcherstringMLBAM player id of the pitcher.
seasonnumber | bigintSeason year.
x_wobanumberExpected weighted on-base average, derived from batted-ball quality rather than outcomes.
x_eranumberERA-scale conversion of x_woba as league_era plus (x_woba minus league_woba) over woba_scale times pa_per_9, an exact linear function of x_woba that can go negative for extreme pitchers.

loadMlbStuffPlus​

Release: mlb_pitching_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_pitching_models/mlb_stuff_plus_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbStuffPlus({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_stuff_plus(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbStuffPlusRow (exported from the package root).

col_nametypedescription
pitcherstringMLBAM player id of the pitcher.
pitch_typestringAbbreviation of the pitch type thrown (e.g. FF, SL, CH).
stuff_rv_hatnumberMean predicted per-pitch run value from the bundled xgboost stuff model over this pitcher's pitches of this type, on Savant's batter-perspective delta_run_exp scale so lower is better for the pitcher.
stuff_plusnumberStuff+ on the 100-is-average scale, exactly 100 minus 10 times (stuff_rv_hat minus the league mean) over the league SD, so higher is better and outlier run-value predictions can push it well below zero.
seasonnumber | bigintSeason year.

loadMlbCommandPlus​

Release: mlb_pitching_models · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_pitching_models/mlb_command_plus_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2015)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbCommandPlus({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_command_plus(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbCommandPlusRow (exported from the package root).

col_nametypedescription
pitcherstringMLBAM player id of the pitcher.
location_rv_hatnumberMean predicted per-pitch run value from the bundled location model, which sees plate location, count, handedness and pitch type but no raw pitch physics; lower is better for the pitcher.
command_plusnumberCommand+/Location+ on the 100-is-average scale, exactly 100 minus 10 times (location_rv_hat minus the league mean) over the league SD; it grades where the pitch finished, not intent, since Statcast ships no catcher target.
seasonnumber | bigintSeason year.

loadNcaaBaseballPbp​

Release: ncaa_baseball_pbp · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_pbp/ncaa_baseball_pbp_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2017)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballPbp({ seasons: 2023, columns: ['contest_id', 'inning', 'play_type', 'description'] });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_pbp(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballPbpRow (exported from the package root).

col_nametypedescription
contest_idstringstats.ncaa.org contest (game) identifier.
inningnumber | bigintInning number.
inning_top_botstringHalf-inning ("top" or "bot").
battingstringWhether the situation applies to batting stats.
fieldingstringWhether the situation applies to fielding stats.
play_numbernumber | bigint
score_awaynumber | bigint
score_homenumber | bigint
batterstringMLBAM player id of the batter.
play_typestringPlay category the NCAA baseball parser classified from the play text: single, double, triple, home_run, strikeout, walk, hit_by_pitch, groundout, flyout, lineout, out, double_play, fielders_choice, reached_on_error, stolen_base, wild_pitch, passed_ball, runner_advance, substitution, other, or unknown when the clause could not be classified.
hit_trajectorystringBatted-ball trajectory: one of ground, line, fly, pop, foul.
fielded_positionstringFree-text description of where/how the ball was fielded or the runner advanced, as written by the scorer.
is_hitbooleanWhether the plate appearance resulted in a hit.
is_outbooleanWhether the play recorded at least one out.
strikeout_typestringHow the strikeout ended: 'swinging' or 'looking'.
is_sacrificebooleanWhether the play was scored as a sacrifice.
sac_typestringKind of sacrifice when one was scored: 'fly' or 'bunt'.
is_double_playbooleanWhether the play resulted in a double play.
rbinumber | bigintRuns batted in.
count_ballsnumber | bigintBall count when the plate appearance resolved.
count_strikesnumber | bigintStrike count when the plate appearance resolved.
pitch_sequencestringPer-pitch result string for the plate appearance (e.g. 'BBKKS'), one character per pitch.
error_positionstringFielding position credited with the error, as the feed labels it (e.g. 'ss', 'rf', 'c').
unearnedbooleanWhether the run(s) on the play were scored as unearned.
runs_scorednumber | bigintRuns that scored on the play.
scoring_runnersArray<string | null>List of runner names who scored on the play.
runners_advancedArray<string | null>List of 'runner->base' strings describing each runner's advance on the play.
outs_on_playnumber | bigintNumber of outs recorded on the play (0-3).
is_scoring_playbooleanFlag indicating that the play put points on the board (1 = scoring play, 0 = not).
descriptionstringLong-form description text.
sourcestringSource.
espn_game_idstring
game_keystringNCAA contest identifier for the game the row belongs to; the join key to the other ncaa_baseball_* tables.
game_datestringGame date (YYYY-MM-DD).
locationstringTeam city/region (e.g. "Los Angeles").
attendancenumber | bigintReported attendance (NA on the redesigned page).
seasonnumber | bigintSeason year.

loadNcaaBaseballSchedule​

Release: ncaa_baseball_schedules · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_schedules/ncaa_baseball_schedule_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2012)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballSchedule({ seasons: 2023 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_schedule(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballScheduleRow (exported from the package root).

col_nametypedescription
team_idstringUnique ESPN team identifier.
team_namestringTeam name.
datestringDate in YYYY-MM-DD format.
game_numbernumber | bigintGame number within a doubleheader.
opponent_idstringUnique identifier for opponent.
opponentstring
resultstringWin/loss/tie result for team_id.
outcomestringResult for the team the row is keyed to: 'W', 'L' or 'T'.
team_scorenumber | bigintTeam's score / final score.
opponent_scorenumber | bigintOpponent score.
contest_idstringstats.ncaa.org contest (game) identifier.
attendancenumber | bigintReported attendance (NA on the redesigned page).
divisionnumber | bigintNCAA division (1, 2, 3).
seasonnumber | bigintSeason year.

loadNcaaBaseballTeams​

Release: ncaa_baseball_teams · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_teams/ncaa_baseball_teams_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2024)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballTeams({ seasons: 2025 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_teams(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballTeamsRow (exported from the package root).

col_nametypedescription
team_idstringUnique ESPN team identifier.
team_namestringTeam name.
divisionnumber | bigintNCAA division (1, 2, 3).
seasonnumber | bigintSeason year.

loadNcaaBaseballRosters​

Release: ncaa_baseball_rosters · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_rosters/ncaa_baseball_rosters_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2024)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballRosters({ seasons: 2025 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_rosters(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballRostersRow (exported from the package root).

col_nametypedescription
team_idstringUnique ESPN team identifier.
team_namestringTeam name.
player_idstringstats.ncaa.org player identifier.
player_namestringPlayer name.
jerseystringJersey number worn by the player.
statcrew_jerseystringStatCrew jersey number; present in the schema but entirely unpopulated in the published asset.
player_classstringClass year as the feed reports it (Fr., So., Jr., Sr.); '---' when unreported.
positionstringPosition the NCAA baseball feed reports for the player.
heightstringHeight (feet and inches).
weightnumber | bigintWeight in pounds.
hometownstring
high_schoolstring
games_playednumber | bigintGames played.
games_startednumber | bigintGames started.
seasonnumber | bigintSeason year.

loadNcaaBaseballLinescore​

Release: ncaa_baseball_linescore · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_linescore/ncaa_baseball_linescore_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2024)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballLinescore({ seasons: 2025 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_linescore(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballLinescoreRow (exported from the package root).

col_nametypedescription
contest_idstringstats.ncaa.org contest (game) identifier.
teamstringTeam.
home_awaystringVenue label for the team ('home' or 'away').
inningstringInning number.
runsnumber | bigintRuns scored.
runs_totalnumber | bigintTotal runs scored by the team across the whole game.
hitsnumber | bigintHits.
errorsnumber | bigintFielding errors.
game_datestringGame date (YYYY-MM-DD).
venuestring
attendancenumber | bigintReported attendance (NA on the redesigned page).
sourcestringSource.
espn_game_idstring
game_keystringNCAA contest identifier for the game the row belongs to; the join key to the other ncaa_baseball_* tables.
locationstringTeam city/region (e.g. "Los Angeles").
seasonnumber | bigintSeason year.

loadNcaaBaseballTeamStats​

Release: ncaa_baseball_team_stats · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_team_stats/ncaa_baseball_team_stats_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2024)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballTeamStats({ seasons: 2025, columns: ['contest_id', 'category', 'stat', 'away_value', 'home_value'] });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_team_stats(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballTeamStatsRow (exported from the package root).

col_nametypedescription
contest_idstringstats.ncaa.org contest (game) identifier.
categorystringCategory label.
statstring
periodstringInning number.
away_teamstringAway team name.
away_valuestringAway team's value for the stat named by the row, as a string (the table is long/tidy, one stat per row).
home_teamstringHome team name.
home_valuestringHome team's value for the stat named by the row, as a string (the table is long/tidy, one stat per row).
sourcestringSource.
espn_game_idstring
game_keystringNCAA contest identifier for the game the row belongs to; the join key to the other ncaa_baseball_* tables.
game_datestringGame date (YYYY-MM-DD).
locationstringTeam city/region (e.g. "Los Angeles").
attendancenumber | bigintReported attendance (NA on the redesigned page).
seasonnumber | bigintSeason year.

loadNcaaBaseballPlayerStats​

Release: ncaa_baseball_player_stats · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_player_stats/ncaa_baseball_player_stats_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2024)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballPlayerStats({ seasons: 2025 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_player_stats(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballPlayerStatsRow (exported from the package root).

col_nametypedescription
contest_idstringstats.ncaa.org contest (game) identifier.
team_idstringUnique ESPN team identifier.
numberstringJersey number.
namestringDisplay name.
positionstringPosition the NCAA baseball feed reports for the player.
rstringRuns scored.
abstringAt-bats.
hstringHits.
2bstringDoubles hit by the batter.
3bstringTriples hit by the batter.
tbstringTotal bases accumulated by the batter.
hrstringHome runs hit by the batter over the covered sample.
rbistringRuns batted in.
bbstringBases on balls (walks).
hbpstringTimes the batter was hit by a pitch.
sfstringSacrifice flies hit by the batter.
shstringSacrifice hits (bunts) laid down by the batter.
kstringStrikeouts.
opp_dpstringDouble plays turned by the opposing defense against this side.
csstringTimes the baserunner was caught stealing.
pickedstringTimes the baserunner was picked off.
sbstringStolen bases by the baserunner.
ibbstringIntentional bases on balls drawn by the batter.
klstringStrikeouts looking -- called third strikes, as opposed to swinging strikeouts.
categorystringCategory label.
sourcestringSource.
espn_game_idstring
game_keystringNCAA contest identifier for the game the row belongs to; the join key to the other ncaa_baseball_* tables.
game_datestringGame date (YYYY-MM-DD).
locationstringTeam city/region (e.g. "Los Angeles").
attendancenumber | bigintReported attendance (NA on the redesigned page).
ipstringInnings pitched.
erstringEarned runs.
sostringStrikeouts: the batter's strikeouts on the batting line, the pitcher's strikeouts recorded on the pitching line.
bfstringBatters faced by the pitcher.
2b_astringDoubles allowed by the pitcher.
3b_astringTriples allowed by the pitcher.
bkstringBalks charged to the pitcher.
hr_astringHome runs allowed by the pitcher.
wpstringWild pitches charged to the pitcher.
hbstringBatters hit by a pitch from this pitcher.
inh_runstringInherited runners on base when this relief pitcher entered.
inh_run_scorestringInherited runners who subsequently scored.
shastringSacrifice hits allowed by the pitcher.
sfastringSacrifice flies allowed by the pitcher.
tuerstringTeam unearned runs scored while this pitcher was in the game.
pickoffsstringPickoffs.
postringPutouts recorded by the fielder.
astringFielding assists credited to the player.
tcstringTotal chances for the fielder (putouts + assists + errors).
estringErrors charged to the fielder.
cistringTimes the batter reached base on catcher's interference.
pbstringPassed balls charged to the catcher.
sbastringStolen bases allowed while this catcher was behind the plate.
csbstringRunners caught stealing while this catcher was behind the plate.
idpstringTimes the batter grounded into a double play.
tpstringTriple plays the player took part in.
sbapctstringStolen-base success rate allowed by the catcher, as a PROPORTION on 0-1 (e.g. 0.625), not a percentage.
seasonnumber | bigintSeason year.

loadNcaaBaseballSituationalStats​

Release: ncaa_baseball_situational_stats · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_situational_stats/ncaa_baseball_situational_stats_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2024)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballSituationalStats({ seasons: 2025 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_situational_stats(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballSituationalStatsRow (exported from the package root).

col_nametypedescription
contest_idstringstats.ncaa.org contest (game) identifier.
team_seqnumber | bigintSide indicator for the row: 0 and 1 distinguish the two teams in the contest.
playerstring
positionstringPosition the NCAA baseball feed reports for the player.
with_runrsstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- plate appearances with runners on base.
hits_scoreposstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- at-bats with runners in scoring position.
vs_lhpstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- batting against left-handed pitching.
vs_rhpstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- batting against right-handed pitching.
leadoff_pctstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- leadoff batters reaching base; despite the name it is a pair string, not a percentage.
rbi3rdstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- chances to drive in a runner from third.
h_pinchitstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- pinch-hitting appearances.
adv_opsstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- advancing-opportunity situations.
with_2_outsstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- plate appearances with two outs.
with_runrs2stringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- secondary runners-on split emitted by the feed.
with_scorepos2stringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- secondary runners-in-scoring-position split emitted by the feed.
bases_emptystringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- plate appearances with the bases empty.
bases_loadedstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- plate appearances with the bases loaded.
categorystringCategory label.
sourcestringSource.
espn_game_idstring
game_keystringNCAA contest identifier for the game the row belongs to; the join key to the other ncaa_baseball_* tables.
game_datestringGame date (YYYY-MM-DD).
locationstringTeam city/region (e.g. "Los Angeles").
attendancenumber | bigintReported attendance (NA on the redesigned page).
runnersstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- plate appearances with runners on base.
vs_lhbstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- pitching against left-handed batters.
with_2outsstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- two-out split under the feed's second, unpunctuated key (distinct column from with_2_outs).
emtpystringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- bases-empty split under the upstream feed's misspelled key ('emtpy', sic).
with_scoreposstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- plate appearances with runners in scoring position.
with_runners2stringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- secondary runners-on split emitted by the feed alongside with_runrs2.
vs_rhbstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- pitching against right-handed batters.
field_pctstringSituational split as a 'successes-opportunities' pair string (e.g. '5-13'), not a numeric rate -- fielding chances handled cleanly; despite the name it is a pair string, not a fielding percentage.
seasonnumber | bigintSeason year.

loadNcaaBaseballGames​

Release: ncaa_baseball_games · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_games/ncaa_baseball_games_{season}.parquet

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2017)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballGames({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_games(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballGamesRow (exported from the package root).

col_nametypedescription
game_keystringNCAA contest identifier for the game the row belongs to; the join key to the other ncaa_baseball_* tables.
contest_idstringstats.ncaa.org contest (game) identifier.
game_pbp_idstringstats.ncaa.org play-by-play (contest) identifier.
seasonnumber | bigintSeason year.
sourcestringSource.
espn_game_idstring
away_teamstringAway team name.
away_finalnumber | bigintFinal runs scored by the away team.
home_teamstringHome team name.
home_finalnumber | bigintFinal runs scored by the home team.

loadMlbGroups​

Release: mlb_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_groups/mlb_groups.parquet

Coverage

One season-less file: one row per group lineage (the league, subdivisions, conferences, divisions) with the first and last season it had members. group_id is SDV's own id (e.g. mlb:al-east) and names a lineage: a rename that keeps continuity keeps the id, a new body gets a new one, and notes records each call. Seasons are the calendar year.

optiontyperequireddescription
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbGroups();
// snake_case alias (py/R parity): sdv.mlb.load_mlb_groups(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbGroupsRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("mlb"); the prefix of every group_id in it.
group_idstringSDV group id, {league}:{slug}. It names a lineage: renames that keep continuity keep the id, and a new body (a new conference, or a merger the sources treat as new) gets a new one.
levelstringHierarchy level of the group: "league", "subdivision", "conference" or "division".
first_seasonnumberFirst season in which the group had at least one member (calendar year).
last_seasonnumberLast season in which the group had at least one member (calendar year).
notesstringBuilder notes on the group: the lineage decisions behind its group_id and any source caveats.

loadMlbGroupSeasons​

Release: mlb_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_groups/mlb_group_seasons.parquet

Coverage

One season-less file: one row per group per season it existed, with its name, short name, abbreviation and parent group AS OF that season (never today's label applied to the past) and its member count. season is the calendar year.

optiontyperequireddescription
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbGroupSeasons();
// snake_case alias (py/R parity): sdv.mlb.load_mlb_group_seasons(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbGroupSeasonsRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("mlb"); the prefix of every group_id in it.
group_idstringSDV group id, {league}:{slug}. It names a lineage: renames that keep continuity keep the id, and a new body (a new conference, or a merger the sources treat as new) gets a new one.
seasonnumberSeason the row describes (calendar year).
levelstringHierarchy level of the group: "league", "subdivision", "conference" or "division".
namestringFull name of the group as of that season -- the label in use then, not today's name.
short_namestringShort display name of the group as of that season.
abbreviationstringAbbreviation of the group as of that season.
parent_group_idstringgroup_id one level up as of that season (division -> conference -> subdivision -> league); null at the top level or where no higher group applied that season.
n_teamsnumberNumber of member teams in the group that season.

loadMlbGroupAliases​

Release: mlb_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_groups/mlb_group_aliases.parquet

Coverage

One season-less file: every name, abbreviation, slug and source id that a source (espn, mlb) uses for a group, each with the seasons it is valid for (valid_from / valid_to, inclusive; null = unbounded). Match a source's conference or division label here to reach group_id.

optiontyperequireddescription
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbGroupAliases();
// snake_case alias (py/R parity): sdv.mlb.load_mlb_group_aliases(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbGroupAliasesRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("mlb"); the prefix of every group_id in it.
group_idstringSDV group id, {league}:{slug}. It names a lineage: renames that keep continuity keep the id, and a new body (a new conference, or a merger the sources treat as new) gets a new one.
sourcestringSource that uses this label or id (in this table: espn, mlb); "sdv" marks SDV's own labels.
source_idstringThe source's own id for the group (ESPN group id, NCAA conf_id, CFBD id, MLB division id) when it has one; null otherwise.
name_kindstringKind of label in value: "name", "short_name", "abbreviation", "slug" or "code".
valuestringThe label exactly as the source writes it; match a source's conference or division label against it to reach group_id.
valid_fromnumberFirst season the alias is valid for, inclusive (calendar year); null = unbounded.
valid_tonumberLast season the alias is valid for, inclusive (calendar year); null = unbounded (still in use).

loadMlbTeamGroupSeasons​

Release: mlb_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_groups/mlb_team_group_seasons_{season}.parquet

Coverage

One row per team per season: the SDV subdivision, conference and division group ids the team belonged to that season (null where a level does not apply), the team name as of that season, where the membership came from, and whether a second source agreed (null when only one source covers the season). team_id is a string: the ESPN team id where ESPN covers the team, otherwise the MLB Stats API id; team_id_source names the id space. season is the calendar year; seasons 1901-2026.

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 1901)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbTeamGroupSeasons({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_mlb_team_group_seasons(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbTeamGroupSeasonsRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("mlb"); the prefix of every group_id in it.
seasonnumberSeason of the membership (calendar year).
team_idstringTeam id as a string: the ESPN team id where ESPN covers the team, otherwise the league's own id; team_id_source says which.
team_id_sourcestringId space of team_id (in this table: espn, mlb).
team_namestringTeam name as of that season, not today's.
subdivision_idstringSDV group_id of the team's subdivision that season (e.g. FBS / FCS, Division I); null where the league has no subdivision level.
conference_idstringSDV group_id of the team's conference that season; null where the team had no conference (an independent, or a season played without conferences).
division_idstringSDV group_id of the team's division that season; null where the level does not apply.
sourcestringSource the membership was taken from -- the most reliable per-season source for that era.
sources_agreebooleanWhether a second source agreed on the membership; null when only one source covers the season.
notesstringBuilder notes on the team-season, such as a source disagreement or which of several listed memberships was kept.

loadNcaaBaseballGroups​

Release: ncaa_baseball_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_groups/ncaa_baseball_groups.parquet

Coverage

One season-less file: one row per group lineage (the league, subdivisions, conferences, divisions) with the first and last season it had members. group_id is SDV's own id (e.g. ncaa_baseball:acc) and names a lineage: a rename that keeps continuity keeps the id, a new body gets a new one, and notes records each call. Seasons are the calendar year.

optiontyperequireddescription
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballGroups();
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_groups(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballGroupsRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("ncaa_baseball"); the prefix of every group_id in it.
group_idstringSDV group id, {league}:{slug}. It names a lineage: renames that keep continuity keep the id, and a new body (a new conference, or a merger the sources treat as new) gets a new one.
levelstringHierarchy level of the group: "league", "subdivision", "conference" or "division".
first_seasonnumberFirst season in which the group had at least one member (calendar year).
last_seasonnumberLast season in which the group had at least one member (calendar year).
notesstringBuilder notes on the group: the lineage decisions behind its group_id and any source caveats.

loadNcaaBaseballGroupSeasons​

Release: ncaa_baseball_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_groups/ncaa_baseball_group_seasons.parquet

Coverage

One season-less file: one row per group per season it existed, with its name, short name, abbreviation and parent group AS OF that season (never today's label applied to the past) and its member count. season is the calendar year.

optiontyperequireddescription
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballGroupSeasons();
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_group_seasons(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballGroupSeasonsRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("ncaa_baseball"); the prefix of every group_id in it.
group_idstringSDV group id, {league}:{slug}. It names a lineage: renames that keep continuity keep the id, and a new body (a new conference, or a merger the sources treat as new) gets a new one.
seasonnumberSeason the row describes (calendar year).
levelstringHierarchy level of the group: "league", "subdivision", "conference" or "division".
namestringFull name of the group as of that season -- the label in use then, not today's name.
short_namestringShort display name of the group as of that season.
abbreviationstringAbbreviation of the group as of that season.
parent_group_idstringgroup_id one level up as of that season (division -> conference -> subdivision -> league); null at the top level or where no higher group applied that season.
n_teamsnumberNumber of member teams in the group that season.

loadNcaaBaseballGroupAliases​

Release: ncaa_baseball_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_groups/ncaa_baseball_group_aliases.parquet

Coverage

One season-less file: every name, abbreviation, slug and source id that a source (ncaa, sdv) uses for a group, each with the seasons it is valid for (valid_from / valid_to, inclusive; null = unbounded). Match a source's conference or division label here to reach group_id.

optiontyperequireddescription
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballGroupAliases();
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_group_aliases(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballGroupAliasesRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("ncaa_baseball"); the prefix of every group_id in it.
group_idstringSDV group id, {league}:{slug}. It names a lineage: renames that keep continuity keep the id, and a new body (a new conference, or a merger the sources treat as new) gets a new one.
sourcestringSource that uses this label or id (in this table: ncaa, sdv); "sdv" marks SDV's own labels.
source_idstringThe source's own id for the group (ESPN group id, NCAA conf_id, CFBD id, MLB division id) when it has one; null otherwise.
name_kindstringKind of label in value: "name", "short_name", "abbreviation", "slug" or "code".
valuestringThe label exactly as the source writes it; match a source's conference or division label against it to reach group_id.
valid_fromnumberFirst season the alias is valid for, inclusive (calendar year); null = unbounded.
valid_tonumberLast season the alias is valid for, inclusive (calendar year); null = unbounded (still in use).

loadNcaaBaseballTeamGroupSeasons​

Release: ncaa_baseball_groups · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/ncaa_baseball_groups/ncaa_baseball_team_group_seasons_{season}.parquet

Coverage

One row per team per season: the SDV subdivision, conference and division group ids the team belonged to that season (null where a level does not apply), the team name as of that season, where the membership came from, and whether a second source agreed (null when only one source covers the season). team_id is a string: the stats.ncaa.org org id (not an ESPN id); team_id_source names the id space. season is the calendar year; seasons 2010-2026.

optiontyperequireddescription
seasonsnumber | number[]yesseason(s) to load (>= 2010)
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadNcaaBaseballTeamGroupSeasons({ seasons: 2024 });
// snake_case alias (py/R parity): sdv.mlb.load_ncaa_baseball_team_group_seasons(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadNcaaBaseballTeamGroupSeasonsRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("ncaa_baseball"); the prefix of every group_id in it.
seasonnumberSeason of the membership (calendar year).
team_idstringTeam id as a string: the ESPN team id where ESPN covers the team, otherwise the league's own id; team_id_source says which.
team_id_sourcestringId space of team_id (in this table: ncaa_org).
team_namestringTeam name as of that season, not today's.
subdivision_idstringSDV group_id of the team's subdivision that season (e.g. FBS / FCS, Division I); null where the league has no subdivision level.
conference_idstringSDV group_id of the team's conference that season; null where the team had no conference (an independent, or a season played without conferences).
division_idstringSDV group_id of the team's division that season; null where the level does not apply.
sourcestringSource the membership was taken from -- the most reliable per-season source for that era.
sources_agreebooleanWhether a second source agreed on the membership; null when only one source covers the season.
notesstringBuilder notes on the team-season, such as a source disagreement or which of several listed memberships was kept.

loadMlbParkDimensions​

Release: mlb_parks · asset https://github.com/sportsdataverse/sportsdataverse-data/releases/download/mlb_parks/mlb_park_dimensions.parquet

Coverage

One season-less file, seasons 2001 on: one row per MLB venue per season (regular-season, spring-training, neutral and international sites) from the MLB Stats API venues endpoint, with fence distances in feet at MLB's seven markers, capacity, turf, roof, azimuth, elevation and coordinates as of that season. venue_id is a string (the MLB Stats API venue id, venue.id in game feeds); venue_name is the name in use that season. The API lags or misses some fence moves: cited corrections (Camden Yards, Petco Park, T-Mobile Park, Comerica Park, 2022 Rate Field and Progressive Field) are applied and described in notes, which is null on uncorrected rows.

optiontyperequireddescription
columnsstring[]noread only these columns
format"rows" | "columns"norow objects (default) or column arrays
maxCellsnumbernosize guard; default scales with the heap, Infinity disables
timeoutMsnumbernodownload timeout in ms (default 300000)
const rows = await sdv.mlb.loadMlbParkDimensions();
// snake_case alias (py/R parity): sdv.mlb.load_mlb_park_dimensions(...)

Returns (one row per record; every column optional and nullable):

Row type: LoadMlbParkDimensionsRow (exported from the package root).

col_nametypedescription
leaguestringLeague code of the table ("mlb").
seasonnumberSeason the row describes (calendar year, 2001 on).
venue_idstringMLB Stats API venue id (venue.id in MLB game feeds and schedules), published as a string.
venue_namestringVenue name as of that season (e.g. PacBell Park 2001-03, SBC Park 2004-05, AT&T Park 2006-18, Oracle Park 2019-), not today's name.
retro_park_idstringRetrosheet park id (e.g. "BOS07") from the MLB Stats API's cross-reference; null for most spring-training and minor-league parks.
left_line_ftnumberDistance in feet from home plate to the fence at the left-field foul pole.
left_ftnumberDistance in feet from home plate to the fence at MLB's left-field marker.
left_center_ftnumberDistance in feet from home plate to the fence at MLB's left-centre marker; a park may re-label which point this is (Oracle Park's reads 364 through 2019, then the 399 ft deep left-centre).
center_ftnumberDistance in feet from home plate to the fence in straightaway centre field.
right_center_ftnumberDistance in feet from home plate to the fence at MLB's right-centre marker.
right_ftnumberDistance in feet from home plate to the fence at MLB's right-field marker.
right_line_ftnumberDistance in feet from home plate to the fence at the right-field foul pole.
capacitynumberSeating capacity that season.
turf_typestringPlaying surface: "Grass" or "Artificial Turf".
roof_typestringRoof: "Open", "Retractable" or "Dome".
azimuth_degnumberMLB's azimuthAngle: degrees clockwise from north of the line from home plate to centre field (Fenway Park 45, Progressive Field 0).
elevation_ftnumberElevation of the venue in feet above sea level.
latitudenumberLatitude of the venue in decimal degrees.
longitudenumberLongitude of the venue in decimal degrees.
notesstringNull unless a curated correction applies to the row; then which columns changed, from what to what, why, and the citation.

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