GET/mlb/discoveryapiKey1 credit/request
Returns MLB.com's live navigation tree, including hidden nodes labeled with visibility, and the MLB-only value sets for leagues, divisions, game types, roster types, standings types, stat groups, supported stat types, leader categories, MLB Pipeline prospect filters, league-stats hitter positions and player pools, and observed Baseball Savant leaderboard categories and filters including Top Performers, ABS Challenges, Expected Statistics, Outs Above Average, Arm Strength, Arm Value, Home Runs, Percentile Rankings, Pitch Movement, Rolling Windows, Pitcher Arm Angle, Year-to-Year Changes, Catcher Blocking, Catcher Framing, Catcher Throwing, First Base Receiving, and Fielding Run Value. Use these values to discover sections and supported filters before calling MLB endpoints.
Takes no parameters.
Sampled 14 Oct 2026: 90 items. Filled in every item: value. In the sample: value: “ba” and 89 other values.
Open in Playground
GET/mlb/editorial-feedapiKey1 credit/request
Returns a paginated first-party MLB.com news, video, or selection feed. Slugs are dynamic and not a complete closed topic catalog; discover current topic suggestions with mlb-search and sections with mlb-discovery. Feed items retain upstream Article, ShortContent, VSMContent, or Video fields.
Required: slug. Optional: language (2 allowed values: EN_US, ES_US), limit, skip.
Sampled 14 Oct 2026: 40 items. Filled in every item: __typename, _translationId, headline, slug, summary, tags, templateUrl, type and 1 more. Not in every item: topicSlug (5), description (0). In the sample: templateUrl: img.mlbstatic.com; headline: median 63 characters; tags: median 5 entries; summary: median 282 characters.
Open in Playground
GET/mlb/game-boxscoreapiKey1 credit/request
Returns the player box score for an MLB game by numeric `id`. For the home and away teams it lists each player used with position, batting order and batting, pitching and fielding stats, plus team totals.
Required: id.
Sampled 14 Oct 2026: 26 items. Filled in every item: person, position, stats. Not in every item: batting_order (11). In the sample: position: Pitcher (13), Outfielder (4), Third Base (2) and 5 more; batting_order: 100 to 900, median 500.
Open in Playground
GET/mlb/game-play-by-playapiKey2 credits/request
Returns the at-bats of an MLB game by numeric `id`. Each play has its inning and half, batter, pitcher, event and description, and a list of individual pitch and event records with timing and pitch data. The response includes a `total` count of plays.
Required: id.
Sampled 14 Oct 2026: 63 items. Filled in every item: at_bat_index, event, event_type, description, inning, half_inning, is_complete, batter and 2 more. In the sample: event_type: field_out (28), strikeout (18), single (6) and 5 more; inning: 1 to 9, median 5; event: “Groundout” and 10 other values; is_complete: true in 63 of 63; events: median 5 entries; description: “Paul Goldschmidt grounds out, third baseman Pedro Ramírez t…” and 56 other values; half_inning: top (32), bottom (31).
Open in Playground
GET/mlb/gameapiKey2 credits/request
Returns an MLB game summary by numeric `id`. The response has the status, both teams with records and score, inning-by-inning runs, probable pitchers, winning, losing and save pitchers, and team box-score totals. It does not include the full play-by-play. Use the play-by-play endpoint for that.
Required: id.
Sampled 14 Oct 2026: 31 fields returned with a value. In the sample: game.official_date: 2026-08-01; game.season: 2,026; game.game_type: “R”; linescore.innings: 9 entries; game.game_date: 2026-08-01; linescore.current_inning: 9; linescore.inning_state: “Top”; linescore.scheduled_innings: 9.
Open in Playground
GET/mlb/league-leadersapiKey1 credit/request
Returns ranked MLB leader entries for one or more validated categories. Use mlb-discovery for all accepted categories, groups, and game type codes.
Required: categories. Optional: season, group (8 allowed values: hitting, pitching, fielding, catching, running, game, team, streak), game_type (11 allowed values: S, R, F, D, L, W, C, P, A, I, E), league_id (2 allowed values: 103, 104), limit.
Sampled 14 Oct 2026: 1 item. Filled in every item: category, group, season, game_type, total, leaders. In the sample: category: “homeRuns”; leaders: median 40 entries; group: “hitting”; game_type: “R”.
Open in Playground
GET/mlb/league-statsapiKey1 credit/request
Returns ranked MLB stat splits across both leagues. `group` is required (`hitting`, `pitching`, `fielding`, `catching`, `running`, `game`, `team` or `streak`). `season` defaults to the current year and `stat_type` to `season`. Narrow with `league_id`, `team_id`, `position`, `player_pool`, and page with `limit` (1 to 100) and `offset` (0 to 10000).
Required: group (8 allowed values: hitting, pitching, fielding, catching, running, game, team, streak). Optional: season, stat_type (59 allowed values, including projected, projectedRos, yearByYear, yearByYearAdvanced, yearByYearPlayoffs, season, standard, advanced, career, careerRegularSeason, careerAdvanced, seasonAdvanced, careerStatSplits, careerPlayoffs, gameLog, playLog, pitchLog, pitchArsenal, outsAboveAverage, expectedStatistics, sabermetrics, sprayChart, tracking, vsPlayer, vsPlayerTotal, vsPlayer5Y, vsTeam, vsTeam5Y, vsTeamTotal, lastXGames, byDateRange, byDateRangeAdvanced, byMonth, byMonthPlayoffs, byDayOfWeek, byDayOfWeekPlayoffs, homeAndAway, homeAndAwayPlayoffs, winLoss, winLossPlayoffs), game_type (11 allowed values: S, R, F, D, L, W, C, P, A, I, E), start_date, end_date, opponent_team_id, opponent_player_id, league_id (2 allowed values: 103, 104), team_id, position (11 allowed values: C, 1B, 2B, 3B, SS, LF, CF, RF, DH, OF, IF), player_pool (2 allowed values: QUALIFIED, ALL), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: rank, season, player, team, league, position, stats. In the sample: position: Outfielder (17), First Base (6), Catcher (4) and 4 more; rank: 1 to 40, median 20.
Open in Playground
GET/mlb/player-statsapiKey1 credit/request
Returns one MLB player's statistics. `id` and `group` (`hitting`, `pitching`, `fielding`, `catching`, `running`, `game`, `team` or `streak`) are required. `season` defaults to the current year and `stat_type` to `season`. Other `stat_type` values cover career, game logs and splits. Use `start_date` with `end_date` for date ranges.
Required: id, group (8 allowed values: hitting, pitching, fielding, catching, running, game, team, streak). Optional: season, stat_type (59 allowed values, including projected, projectedRos, yearByYear, yearByYearAdvanced, yearByYearPlayoffs, season, standard, advanced, career, careerRegularSeason, careerAdvanced, seasonAdvanced, careerStatSplits, careerPlayoffs, gameLog, playLog, pitchLog, pitchArsenal, outsAboveAverage, expectedStatistics, sabermetrics, sprayChart, tracking, vsPlayer, vsPlayerTotal, vsPlayer5Y, vsTeam, vsTeam5Y, vsTeamTotal, lastXGames, byDateRange, byDateRangeAdvanced, byMonth, byMonthPlayoffs, byDayOfWeek, byDayOfWeekPlayoffs, homeAndAway, homeAndAwayPlayoffs, winLoss, winLossPlayoffs), game_type (11 allowed values: S, R, F, D, L, W, C, P, A, I, E), start_date, end_date, opponent_team_id, opponent_player_id.
Sampled 14 Oct 2026: 1 item. Filled in every item: season, player, team, league, stats.
Open in Playground
GET/mlb/playerapiKey1 credit/request
Returns an MLB player by numeric `id`. The response has the full name, position, bats and throws sides, birth date, city and country, current age, height, weight, jersey number, MLB debut date, active flag and current team. Unknown players return `404`.
Required: id.
Sampled 14 Oct 2026: 16 fields returned with a value. In the sample: player.birth_date: 1992-04-26; player.primary_number: 99; player.birth_city: “Linden”; player.active: true; player.birth_country: “USA”; player.weight: 282; player.current_age: 34; player.mlb_debut_date: 2016-08-13.
Open in Playground
GET/mlb/prospect-rankingsapiKey2 credits/request
Returns MLB Pipeline's curated Top 100, Top 30 by Team, Top 10 by Position, Draft Top 200, or International Top 50 ranking. The anonymous first-party page embeds full ranked data. Search, sort, team filtering on Top 100, and pagination are applied to the extracted rows. Use mlb_discovery for the exact view, year, team, position, and sort values.
Optional: view (5 allowed values: top100, team, position, draft, international), year (16 allowed values: 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2011, 2012), team_slug, position (8 allowed values: 1b, 2b, ss, 3b, c, of, rhp, lhp), team_filter, q, sort (4 allowed values: rank, level, eta, age), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: rank, player_id, name, slug, position, team_id, team, level and 10 more. Not in every item: affiliate_id (35), affiliate (35), draft_year (25), draft_round (25), draft_pick (25), school (23), college (9). In the sample: birth_date: 2002-12-29 to 2008-12-13; level: AA (19), A (6), A+ (6) and 2 more; rank: 1 to 40, median 20; name: “Jesús Made” and 39 other values; headshot_url: img.mlbstatic.com; position: “SS” and 9 other values; team: “Milwaukee Brewers” and 23 other values; affiliate: “Biloxi Shuckers” and 28 other values.
Open in Playground
GET/mlb/prospect-statsapiKey1 credit/request
Returns MLB Pipeline prospect stats from the anonymous first-party prospect tables. Supports the Top 100, all-prospect, or one-team list; batter/pitcher views; validated date periods and minimum thresholds; and local name/position filters. Use mlb_discovery for date periods, minimum thresholds, and positions. Team ids come from mlb_teams.
Optional: list_type (2 allowed values: top100, all), team_id, date_range (13 allowed values: today, 1day, 10day, 30day, springTraining, Year2019, Year2020, Year2021, Year2022, Year2023, Year2024, Year2025, Year2026), player_type (2 allowed values: batters, pitchers), min_pa (9 allowed values: 1, 5, 10, 25, 50, 100, 150, 200, 250), position (8 allowed values: 1b, 2b, ss, 3b, c, of, rhp, lhp), q, limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: name, player_id, age, position, rank, team, team_id, team_level and 3 more. In the sample: position: SS (19), OF (6), C (5) and 5 more; age: 17 to 23, median 20; name: “Jesús Made” and 39 other values; rank: 1 to 54, median 23; team: “mil” and 22 other values; team_level: ALL (2) (22), ALL (3) (8), A (4) and 4 more; average: “.271” and 36 other values.
Open in Playground
GET/mlb/scheduleapiKey1 credit/request
Returns MLB games, teams, scores, status, probable pitchers, venue, and series information for one date or date range, optionally filtered to a team.
Optional: date, start_date, end_date, team_id, game_type (11 allowed values: S, R, F, D, L, W, C, P, A, I, E).
Sampled 14 Oct 2026: 15 items. Filled in every item: id, official_date, game_date, season, game_type, game_number, double_header, day_night and 6 more. In the sample: official_date: 2026-08-01; day_night: night (11), day (4); game_date: 2026-08-01 to 2026-08-02.
Open in Playground
GET/mlb/searchapiKey1 credit/request
Returns the same anonymous MLB typeahead categories used by MLB.com: player suggestions, team suggestions, content topics, and search terms. Queries need at least three characters.
Required: q.
Sampled 14 Oct 2026: 8 items. Filled in every item: name, fields, slug. In the sample: name: “Yankees Beyond the Diamond” and 7 other values; fields: median 1 entry.
Open in Playground
GET/mlb/standingsapiKey1 credit/request
Returns American League and National League standings, including source-provided expected, home/away, last-ten, ranking, and elimination fields when available, using any supported standings type returned by mlb_discovery.
Optional: season, type (13 allowed values: regularSeason, wildCard, divisionLeaders, wildCardWithLeaders, firstHalf, secondHalf, springTraining, postseason, byDivision, byConference, byLeague, byOrganization, currentHalf), date.
Sampled 14 Oct 2026: 6 items. Filled in every item: league, division, type, teams. In the sample: teams: median 5 entries.
Open in Playground
GET/mlb/statcast-abs-challengesapiKey2 credits/request
Returns Baseball Savant's ABS challenge table with repeated season, game type, split, challenging-team, opponent-team, pitch-type, and shadow-zone filters, plus challenger type, level, thresholds, leverage, pitch location, breakeven, and split-year controls. Filter values are live-verified and listed by /mlb/discovery. The entire filtered table is returned; UI-only drawer details and client-side sorting are not separate source filters.
Optional: challenge_type (7 allowed values: batter, batting-team, catcher, pitcher, catching-team, team-summary, league), seasons, game_types, data_mode (2 allowed values: for, against), data_count (2 allowed values: chal, runs), min_challenges (6 allowed values: 0, 1, 2, 5, 10, 20), min_opponent_challenges (6 allowed values: 0, 1, 2, 5, 10, 20), level (2 allowed values: mlb, aaa), leverage (4 allowed values: vlow, low, med, high), ball_strike (2 allowed values: in, out), breakeven (4 allowed values: low, med, high, vhigh), split_year (2 allowed values: 0, 1), splits, challenge_team_ids, opponent_team_ids, pitch_types, shadow_zones.
Sampled 14 Oct 2026: 526 items. Not in every item: cost_vs_exp (500), cost_vs_exp_against (500), exp_chal (500), exp_chal_against (500), exp_chal_gained (500), exp_chal_gained_against (500), exp_chal_lost (500), exp_chal_lost_against (500) and 32 more. In the sample: cost_vs_exp: -0.68 to 0.29, median 0.02; cost_vs_exp_against: -0.31 to 0.25, median 0; exp_chal: 0.34 to 26.83, median 7.51; exp_chal_against: 0.07 to 32.9, median 8.39; exp_chal_gained: 0 to 14.12, median 3.58; exp_chal_gained_against: 0 to 22.84, median 4.84; exp_chal_lost: 0.1 to 15.23, median 3.85; exp_chal_lost_against: 0 to 14.7, median 3.64.
Open in Playground
GET/mlb/statcast-active-spinapiKey2 credits/request
Returns pitcher Active Spin table rows for the selected season/calculation method, minimum pitch count, and throwing hand. Table sorting and pagination are applied locally. The player search only highlights pitchers in the first-party SVG visualization; the SVG chart and CSV download remain outside this JSON table contract.
Optional: year (17 allowed values: 2026_spin-based, 2026_observed, 2025_spin-based, 2025_observed, 2024_spin-based, 2024_observed, 2023_spin-based, 2023_observed, 2022_spin-based, 2022_observed, 2021_spin-based, 2021_observed, 2020_spin-based, 2020_observed, 2019_observed, 2018_observed, 2017_observed), min (10 allowed values: 50, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000), hand (2 allowed values: R, L), sort (12 allowed values: name_display_last_first, team_id, pitch_hand, formatted_active_spin_fourseam, formatted_active_spin_sinker, formatted_active_spin_cutter, formatted_active_spin_changeup, formatted_active_spin_splitter, formatted_active_spin_curve, formatted_active_spin_slider, formatted_active_spin_sweeper, formatted_active_spin_slurve), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: calc_method, file_code, is_sport_minors, is_sport_mlb, n, name_abbrev, name_display_club, name_display_first_last and 1 more. Not in every item: active_spin_changeup (20), active_spin_curve (13), active_spin_cutter (19), active_spin_fourseam (22), active_spin_sinker (23), active_spin_slider (27), active_spin_slurve (1), active_spin_splitter (9) and 23 more. In the sample: active_spin_changeup: 59 to 99.3, median 86.7; name_abbrev: “TOR” and 21 other values; active_spin_curve: 37.8 to 95.6, median 75.5; active_spin_cutter: 22.4 to 80.6, median 58.5; active_spin_fourseam: 98.9 to 99.7, median 99.3; active_spin_sinker: 58.7 to 99.6, median 88.6; active_spin_slider: 10.6 to 64.2, median 29.6; active_spin_splitter: 69.4 to 94.8, median 88.5.
Open in Playground
GET/mlb/statcast-arm-angleapiKey2 credits/request
Returns Pitcher Arm Angle table rows and the matching MLB-average reference. Supports season, team, game type, pitch type, hand, batter side, pitch-count thresholds, date range, and up to four group-by selectors. Table sorting and pagination run locally. Visualization-only controls, animation, and CSV output are separate formats.
Optional: seasons, teams, game_types, pitch_types, pitch_hand (2 allowed values: L, R), bat_side (2 allowed values: L, R), min (14 allowed values: q, 1, 5, 10, 25, 50, 100, 300, 500, 1000, 1500, 2000, 2500, 3000), min_group_pitches (11 allowed values: 1, 5, 10, 25, 50, 100, 300, 500, 1000, 1500, 2000), group_by, date_start, date_end, sort (10 allowed values: name, team_name, pitch_hand, n_pitches, arm_angle, release_ball_x, relative_release_ball_x, release_ball_z, relative_shoulder_x, shoulder_z), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: arm_angle, id, n_pitches, n_teams, name, p_name_display_first_last, pitch_hand, pitcher and 8 more. In the sample: pitch_hand: R (24), L (16); arm_angle: 49.24 to 69, median 54.36; name: “Vesia, Alex” and 39 other values; n_pitches: 22 to 1,414, median 583; n_teams: 1 to 3, median 1; p_name_display_first_last: “Vesia, Alex” and 39 other values; pitcher: 607,192 to 804,267, median 670,950; release_ball_z: 5.69 to 7.06, median 6.12.
Open in Playground
GET/mlb/statcast-arm-strength-playerapiKey1 credit/request
Returns the individual Arm Strength throw records for one player, by positive `player_id`. `year` can be 2020 to 2026, or `9999` for all years, and defaults to the current verified season. Each throw has its year, fielder id, position, the measured arm-strength value and a play id.
Required: player_id. Optional: year (8 allowed values: 2020, 2021, 2022, 2023, 2024, 2025, 2026, 9999).
Sampled 14 Oct 2026: 378 items. Filled in every item: fielder_id, metric, play_id, pos, year. Not in every item: pos_role (377). In the sample: metric: 22.53 to 88.87, median 48.79; pos: 3 to 9, median 3; pos_role: 3 to 9, median 3.
Open in Playground
GET/mlb/statcast-arm-strengthapiKey2 credits/request
Returns the player or team Arm Strength leaderboard with verified year, team, position metric, minimum throws, local sort, and pagination filters. The player detail route returns individual throw records.
Optional: type (2 allowed values: player, team), year (8 allowed values: 2020, 2021, 2022, 2023, 2024, 2025, 2026, 9999), team_id (30 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147), position (9 allowed values: arm_inf, arm_of, arm_1b, arm_2b, arm_3b, arm_ss, arm_lf, arm_cf, arm_rf), min_throws (5 allowed values: 50, 100, 300, 500, 1000), sort (14 allowed values: fielder_name, team_name, total_throws, max_arm_strength, arm_overall, arm_inf, arm_of, arm_1b, arm_2b, arm_3b, arm_ss, arm_lf, arm_cf, arm_rf), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 3 items. Filled in every item: arm_inf, arm_overall, arm_ss, fielder_name, fld_name_display_club, fld_team_id, fld_team_id_display, group_category and 20 more. Not in every item: arm_2b (1), arm_1b (0), arm_3b (0), arm_cf (0), arm_lf (0), arm_of (0), arm_rf (0). In the sample: arm_inf: 78.5 to 85.9, median 81.9; fielder_name: “Caballero, José” and 2 other values; arm_overall: 78.5 to 85.9, median 81.9; arm_ss: 79 to 85.9, median 81.5; fld_name_display_club: “Yankees”; group_category: “Annual Fielder Team Summary”; max_arm_strength: 83.1 to 91.5, median 89.8; primary_pos_name: “Shortstop”.
Open in Playground
GET/mlb/statcast-arm-value-detailsapiKey1 credit/request
Returns the game-level play details displayed when expanding a Run, Fld, or Pit player row in the Arm Value leaderboard. Pass the leaderboard filters used to produce the selected row.
Required: entity_id. Optional: type (3 allowed values: Run, Fld, Pit), game_type (3 allowed values: Regular, Playoff, All), key_base_out (11 allowed values: All, r10_to_2b_210, r10_to_3b_210, r11_to_3b_10, r11_to_3b_2, r11_to_hp_10, r11_to_hp_2, r12_to_hp_10, r12_to_hp_2, r13_to_hp_0, r13_to_hp_1), minimum_opps (13 allowed values: top, 1, 5, 10, 20, 30, 40, 50, 75, 100, 250, 500, 1000), start_year, end_year, split (2 allowed values: no, yes), team_id (31 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147, split), with_team_only (2 allowed values: 1, 0).
Sampled 14 Oct 2026: 313 items. Filled in every item: base_out_text, entity_id, fielder_runs, game_date, is_att_xb, is_success_xb, play_id, result and 1 more. In the sample: game_date: 2026-03-26 to 2026-09-27; result: Hold (220), Safe (88), Out (5); fielder_runs: -0.25 to 0.88, median 0; base_out_text: “Batter 1B, Going for 2B” and 8 other values; is_att_xb: 0 to 1, median 0; is_success_xb: 0 to 1, median 0; runner_runs: -0.88 to 0.25, median 0.
Open in Playground
GET/mlb/statcast-arm-valueapiKey2 credits/request
Returns the Arm Value section's complete embedded table, including its Run, Fld, Pit, team, and league views, filters, local sorting, and pagination. Expanded player rows are available from mlb-statcast-arm-value-details. The JSON rows contain the same selected records as the upstream CSV export.
Optional: q, type (6 allowed values: Run, Fld, Pit, Batting Team, Pitching Team, League), game_type (3 allowed values: Regular, Playoff, All), key_base_out (11 allowed values: All, r10_to_2b_210, r10_to_3b_210, r11_to_3b_10, r11_to_3b_2, r11_to_hp_10, r11_to_hp_2, r12_to_hp_10, r12_to_hp_2, r13_to_hp_0, r13_to_hp_1), minimum_opps (13 allowed values: top, 1, 5, 10, 20, 30, 40, 50, 75, 100, 250, 500, 1000), start_year, end_year, split (2 allowed values: no, yes), team_id (31 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147, split), with_team_only (2 allowed values: 1, 0), sort (21 allowed values: entity_name, team_name, start_year, runner_runs, fielder_runs, runner_runs_swipe, runner_runs_snipe, runner_runs_freeze, fielder_runs_swipe, fielder_runs_snipe, fielder_runs_freeze, n_opp_xb, n_att_xb, rate_att_xb, est_rate_att_generic_runner, est_rate_att_generic_fielder, rate_att_xb_diff_runner, rate_att_xb_diff_fielder, n_safe, rate_safe, rate_safe_per_attempt), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 7 items. Filled in every item: end_year, entity_code, entity_id, entity_name, est_rate_att_generic_fielder, est_rate_att_generic_runner, fielder_runs, fielder_runs_freeze and 26 more. In the sample: est_rate_att_generic_fielder: 0.31 to 0.4, median 0.36; entity_name: “Bellinger, Cody” and 6 other values; team_image_url: mlbstatic.com; est_rate_att_generic_runner: 0.32 to 0.41, median 0.34; fielder_runs: -0.9 to 2.87, median -0.25; fielder_runs_freeze: 0.97 to 3.82, median 2.1; fielder_runs_snipe: 0 to 5.03, median 0.82; fielder_runs_swipe: -5.21 to -1.73, median -2.56.
Open in Playground
GET/mlb/statcast-baserunningapiKey2 credits/request
Returns Baseball Savant Baserunning Run Value, Basestealing, or Extra Bases Taken tables. All filter value sets were read from the live first-party controls; rows are embedded in the page response and searched, sorted, and paged locally. Use mlb_discovery.statcast_baserunning_filters for board-specific groups, thresholds, and sort fields. CSV and visual expansion modes are excluded; this returns the underlying JSON table rows.
Required: board (3 allowed values: baserunning-run-value, basestealing-running-game, baserunning). Optional: type (7 allowed values: Run, Bat, Batting Team, Pitching Team, Fld, Pit, League), game_type (3 allowed values: Regular, Playoff, All), season_start (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), split (2 allowed values: no, yes), n (16 allowed values: q, top, 1, 5, 10, 20, 30, 40, 50, 75, 100, 250, 500, 1000, 1500, 2000), team (31 allowed values: split, 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147), with_team_only, pitch_hand (3 allowed values: all, L, R), runner_moved (4 allowed values: All, Advance, Out, Hold), target_base (3 allowed values: All, 2B, 3B), prior_pk (5 allowed values: All, 0, 1, 2, 3), key_base_out (11 allowed values: All, r10_to_2b_210, r10_to_3b_210, r11_to_3b_10, r11_to_3b_2, r11_to_hp_10, r11_to_hp_2, r12_to_hp_10, r12_to_hp_2, r13_to_hp_0, r13_to_hp_1), sort (67 allowed values, including entity_name, team_name, start_year, N_runner_moved, N_runner_moved_SBX, N_runner_moved_XB, runner_runs_SB2, runner_runs_SB3, runner_runs_SBX, runner_runs_XB, runner_runs_XB_freeze, runner_runs_XB_snipe, runner_runs_XB_swipe, runner_runs_tot, simple_stolen_on_running_act_SB2, simple_stolen_on_running_act_SB3, bk, catcher_name, cs, entity_id, fb, fielder_name, game_date, n_bk, n_cs, n_fb, n_init, n_minus, n_pk, n_plus, n_sb, net_act_minus, net_act_plus, pitcher_name, pk, r_primary_lead, r_primary_lead_sbx, r_sec_minus_prim_lead, r_sec_minus_prim_lead_sbx, r_secondary_lead), sort_dir (2 allowed values: asc, desc), search, limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: N_runner_moved, N_runner_moved_SBX, N_runner_moved_XB, N_runner_moved_max_noentity, end_year, end_year_upper, entity_id, entity_name and 21 more. In the sample: N_runner_moved: 35 to 120, median 69; entity_name: “Carroll, Corbin” and 39 other values; N_runner_moved_SBX: 5 to 48, median 23; N_runner_moved_XB: 16 to 77, median 47; num_teams: 1 to 2, median 1; runner_runs_SB2: -0.38 to 4.72, median 1.8; runner_runs_SB3: -0.46 to 2.12, median 0.24; runner_runs_SBX: -0.52 to 5.5, median 2.12.
Open in Playground
GET/mlb/statcast-bat-trackingapiKey2 credits/request
Returns batter, batting-team, pitcher, pitching-team, or league bat-tracking rows with the live page's season, game type, swing threshold, date, side, contact, attack zone, team, pitch, count, and grouping filters. Use mlb_discovery for the same complete value sets. Multi-value filters are passed as repeated query parameters.
Optional: type (5 allowed values: batter, batting-team, pitcher, pitching-team, league), season_start (4 allowed values: 2023, 2024, 2025, 2026), season_end (4 allowed values: 2023, 2024, 2025, 2026), game_type (3 allowed values: Any, Playoff, Regular), min_swings (10 allowed values: q, 1, 5, 10, 25, 50, 100, 200, 500, 1000), min_group_swings (9 allowed values: 1, 5, 10, 25, 50, 100, 200, 500, 1000), date_start, date_end, bat_side (2 allowed values: L, R), contact_type (3 allowed values: 2, 4, 9), is_hard_hit (2 allowed values: 1, 0), attack_zone (5 allowed values: 0, 1, 1.1, 2, 3), pitch_hand (2 allowed values: L, R), teams, pitch_types, counts, group_by, sort (47 allowed values, including avg_batter_x_position, avg_batter_y_position, avg_intercept_x_vs_batter, avg_intercept_y_vs_batter, avg_foot_sep0, avg_foot_angle0, attack_direction_pullopp, rate_ideal_attack_angle, attack_angle, avg_plane_vertical_angle, avg_sweetspot_speed_mph, avg_sweetspot_speed_mph_qualified, avg_is_sweetspot_speed_high, avg_is_sweetspot_speed_high_qualified, squared_up, squared_up_qualified, squared_up_per_bat_contact, squared_up_per_swing, squared_up_with_speed, squared_up_with_speed_qualified, squared_up_with_speed_per_bat_contact, squared_up_with_speed_per_swing, swing_length_qualified, swords, swings_qualified, percent_qualified, hit_into_play_qualified, bat_contact, bat_contact_qualified, count, delta_run_exp, hit_into_play_per_swing, pitcher_delta_run_exp, strikes_swinging_qualified, sweetspot_speed_high_qualified, strike_swinging_per_swing, id, name, batter_name, b_name_display_first_last), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: attack_angle, attack_direction_pullopp, avg_batter_x_position, avg_batter_y_position, avg_foot_angle0, avg_foot_sep0, avg_intercept_x_vs_batter, avg_intercept_y_vs_batter and 32 more. In the sample: bat_side_formatted: L (19), R (18), S (3); attack_angle: 1.1 to 19.39, median 10.04; b_name_display_first_last: “Caminero, Junior” and 39 other values; attack_direction_pullopp: -16.05 to 6.14, median -2.76; avg_foot_angle0: -44.55 to 4.45, median -10.7; avg_foot_sep0: 18.11 to 39.95, median 28.71; avg_is_sweetspot_speed_high: 0.41 to 0.78, median 0.54; avg_is_sweetspot_speed_high_qualified: 0.46 to 0.85, median 0.59.
Open in Playground
GET/mlb/statcast-batted-ballapiKey2 credits/request
Returns the Batted Ball Profile table for batters, batting teams, pitchers, pitching teams, or league totals. Supports first-party season, game type, split, team, date, side, hand, pitch type, event threshold, and split-group threshold filters. The All-Star A game type is accepted by the live page query although its checkbox is hidden. Sorting and pagination are local. The league-average reference row is returned separately when requested; CSV and visualization controls are outside this JSON contract.
Optional: type (5 allowed values: batter, batting-team, pitcher, pitching-team, league), seasons, game_types, splits, min (10 allowed values: q, 1, 5, 10, 25, 50, 100, 200, 500, 1000), min_split (9 allowed values: 1, 5, 10, 25, 50, 100, 200, 500, 1000), split_year (2 allowed values: 1, 0), teams, date_start, date_end, bat_side (2 allowed values: L, R), pitch_hand (2 allowed values: L, R), pitch_types, include_league_average, sort (17 allowed values: name, team_name, num_bbe, gb_rate, air_rate, fb_rate, ld_rate, pu_rate, pull_rate, straight_rate, oppo_rate, pull_gb_rate, straight_gb_rate, oppo_gb_rate, pull_air_rate, straight_air_rate, oppo_air_rate), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: air_rate, b_name_display_first_last, fb_rate, gb_rate, id, ld_rate, n_teams, name and 15 more. In the sample: air_rate: 0.59 to 0.74, median 0.66; b_name_display_first_last: “Crow-Armstrong, Pete” and 39 other values; fb_rate: 0.23 to 0.43, median 0.33; gb_rate: 0.26 to 0.41, median 0.34; ld_rate: 0.18 to 0.31, median 0.23; n_teams: 1 to 2, median 1; name: “Crow-Armstrong, Pete” and 39 other values; num_bbe: 151 to 524, median 317.
Open in Playground
GET/mlb/statcast-birthday-indexapiKey2 credits/request
Returns today's birthday tables for batters and pitchers plus the selected upcoming-birthday table. Type and minimum-games are first-party filters; date must fall inside the live page's season date range. The active-player toggle, sorting, and pagination are applied locally. The MLB Terms of Use notes a private, non-commercial-use boundary and restrictions on redistribution; this endpoint exposes statistical rows only and excludes media, graphics, and CSV.
Optional: type (2 allowed values: batter, pitcher), min_games (6 allowed values: 1, 2, 3, 5, 8, 10), date, show_inactives, sort (26 allowed values: player_name, is_player_active, birth_day_noyear_sort_hidden, age, daysUntil, birthday_index, birthday_games, birthday_pa, birthday_hits, birthday_hit_1b, birthday_hit_2b, birthday_hit_3b, birthday_hit_hr, birthday_strikeout, birthday_k_percent, birthday_walk, birthday_bb_percent, birthday_BA, non_birthday_BA, birthday_BA_diff, birthday_OPS, non_birthday_OPS, birthday_OPS_diff, birthday_wOBA, non_birthday_wOBA, birthday_wOBA_diff), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 7 items. Filled in every item: actual_birthday, age, birth_day_noyear, birth_day_noyear_sort_hidden, birthday_BA, birthday_BA_diff, birthday_OPS, birthday_OPS_diff and 28 more. In the sample: actual_birthday: 1939-05-02 to 1996-05-02; age: 30 to 87, median 41; dateString: “May 2, 1954” and 6 other values; isBirthday: true in 0 of 7; birth_day_noyear_sort_hidden: 2026-05-02; birthday_BA: 0.13 to 0.42, median 0.33; birthday_BA_diff: -0.12 to 0.16, median 0.11; birthday_OPS: 0.43 to 1.42, median 0.83.
Open in Playground
GET/mlb/statcast-catcher-blocking-detailsapiKey2 credits/request
Expands a Catcher Blocking Cat, Pit, or Pitching Team table row into paginated play-location events. entity_id must come from the matching leaderboard rows and other filters must match that row query. League rows have no detail feed.
Required: entity_id. Optional: type (3 allowed values: Cat, Pit, Pitching Team), game_type (3 allowed values: Regular, Playoff, All), start_year, end_year, split (2 allowed values: yes, no), team, with_team_only, limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: api_pitch_type_subgroup, api_plate_time, bat_side, bin_x_runner_pbwp, catcher_id, catcher_name, game_date, game_pk and 20 more. In the sample: game_date: 2026-03-31 to 2026-09-13; api_pitch_type_subgroup: Fastball (18), Slider (13), Changeup (5) and 1 more; api_plate_time: 0.38 to 0.5, median 0.42; bat_side: R (26), L (14); game_pk: 823,077 to 824,559, median 823,495; is_pitch_ground: 0 to 1, median 0; is_runner_pbwp: 0 to 1, median 0; location_z: 0 to 4.25, median 2.02.
Open in Playground
GET/mlb/statcast-catcher-blockingapiKey2 credits/request
Returns catcher, pitcher, catching-team, or league Catcher Blocking rows. Filters cover game type, season range, minimum opportunities, team/stint, and local table sorting. Use mlb_discovery for the exact filter sets. Row detail events are available from mlb-statcast-catcher-blocking-details; chart playback and CSV export controls are not data rows.
Optional: type (4 allowed values: Cat, Pit, Pitching Team, League), game_type (3 allowed values: Regular, Playoff, All), min (11 allowed values: q, 1, 50, 100, 250, 500, 1000, 2000, 3000, 4000, 5000), start_year, end_year, split (2 allowed values: yes, no), team, with_team_only, sort (15 allowed values: entity_name, team_name, start_year, N, catcher_runs, diff_runner_pbwp, N_runner_pbwp, x_runner_pbwp, diff_rate_runner_pbwp, freq_pbwp_1_easy, freq_pbwp_2_medium, freq_pbwp_3_tough, diff_runner_pbwp_1_easy, diff_runner_pbwp_2_medium, diff_runner_pbwp_3_tough), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: N, N_runner_pbwp, catcher_runs, diff_rate_runner_pbwp, diff_runner_pbwp, diff_runner_pbwp_1_easy, diff_runner_pbwp_2_medium, diff_runner_pbwp_3_tough and 13 more. In the sample: N: 987 to 4,812, median 2,522; entity_name: “Kirk, Alejandro” and 39 other values; N_runner_pbwp: 3 to 32, median 18; catcher_runs: 0 to 4, median 1; diff_rate_runner_pbwp: -0.05 to 0.22, median 0.05; diff_runner_pbwp: -1 to 15, median 4; diff_runner_pbwp_1_easy: -4.41 to 9.91, median 2.2; diff_runner_pbwp_2_medium: -2.74 to 7.13, median 1.33.
Open in Playground
GET/mlb/statcast-catcher-framing-detailsapiKey2 credits/request
Returns paginated pitch events for a Catcher Framing entity_id. Repeat the leaderboard filters used to obtain the entity; league aggregate rows have no detail feed. The upstream detail response may be large, so use limit and offset.
Required: entity_id. Optional: type (5 allowed values: catcher, catching-team, batter, batting-team, pitcher), game_type (3 allowed values: Any, Playoff, Regular), team (30 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147), min_pitches (8 allowed values: q, 100, 250, 500, 750, 1000, 1250, 1500), min_results (10 allowed values: 1, 25, 50, 100, 250, 500, 750, 1000, 1250, 1500), season_start (9 allowed values: 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (9 allowed values: 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), date_start, date_end, bat_side (2 allowed values: L, R), pitch_hand (2 allowed values: L, R), pitch_type (12 allowed values: FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN), ball_strike (2 allowed values: in, out), call (2 allowed values: original, final), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: api_pitch_type_group03, api_relative_plate_x, api_relative_plate_z, b_name_display_first_last, bat_team_id, called_strike_prob, catcher_framing_runs, edge_dist_calc and 17 more. In the sample: game_date: 2026-04-01 to 2026-09-26; api_pitch_type_group03: SI (12), FF (11), ST (5) and 4 more; api_relative_plate_z: -1.29 to 1.3, median -0.3; b_name_display_first_last: “Hernández, Heriberto” and 34 other values; called_strike_prob: 0 to 0.14, median 0.09; catcher_framing_runs: 0.11 to 0.12, median 0.11; edge_dist_calc: 0.52 to 3.2, median 1.9; event_inning: 1 to 9, median 4.
Open in Playground
GET/mlb/statcast-catcher-framingapiKey2 credits/request
Returns the Catcher Framing table for catcher, catching-team, batter, batting-team, pitcher, or league groups. Supports observed game, season, one-team, pitch/result minimum, date, bat-side, pitch-hand, pitch-type, ball/strike, and call-model filters, plus local sort and pagination. Use mlb_discovery for exact enum values; chart-only groupings and player comparison controls are excluded.
Optional: type (6 allowed values: catcher, catching-team, batter, batting-team, pitcher, league), game_type (3 allowed values: Any, Playoff, Regular), team (30 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147), min_pitches (8 allowed values: q, 100, 250, 500, 750, 1000, 1250, 1500), min_results (10 allowed values: 1, 25, 50, 100, 250, 500, 750, 1000, 1250, 1500), season_start (9 allowed values: 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (9 allowed values: 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), date_start, date_end, bat_side (2 allowed values: L, R), pitch_hand (2 allowed values: L, R), pitch_type (12 allowed values: FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN), ball_strike (2 allowed values: in, out), call (2 allowed values: original, final), sort (82 allowed values, including name, team_name, pitches, pitches_shadow, rv_tot, pct_tot, pitches_shadow_top, rv_shadow_top, pct_shadow_top, pitches_shadow_bot, rv_shadow_bot, pct_shadow_bot, pitches_11, rv_11, pct_11, pitches_12, rv_12, pct_12, pitches_13, rv_13, pct_13, pitches_14, rv_14, pct_14, pitches_16, rv_16, pct_16, pitches_17, rv_17, pct_17, pitches_18, rv_18, pct_18, pitches_19, rv_19, pct_19, pitches_heart, rv_heart, pct_heart, pitches_chwa), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: f2_name_display_first_last, fielder_2, id, n_teams, name, pct_11, pct_12, pct_13 and 32 more. In the sample: fielder_2: 543,309 to 696,100, median 669,224; f2_name_display_first_last: “Dingler, Dillon” and 39 other values; n_teams: 1 to 4, median 1; name: “Dingler, Dillon” and 39 other values; pct_11: 0.12 to 0.28, median 0.2; pct_12: 0.49 to 0.74, median 0.61; pct_13: 0.13 to 0.35, median 0.25; pct_14: 0.45 to 0.61, median 0.53.
Open in Playground
GET/mlb/statcast-catcher-pop-timeapiKey2 credits/request
Returns catchers ranked by pop-time metrics, filtered by season, team, and minimum steal attempts to second or third. Sort and pagination are applied locally.
Optional: year (12 allowed values: 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), team_id (30 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 111, 113, 115, 118, 116, 142, 145, 147), min2b (5 allowed values: 1, 5, 10, 15, 20), min3b (6 allowed values: 0, 1, 5, 10, 15, 20), sort (13 allowed values: catcher, team, age, arm, exchange, 2b_attempts, 2b_all, 2b_caught_stealing, 2b_stolen_bases, 3b_attempts, 3b_all, 3b_caught_stealing, 3b_stolen_bases), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: age, catcher, catcher_id, exchange_2b_3b_sba, exchange_2b_sb, exchange_2b_sba, exchange_2b_sba_count, exchange_3b_sba_count and 15 more. Not in every item: exchange_2b_cs (39), exchange_3b_cs (18), exchange_3b_sb (27), exchange_3b_sba (30), maxeff_arm_2b_cs (36), maxeff_arm_3b_cs (9), maxeff_arm_3b_sb (15), maxeff_arm_3b_sba (22) and 9 more. In the sample: age: 21 to 35, median 27; catcher: “Stubbs, Garrett” and 39 other values; href: median 80 characters; exchange_2b_3b_sba: 0.59 to 0.71, median 0.63; exchange_2b_cs: 0.57 to 1.08, median 0.63; exchange_2b_sb: 0.58 to 0.83, median 0.64; exchange_2b_sba: 0.59 to 0.83, median 0.64; exchange_2b_sba_count: 5 to 68, median 23.
Open in Playground
GET/mlb/statcast-catcher-stanceapiKey2 credits/request
Returns the public Catcher Stance table for catchers, catching teams, batters, batting teams, pitchers, or league totals. Supports the live year, game, date, threshold, team, pitch type, batter/pitcher hand, knee posture, grouping, sorting, and pagination controls. Grouping accepts up to four values. Use mlb_discovery for exact value sets. Chart series and page-local search/column toggles are not included.
Optional: type (6 allowed values: catcher, catching-team, batter, batting-team, pitcher, league), season_start (7 allowed values: 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (7 allowed values: 2020, 2021, 2022, 2023, 2024, 2025, 2026), game_type (3 allowed values: Any, Playoff, Regular), min_pitches (12 allowed values: q, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000, 15000, 20000), min_results (14 allowed values: 1, 25, 50, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000, 15000, 20000), date_start, date_end, bat_side (2 allowed values: L, R), pitch_hand (2 allowed values: L, R), knee_code (5 allowed values: 9999, 4, 1, 2, 3), teams, pitch_types, group_by, sort (63 allowed values, including name, id, team_id, team_name, year, pitches, skeletal_pitches, n_both_down, n_both_up, n_inside_down, n_l_down, n_leg_extended, n_one_down, n_outside_down, n_r_down, n_teams, pct_both_down, pct_both_up, pct_inside_down, pct_l_down, pct_leg_extended, pct_one_down, pct_outside_down, pct_r_down, one_knee_blocking, one_knee_blocking_162, one_knee_csaa, one_knee_csp, one_knee_framing, one_knee_framing_162, one_knee_pbwp, one_knee_pitching, one_knee_pitching_162, one_knee_ron_num, one_knee_ron_pbwp, one_knee_sba_csaa, one_knee_sba_num, one_knee_shadow_cs, one_knee_shadow_num, one_knee_throwing), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: f2_name_display_first_last, fielder_2, id, n_both_down, n_both_up, n_inside_down, n_l_down, n_leg_extended and 31 more. Not in every item: other_csaa (38). In the sample: fielder_2: 521,692 to 701,852, median 669,134; f2_name_display_first_last: “Smith, Will” and 39 other values; n_both_down: 32 to 3,140, median 221; n_both_up: 56 to 505, median 202; n_inside_down: 2,327 to 9,312, median 4,140; n_l_down: 3 to 16,568, median 2,179; n_leg_extended: 12 to 8,923, median 1,991; n_one_down: 4,735 to 17,097, median 8,461.
Open in Playground
GET/mlb/statcast-catcher-throwing-detailsapiKey1 credit/request
Returns per-attempt play records expanded from a Catcher Throwing catcher row. Supply the entity_id from a Cat row and the row's year/team when it represents a season or team stint. Details are ungrouped source attempts, paginated locally.
Required: entity_id. Optional: year (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), game_type (3 allowed values: Regular, Playoff, All), minimum (10 allowed values: q, 1, 5, 10, 20, 30, 40, 50, 75, 100), target_base (3 allowed values: 2B, 3B, All), split (2 allowed values: yes, no), team (30 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 111, 113, 115, 118, 116, 142, 145, 147), with_team_only, limit, offset.
Sampled 14 Oct 2026: 20 items. Filled in every item: accuracy_over_xcs, at_bat_number, bat_team_id, catcher_id, catcher_name, cs_aa, cs_raa, distance_to_target and 21 more. Not in every item: accuracy_cd (16), accuracy_impact_seconds (16), est_flight_time (15), exp_cs_with_accuracy (16), exp_cs_with_catchrel (15), exp_cs_with_flight (15), fielder_id (16), fielder_name (16) and 3 more. In the sample: game_date: 2026-03-27 to 2026-08-12; fielder_name: Witt Jr., Bobby (7), Massey, Michael (4), Loftin, Nick (2) and 2 more; accuracy_cd: -1 to 1, median 0; accuracy_impact_seconds: -0.25 to 0.04, median -0.1; accuracy_over_xcs: -0.14 to 0.27, median 0; at_bat_number: 6 to 72, median 35; cs_aa: -0.27 to 0.75, median -0.11; cs_raa: -0.18 to 0.49, median -0.07.
Open in Playground
GET/mlb/statcast-catcher-throwingapiKey2 credits/request
Returns catcher, catching-team, or league caught-stealing and throw-quality rows with the public season, game, attempt-threshold, target-base, split-years, team, and roster-membership filters. Table sorting and pagination are applied locally. Catcher rows can be expanded with mlb-statcast-catcher-throwing-details. CSV, charts, and page-local display controls are excluded.
Optional: type (3 allowed values: Cat, Pitching Team, League), season_start (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), game_type (3 allowed values: Regular, Playoff, All), minimum (10 allowed values: q, 1, 5, 10, 20, 30, 40, 50, 75, 100), target_base (3 allowed values: 2B, 3B, All), split (2 allowed values: yes, no), team (31 allowed values: split, 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 111, 113, 115, 118, 116, 142, 145, 147), with_team_only, sort (21 allowed values: entity_name, start_year, n, cs_raa, n_cs_aa, n_cs, rate_cs, n_xcs, rate_xcs, rate_cs_aa, seasonal_sprint_speed, distance_to_target, pop_time, exchange_time, arm_strength, n_xcs_with_flight_over_xcs, n_xcs_with_exchange_over_xcs, n_xcs_with_accuracy_over_xcs, n_xcs_with_ground_other_over_xcs, n_xcs_with_onfly_other_over_xcs, n_xcs_with_untracked_other_over_xcs), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: accuracy_impact_seconds, arm_strength, cs_raa, distance_to_target, end_year, end_year_upper, entity_choice, entity_code and 32 more. In the sample: accuracy_impact_seconds: -0.21 to -0.06, median -0.14; entity_name: “Mack, Joe” and 39 other values; arm_strength: 74.28 to 85.77, median 80.82; cs_raa: -0.22 to 5.18, median 1.53; distance_to_target: 52.9 to 56.72, median 54.61; est_flight_time: 1.14 to 1.33, median 1.2; exchange_time: 0.56 to 0.7, median 0.62; flight_time: 1.19 to 1.38, median 1.24.
Open in Playground
GET/mlb/statcast-expectedapiKey2 credits/request
Returns the separate Expected Statistics leaderboard with batter, pitcher, and team views; season, team, batter-position, BIP/PA qualifier and threshold filters; local metric sorting; and pagination. League-average values are returned separately.
Optional: type (4 allowed values: batter, pitcher, batter-team, pitcher-team), year, team_id, position (9 allowed values: C, 1B, 2B, SS, 3B, LF, CF, RF, DH), filter_type (2 allowed values: bip, pa), minimum (12 allowed values: q, 1, 25, 50, 100, 150, 200, 250, 350, 450, 500, 600), sort (20 allowed values: entity_name, entity_team_name, pa, bip, ba, est_ba, ba_minus_est_ba_diff, slg, est_slg, slg_minus_est_slg_diff, woba, est_woba, woba_minus_est_woba_diff, wobacon, est_wobacon, wobacon_minus_est_wobacon_diff, exit_velocity_avg, hard_hit_percent, barrels_per_bip, barrels_per_pa), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 1 item. Filled in every item: rank, entity_id, name, team_id, team, position, qualified, metrics. In the sample: name: “Caballero, José”; qualified: true in 1 of 1; team: “Yankees”; position: “SS”.
Open in Playground
GET/mlb/statcast-fielding-run-valueapiKey2 credits/request
Returns fielding run value for fielder, fielding-team, batter, batting-team, or pitcher views. Dates and grouping dimensions follow the first-party leaderboard. Minimum 0.1 is available only for fielder and fielding-team views; the batting/pitching views omit it. Sorting and pagination are applied locally. CSV and player-page visualizations are outside this table contract.
Optional: type (5 allowed values: fielder, fielding-team, batter, batting-team, pitcher), season_start (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), game_type (3 allowed values: Any, Regular, Playoff), minimum (13 allowed values: q, 0.1, 1, 10, 25, 50, 100, 200, 500, 750, 1000, 2500, 5000), minimum_split (12 allowed values: 0.1, 1, 10, 25, 50, 100, 200, 500, 750, 1000, 2500, 5000), position (15 allowed values: 0, 11, 12, 111, 112, 121, 13, 2, 3, 4, 5, 6, 7, 8, 9), team_id, group_by, date_start, date_end, sort (27 allowed values: name, team_name, total_runs, inf_of_runs, range_runs, arm_runs, dp_runs, fielding_runs_prevented_on_rec1b, catching_runs, framing_runs, throwing_runs, blocking_runs, outs_total, outs_2, outs_3, outs_4, outs_5, outs_6, outs_7, outs_8, outs_9, tot_pa, year, api_game_date_month_mm, api_game_date_month_text, pos_id, game_type), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 12 items. Filled in every item: id, n_teams, name, outs_2, outs_3, outs_4, outs_5, outs_6 and 8 more. Not in every item: abs_runs (1), arm_runs (7), blocking_runs (1), catching_runs (1), dp_runs (6), fielding_runs_prevented_on_rec1b (3), framing_runs (1), inf_of_runs (11) and 2 more. In the sample: arm_runs: -1.88 to 2.87, median -0.06; name: “Wells, Austin” and 11 other values; dp_runs: -2.01 to 1.03, median -0.04; fielding_runs_prevented_on_rec1b: 0.02 to 1.8, median 0.05; inf_of_runs: -7.82 to 8.21, median 0.31; outs_2: 0 to 2,878, median 0; outs_3: 0 to 1,870, median 0; outs_4: 0 to 3,465, median 0.
Open in Playground
GET/mlb/statcast-first-base-receiving-detailsapiKey1 credit/request
Returns per-play records backing an individual first-base receiving leaderboard row, including game/play ids, outcome codes, receiving OAA, expected out rate, timing, and field coordinates. This is tabular JSON; the separate 3D skeletal visualization route is excluded.
Required: player_id. Optional: type (5 allowed values: fielder_3, throw_fielder_id, pitching-team, batting-team, league), season[], gameType[], min (14 allowed values: q, 1, 5, 10, 25, 50, 75, 100, 200, 300, 400, 500, 750, 1000), minSplit (13 allowed values: 1, 5, 10, 25, 50, 75, 100, 200, 300, 400, 500, 750, 1000), split[], splitYear (2 allowed values: 0, 1), team[], dateStart, dateEnd, fielder_3_hand (2 allowed values: L, R), min_height_in_inches (11 allowed values: 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80), is_hit_into_play_field_out (2 allowed values: 0, 1), runners_on_cd[], throw_pos_id[], throw_height_code[], throw_location_code_full[], bin_time_X10[], limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: bag_x, bag_y, bin_time_X10, catch_x, catch_y, catch_z, expected_rate_out, f3_name_display_last_first and 29 more. Not in every item: bounce_catch_x (7), bounce_catch_y (7), bounce_catch_z (7). In the sample: game_date: 2026-03-26 to 2026-09-27; throw_name_display_last_first: Hoerner, Nico (12), Swanson, Dansby (11), Bregman, Alex (10) and 3 more; bin_time_X10: 0 to 5, median 4; play_url: research.mlb.com; has_skeletal: true in 40 of 40; catch_z: 0 to 9.84, median 3.19; expected_rate_out: 0.01 to 0.99, median 0.97; game_date_1: 2026-03-26 to 2026-09-27.
Open in Playground
GET/mlb/statcast-first-base-receivingapiKey2 credits/request
Returns first baseman, throwing fielder, fielding team, batting team, or league receiving rows. Includes season/game selections, threshold and group filters, team/date/hand/height/outcome filters, and validated page-local split filters and sorting. Per-play source records are available through mlb-statcast-first-base-receiving-details. 3D trajectory visualizations are not included.
Optional: type (5 allowed values: fielder_3, throw_fielder_id, pitching-team, batting-team, league), season[], gameType[], min (14 allowed values: q, 1, 5, 10, 25, 50, 75, 100, 200, 300, 400, 500, 750, 1000), minSplit (13 allowed values: 1, 5, 10, 25, 50, 75, 100, 200, 300, 400, 500, 750, 1000), splitYear (2 allowed values: 0, 1), split[], team[], dateStart, dateEnd, fielder_3_hand (2 allowed values: L, R), min_height_in_inches (11 allowed values: 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80), is_hit_into_play_field_out (2 allowed values: 0, 1), runners_on_cd[], throw_pos_id[], throw_height_code[], throw_location_code_full[], bin_time_X10[], sortColumn (23 allowed values: entity_name, total_oaa, oaa_on_target, oaa_bounce, oaa_scoop, oaa_low, oaa_high, oaa_wide, n_on_target, n_bounce, n_scoop, n_low, n_high, n_wide, outs_on_target, outs_bounce, outs_scoop, outs_low, outs_high, outs_wide, n_outs, n_plays, avg_expected_rate_out), sortDirection (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 37 items. Filled in every item: avg_expected_rate_out, avg_oaa, f3_name_display_last_first, fielder_3, fielder_3_hand, height_in_inches, id, n_bounce and 29 more. In the sample: fielder_3_hand: R (31), L (6); avg_expected_rate_out: 0.91 to 0.96, median 0.94; f3_name_display_last_first: “Burleson, Alec” and 36 other values; avg_oaa: -0.02 to 0.01, median 0; fielder_3: 502,671 to 808,959, median 668,904; n_bounce: 3 to 35, median 12; n_high: 3 to 37, median 18; n_low: 4 to 26, median 13.
Open in Playground
GET/mlb/statcast-home-runs-detailsapiKey1 credit/request
Returns the home-run plays expanded from one batter or pitcher leaderboard row, with event measurements and park outcomes. Provide the exact player id, player type, year, and mode from the row. Play identifiers and source links are returned; trajectory images, video media, and CSV output are not included.
Required: player_id. Optional: player_type (2 allowed values: Batter, Pitcher), year (8 allowed values: 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), cat (2 allowed values: adj_xhr, xhr), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: ari, atl, bal, batter_id, batter_name, bos, cat, chc and 30 more. Not in every item: hr_trot (31), hr_type (28). In the sample: game_date: 2026-06-17 to 2026-09-20; hr_cat: Mostly Gone (19), No Doubter (14), Doubter (7); ari: 0 to 1, median 1; pitcher_name: “Spiers, Carson” and 32 other values; play_url: research.mlb.com; atl: 0 to 1, median 1; bal: 0 to 1, median 1; bos: 0 to 1, median 0.
Open in Playground
GET/mlb/statcast-home-runsapiKey2 credits/request
Returns Batter or Pitcher Home Runs Tracking rows. Year, team id, minimum home runs, and Standard/Adjusted mode are first-party filters. The first-party table sorts client-side; this endpoint applies a named local sort and pagination. Use mlb_discovery for the exact filter sets. Per-player home-run plays are available from mlb-statcast-home-runs-details; trajectory images, video media, and CSV downloads are separate representations.
Optional: player_type (2 allowed values: Batter, Pitcher), year (8 allowed values: 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), team (30 allowed values: 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 158), min (6 allowed values: 0, 5, 10, 15, 20, 25), cat (2 allowed values: adj_xhr, xhr), sort (12 allowed values: player, team, year, cat, avg_hr_trot, doubters, mostly_gone, no_doubters, no_doubter_per, hr_total, xhr, xhr_diff), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: ari, atl, avg_hr_trot, bal, bos, cat, chc, cin and 32 more. In the sample: ari: 17 to 40, median 26; player: “Alvarez, Yordan” and 39 other values; player_url: baseballsavant.mlb.com; atl: 24 to 47, median 31; avg_hr_trot: 21.96 to 29.05, median 24.85; bal: 24 to 51, median 31; bos: 17 to 38, median 22; chc: 26 to 49, median 33.
Open in Playground
GET/mlb/statcast-leadersapiKey2 credits/request
Returns the standard anonymous Baseball Savant Statcast leaderboard for batters, pitchers, teams, or pitcher teams. Supports the page's season, team, batter position, minimum batted-ball event, and sortable metric filters, plus local pagination. Use mlb_discovery for exact filter sets. Other Baseball Savant leaderboard pages are listed there but are not represented by this route.
Optional: type (4 allowed values: batter, pitcher, batter-team, pitcher-team), year, team_id, position (9 allowed values: C, 1B, 2B, SS, 3B, LF, CF, RF, DH), min_bbe (12 allowed values: q, 1, 25, 50, 100, 150, 200, 250, 350, 450, 500, 600), sort (16 allowed values: entity_name, bip, launch_angle_avg, sweet_spot_percent, exit_velocity_max, exit_velocity_avg, avg_best_speed, exit_velocity_fbld, distance_max, distance_hr_avg, hard_hit_ct, hard_hit_percent, hard_hit_per_swing, barrel_ct, barrels_per_bip, barrels_per_pa), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 1 item. Filled in every item: rank, entity_id, name, team_id, team, position, qualified, metrics. In the sample: name: “Caballero, José”; qualified: true in 1 of 1; team: “Yankees”; position: “SS”.
Open in Playground
GET/mlb/statcast-oaaapiKey2 credits/request
Returns the separate Outs Above Average leaderboard for fielders, fielding teams, batters, batting teams, or pitchers. Supports season range, split years, team, monthly range, attempts, position, detailed fielder roles, local sorting, and pagination.
Optional: type (5 allowed values: Fielder, Fielding_Team, Batter, Batting_Team, Pitcher), start_year, end_year, split (2 allowed values: no, yes), team_id, range (7 allowed values: year, 4, 5, 6, 7, 8, 9), minimum (9 allowed values: q, 10, 25, 50, 75, 100, 150, 200, 250), position (9 allowed values: if, of, 3, 4, 5, 6, 7, 8, 9), roles, sort (12 allowed values: entity_name, display_team_name, primary_pos_formatted, fielding_runs_prevented, outs_above_average, outs_above_average_infront, outs_above_average_lateral, outs_above_average_behind, actual_success_rate, adj_estimated_success_rate, diff_success_rate, n), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: rank, entity_id, name, team_id, team, position, qualified, metrics. In the sample: position: SS (37), 3B (2), 2B (1); rank: 1 to 40, median 20; name: “Witt Jr., Bobby” and 39 other values; qualified: true in 40 of 40; team: “Royals” and 28 other values.
Open in Playground
GET/mlb/statcast-park-factorsapiKey2 credits/request
Returns season, venue, distance, distance-all, raw, or dimensions rows from Baseball Savant. Query filters are conditional on type and are live-echo validated; local sorting and pagination are applied to returned rows. The fence-stat and allDiffs controls only change display columns and do not change row data; CSV and linked venue detail pages are separate surfaces.
Optional: type (6 allowed values: year, venue, distance, distance-all, raw, dimensions), year, bat_side (2 allowed values: R, L), condition (5 allowed values: All, Day, Night, Roof Closed, Open Air), rolling (3 allowed values: 1, 2, 3), stat (15 allowed values: index_wOBA, index_wOBAcon, index_xwOBAcon, index_BACON, index_xBAcon, index_hardhit, index_runs, index_OBP, index_Hits, index_1B, index_2B, index_3B, index_HR, index_BB, index_SO), parks (2 allowed values: mlb, all), sort, sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 29 items. Filled in every item: grouping_venue_conditions, index_1b, index_2b, index_3b, index_bacon, index_bb, index_hardhit, index_hits and 22 more. In the sample: n_pa: 37,433 to 58,810, median 56,135; name_display_club: “Giants” and 28 other values; venue_name: “Oracle Park” and 28 other values.
Open in Playground
GET/mlb/statcast-percentileapiKey2 credits/request
Returns batter or pitcher percentile rankings. Type, season, and team are first-party table filters. Repeated pctl filters, table sorting, and pagination are applied locally to the embedded rows. Use mlb_discovery for exact type-specific fields, comparators, seasons, and team ids. CSV is a separate download.
Optional: type (2 allowed values: batter, pitcher), year (12 allowed values: 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), team (30 allowed values: 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 158), pctl, sort, sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: percent_rank_acceleration, percent_rank_attack_angle, percent_rank_ba, percent_rank_babip, percent_rank_bacon, percent_rank_barrel, percent_rank_barrel_batted_rate, percent_rank_bb_percent and 21 more. Not in every item: percent_rank_arm_max (35), percent_rank_arm_overall (35), percent_rank_framing (3), percent_rank_jump (12), percent_rank_oaa (30), percent_rank_pop_2b (3), percent_rank_cu_spin (0), percent_rank_fastball_extension (0) and 3 more. In the sample: percent_rank_acceleration: 21 to 99, median 74; percent_rank_arm_max: 9 to 99, median 56; percent_rank_arm_overall: 1 to 100, median 57; percent_rank_attack_angle: 7 to 100, median 59; percent_rank_ba: 4 to 100, median 75; percent_rank_babip: 10 to 100, median 78; percent_rank_bacon: 15 to 100, median 83; percent_rank_barrel: 30 to 100, median 86.
Open in Playground
GET/mlb/statcast-pitch-arsenal-detailsapiKey1 credit/request
Returns game-level pitches expanded from one batter or pitcher pitch-arsenal row. Supply player_id, player_type, year, and the row's pitch_type. The upstream's min_ab request parameter is ignored, so it is not exposed. Rows include play_id values used by Baseball Savant's video pages; this endpoint returns play data and identifiers, not video media.
Required: player_id, pitch_type (13 allowed values: FF, CH, CU, FC, KN, SC, SI, SL, SV, FS, ST, CUKC, SIFT). Optional: player_type (2 allowed values: pitcher, batter), year (8 allowed values: 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: api_pitch_type_merged, batter_id, batter_name, event_type, game_date, outs, pitch_name, pitch_speed and 7 more. In the sample: game_date: 2026-09-03 to 2026-09-23; outs: 0 to 2, median 1; batter_name: “Graham Pauley” and 21 other values; event_type: “single” and 8 other values; pitch_speed: 90.5 to 95.6, median 93.8; pre_ball_count: 823,739 to 824,632, median 824,625; pre_strike_count: 0 to 2, median 2.
Open in Playground
GET/mlb/statcast-pitch-arsenalapiKey2 credits/request
Returns pitcher or batter pitch-level arsenal leaderboards. Season, team, pitch type, minimum PA, and minimum-pitch qualification filters are replayed against the anonymous first-party table; sorting and pagination are applied locally. Use mlb_discovery for the full selector set. Player rows can be expanded with mlb-statcast-pitch-arsenal-details.
Optional: type (2 allowed values: pitcher, batter), year (8 allowed values: 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), team_id, pitch_type (13 allowed values: FF, CH, CU, FC, KN, SC, SI, SL, SV, FS, ST, CUKC, SIFT), min_pa (12 allowed values: 1, 10, 25, 50, 100, 150, 200, 250, 350, 450, 500, 600), min_pitches (9 allowed values: q, 1, 10, 50, 100, 200, 300, 500, 750), sort (18 allowed values: player_name, team_name_alt, pitch_name, run_value_per_100, run_value, pitches, pitch_usage, pa, ba, slg, woba, whiff_percent, k_percent, put_away, est_ba, est_slg, est_woba, hard_hit_percent), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 11 items. Filled in every item: ba, babip, bacon, barrel_batted_rate, est_ba, est_babip, est_bacon, est_iso and 32 more. In the sample: barrel_batted_rate: 4.6 to 18.9, median 9.6; ba: “.159” and 9 other values; href: median 49 characters; babip: “.165” and 10 other values; bacon: “.237” and 9 other values; est_ba: “.217” and 10 other values; est_babip: “.286” and 9 other values; est_bacon: “.332” and 9 other values.
Open in Playground
GET/mlb/statcast-pitch-arsenalsapiKey2 credits/request
Returns pitcher pitch speed, percentage, or spin rankings by pitch class. Year, minimum-pitch threshold, and hand are first-party filters. Team filtering and table sorting are applied locally because the page JavaScript applies them after receiving the embedded rows. Use mlb_discovery for exact values. CSV and pitch movement visualizations remain separate representations.
Optional: year (19 allowed values: 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), type (3 allowed values: avg_speed, n_, avg_spin), hand (2 allowed values: R, L), min_pitches (10 allowed values: q, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000), team (30 allowed values: ATH, ATL, AZ, BAL, BOS, CHC, CIN, CLE, COL, CWS, DET, HOU, KC, LAA, LAD, MIA, MIL, MIN, NYM, NYY, PHI, PIT, SD, SEA, SF, STL, TB, TEX, TOR, WSH), sort (10 allowed values: player_name, four_seam, sinker, cutter, slider, changeup, curve, splitter, sweeper, slurve), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: breaking_avg_break, breaking_avg_break_x, breaking_avg_break_z, breaking_avg_break_z_induced, breaking_avg_speed, breaking_avg_spin, breaking_calc_axis1, breaking_calc_axis2 and 8 more. Not in every item: ch_avg_break (26), ch_avg_break_x (26), ch_avg_break_z (26), ch_avg_break_z_induced (26), ch_avg_speed (26), ch_avg_spin (26), ch_calc_axis1 (26), ch_calc_axis2 (26) and 16 more. In the sample: breaking_avg_break: 2.6 to 18.3, median 8; breaking_avg_break_z: -50.7 to -30.7, median -37.8; breaking_avg_break_z_induced: -9.7 to 13.6, median -1.4; breaking_avg_speed: 73.5 to 90.2, median 87.2; breaking_avg_spin: 2,050 to 2,926, median 2,516; breaking_calc_axis1: 40 to 301, median 102; breaking_calc_axis2: -105 to 139, median 60; breaking_range_break: 1.8 to 5.7, median 3.1.
Open in Playground
GET/mlb/statcast-pitch-movementapiKey2 credits/request
Returns pitcher-level pitch movement table rows for the selected season, pitch type, throwing hand, and minimum pitch count. Sorting and pagination are applied locally. The page's X/Z visualization axes and CSV download are separate presentation formats and are not returned by this JSON table contract.
Optional: year (10 allowed values: 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017), pitch_type (13 allowed values: FF, CH, CU, FC, FO, KN, SC, SI, SL, SV, FS, ST, ALL), hand (2 allowed values: R, L), min (11 allowed values: q, 50, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000), sort (13 allowed values: pitcher_name, team_name_abbrev, pitch_hand, pitch_type_name, pitches_thrown, avg_speed, pitcher_break_z, diff_z, pitcher_break_x_hidden, diff_x, pitcher_break_z_induced, diff_z_induced_standard, diff_x_standard), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: avg_speed, diff_x, diff_x_hidden, diff_x_hidden_standard, diff_x_standard, diff_z, diff_z_hidden, diff_z_hidden_standard and 30 more. Not in every item: percent_rank_diff_x (39), percent_rank_diff_z (39). In the sample: avg_speed: 88 to 96.9, median 93.7; diff_z: -4.9 to 0.7, median -2.4; diff_z_hidden: -4.9 to 0.7, median -2.4; diff_z_hidden_standard: -7.5 to -2.4, median -3.6; diff_z_induced_hidden_standard: -6.6 to 0.5, median -2.7; diff_z_induced_standard: -6.6 to 0.5, median -2.7; diff_z_standard: -7.5 to -2.4, median -3.6; is_qualified: 0 to 1, median 1.
Open in Playground
GET/mlb/statcast-pitch-tempo-playerapiKey2 credits/request
Returns game-level Pitch Tempo detail rows for one pitcher or batter. `entity_id` is required, taken from a Pitch Tempo result. `type` is `Pit` (default) or `Bat`, `season_start` and `season_end` run from 2010 to 2026 and default to the current year, and `game_type` is `Regular` (default), `Playoff` or `All`. Rows hold elapsed seconds, counts and frequencies; empty when nothing matches.
Required: entity_id. Optional: type (2 allowed values: Pit, Bat), season_start (17 allowed values: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (17 allowed values: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), game_type (3 allowed values: Regular, Playoff, All).
Sampled 14 Oct 2026: 38 items. Filled in every item: elapsed_seconds, end_year, end_year_upper, entity_choice, entity_code, entity_id, entity_name, freq_pitches and 15 more. Not in every item: median_seconds (2). In the sample: elapsed_seconds: 9 to 41, median 19; freq_pitches: 0 to 0.28, median 0.01; median_seconds: 11.52 to 15.24, median 11.52; n: 1 to 108, median 4; tot_n: 244 to 407, median 407.
Open in Playground
GET/mlb/statcast-pitch-tempoapiKey2 credits/request
Returns pitcher, batter, pitching-team, batting-team, or league tempo rows. Season, game type, minimum pitch, team, year comparison, and team membership options mirror the live first-party controls; q and sorting are applied locally before pagination. Use mlb_discovery for exact value sets.
Optional: type (5 allowed values: Pit, Bat, Pitching Team, Batting Team, League), season_start (17 allowed values: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (17 allowed values: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), game_type (3 allowed values: Regular, Playoff, All), n (10 allowed values: q, 1, 10, 50, 100, 250, 500, 1000, 2000, 5000), team (30 allowed values: 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 158), split (2 allowed values: yes, no), with_team_only (2 allowed values: 0, 1), q, sort (12 allowed values: entity_name, start_year, tot_n_empty, median_seconds_empty, empty_equiv, freq_hot_empty, freq_cold_empty, tot_n_onbase, median_seconds_onbase, onbase_equiv, freq_hot_onbase, freq_cold_onbase), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: end_year, end_year_upper, entity_choice, entity_code, entity_id, entity_name, freq_cold, freq_cold_empty and 32 more. In the sample: freq_cold: 0.01 to 0.04, median 0.02; entity_name: “Suter, Brent” and 39 other values; freq_cold_empty: 0 to 0.03, median 0.01; freq_cold_onbase: 0 to 0.06, median 0.02; freq_hot: 0.36 to 0.72, median 0.5; freq_hot_empty: 0.6 to 0.89, median 0.68; freq_hot_onbase: 0 to 0.43, median 0.11; freq_warm: 0.27 to 0.61, median 0.48.
Open in Playground
GET/mlb/statcast-pitch-timerapiKey2 credits/request
Returns the Pitch Timer Infractions table for pitchers, batters, catchers, teams, or opposing teams. Filters for type, season, minimum pitches, and zero-infraction rows are upstream-backed; entity search, table sorting, and pagination are applied locally. The chart ordering is included as view metadata; the endpoint returns table rows, not the SVG chart.
Optional: type (5 allowed values: Pit, Bat, Cat, Team, Opp), season (4 allowed values: 2023, 2024, 2025, 2026), min_pitches (8 allowed values: 1, 5, 25, 50, 100, 250, 500, 1000), include_zeroes (2 allowed values: 0, 1), q, chart_sort (8 allowed values: violating, violated, net, ballsAgainst, ballsFor, strikesAgainst, strikesFor, division), sort (9 allowed values: entity_name, N_pitches, N_time_violations, N_pitcher_pitch_timer, N_batter_pitch_timer, N_batter_timeout, N_catcher_pitch_timer, N_defensive_shift, rate), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: N_batter_pitch_timer, N_batter_timeout, N_catcher_pitch_timer, N_defensive_shift, N_pitcher_pitch_timer, N_pitches, N_time_violations, entity_code and 4 more. In the sample: N_pitcher_pitch_timer: 2 to 6, median 3; entity_name: “Baz, Shane” and 39 other values; N_pitches: 172 to 3,106, median 1,757; N_time_violations: 2 to 6, median 3; rate: 86 to 1,553, median 523.33.
Open in Playground
GET/mlb/statcast-player-detailsapiKey1 credit/request
Returns the game-level pitch or batted-ball rows shown when expanding a batter or pitcher row in the standard Statcast leaderboard, including matchup, date, event, exit velocity, launch angle, distance, play id, and video availability.
Required: player_id. Optional: player_type (2 allowed values: batter, pitcher), year.
Sampled 14 Oct 2026: 588 items. Not in every item: batter_id (500), batter_name (500), events (500), game_date (500), hit_angle (500), hit_distance_sc (500), hit_speed (500), pitcher (500) and 5 more. In the sample: game_date: 2026-04-22 to 2026-09-24; hit_angle: -72 to 80, median 16; events: “field_out” and 11 other values; showVideo: true in 500 of 500; hit_distance_sc: 1 to 399, median 195; hit_speed: 24.3 to 104.4, median 89.2; pitcher: 453,286 to 837,227, median 669,194; pitcher_name: “Aaron Ashby” and 222 other values.
Open in Playground
GET/mlb/statcast-rollingapiKey2 credits/request
Returns the six embedded Batter/Pitcher rolling-window tables, filtered by metric, role, and plate-appearance window. Each group is sorted by the selected metric delta in the same direction as the first-party page and paginated independently. The upstream page has no season, team, or game-type filters.
Optional: metric (6 allowed values: xwoba, woba, ba, xba, slg, xslg), role (2 allowed values: Batter, Pitcher), window_pa (3 allowed values: 50, 100, 250), limit, offset.
Sampled 14 Oct 2026: 1 item. Filled in every item: role, window_pa, total, offset, limit, rows. In the sample: role: “Batter”; rows: median 40 entries.
Open in Playground
GET/mlb/statcast-run-valueapiKey2 credits/request
Returns batting or pitching Run Value rows from the Swing-Take leaderboard. Filters are cold-replay verified; sorting and pagination are applied locally. The Bat-side R/L selector was verified to leave the embedded rows byte-identical and is omitted. The page's visual charts and CSV export are separate formats.
Optional: group (2 allowed values: Batter, Pitcher), year (21 allowed values: All, Career, 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008), team, min (16 allowed values: q, 10, 25, 50, 75, 100, 150, 200, 250, 500, 600, 700, 800, 900, 1000, 1500), leverage (2 allowed values: Neutral, Leveraged), type (5 allowed values: All, Swing-Take, Pitch Type, Attack Region, Bat-side), sub_type (17 allowed values: Swing, Take, 4-Seam Fastball, Changeup, Curveball, Cutter, Knuckleball, Screwball, Sinker, Slider, Slurve, Split-Finger, Sweeper, Heart, Shadow, Chase, Waste), sort (22 allowed values: player_name, team_name_abbrev, year, pa, pitches, runs_heart, runs_shadow, runs_chase, runs_waste, runs_all, runs_ff, runs_si, runs_fc, runs_ch, runs_fs, runs_cu, runs_sl, runs_st, runs_sv, runs_kn, runs_sc, delta_runs), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: grouping_code, key_runvalue_method, num_teams, pa, pid, pitches, player_id, player_name and 9 more. In the sample: pa: 416 to 719, median 630; player_name: “Alvarez, Yordan” and 39 other values; player_url: baseballsavant.mlb.com; pitches: 1,734 to 2,998, median 2,542; runs_all: 19.75 to 60.85, median 25.71; runs_chase: 6.93 to 33.33, median 18.36; runs_heart: -11.06 to 15.45, median 3.89; runs_shadow: -21.73 to 14.18, median -8.21.
Open in Playground
GET/mlb/statcast-running-game-detailsapiKey1 credit/request
Returns individual attempted-running plays expanded from a pitcher or pitching-team Running Game row. Pass its entity_id and repeat the same table filters. For team-stint rows, pass that row's team id; League rows do not expose a detail feed.
Required: entity_id. Optional: type (2 allowed values: Pit, Pitching Team), game_type (3 allowed values: Regular, Playoff, All), pitch_hand (3 allowed values: all, L, R), runner_moved (4 allowed values: All, Advance, Out, Hold), target_base (3 allowed values: All, 2B, 3B), prior_pk (5 allowed values: All, 0, 1, 2, 3), n (9 allowed values: q, 1, 50, 100, 200, 500, 1000, 1500, 2000), season_start (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), split (2 allowed values: yes, no), team (30 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147), with_team_only, limit, offset.
Sampled 14 Oct 2026: 4 items. Filled in every item: catcher_id, catcher_name, entity_id, fielder_id, fielder_name, game_date, is_runner_bk, is_runner_cs and 15 more. In the sample: game_date: 2026-08-25 to 2026-09-25; runner_moved_cd: SB (3), CS (1); is_runner_cs: 0 to 1, median 0; fielder_name: “Peck, John” and 2 other values; is_runner_sb: 0 to 1, median 1; pitcher_cs_aa: -0.15 to 0.16, median -0.13; r_primary_lead: 11.42 to 13.07, median 11.75; r_sec_minus_prim_lead: 8.96 to 15.45, median 9.74.
Open in Playground
GET/mlb/statcast-running-gameapiKey2 credits/request
Returns the Running Game table for pitchers, pitching teams, or league. Season/game, hand, runner movement, target base, prior pickoff count, minimum opportunities, team, and team-stint controls are live-verified; named sorting, player/team search, and pagination are applied locally. Per-play records are available from mlb-statcast-running-game-details. The expanded-column toggle returns the same source fields, and the first-party CSV download is not a separate JSON response mode.
Optional: type (3 allowed values: Pit, Pitching Team, League), game_type (3 allowed values: Regular, Playoff, All), pitch_hand (3 allowed values: all, L, R), runner_moved (4 allowed values: All, Advance, Out, Hold), target_base (3 allowed values: All, 2B, 3B), prior_pk (5 allowed values: All, 0, 1, 2, 3), n (9 allowed values: q, 1, 50, 100, 200, 500, 1000, 1500, 2000), season_start (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), season_end (11 allowed values: 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), split (2 allowed values: yes, no), team (31 allowed values: split, 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147), with_team_only, sort (24 allowed values: entity_name, team_name, start_year, pitch_hand, key_pitch_hand, runs_prevented_on_running_attr, simple_prevented_on_running_attr, net_attr_plus, net_attr_minus, n_init, rate_sbx, n_plus, n_minus, r_sec_minus_prim_lead, r_sec_minus_prim_lead_sbx, n_sb, n_cs, n_pk, n_bk, n_fb, r_primary_lead, r_secondary_lead, r_primary_lead_sbx, r_secondary_lead_sbx), sort_dir (2 allowed values: asc, desc), search, limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: end_year, entity_id, entity_name, key_name_abbrev, key_pitch_hand, key_target_base, key_team_id, n_bk and 23 more. Not in every item: n_pitcher_cs_aa (37), r_primary_lead_sbx (38), r_sec_minus_prim_lead_sbx (38), r_secondary_lead_sbx (38). In the sample: pitch_hand: R (28), L (12); n_bk: 0 to 1, median 0; entity_name: “Imanaga, Shota” and 39 other values; n_cs: 0 to 4, median 1; n_fb: 0 to 1, median 0; n_init: 351 to 1,071, median 734; n_minus: 0 to 7, median 2; n_pitcher_cs_aa: -0.15 to 2.22, median 0.51.
Open in Playground
GET/mlb/statcast-sprint-speed-teamsapiKey2 credits/request
Returns team-level Sprint Speed rows. Season is selected upstream; team filtering and sorting are applied locally because the first-party page embeds every team before its client-side filter. Use mlb_discovery for all accepted seasons, teams, and sort fields.
Optional: season (13 allowed values: 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, all), team (30 allowed values: LAA, HOU, OAK, TOR, ATL, MIL, STL, CHC, ARI, LAD, SF, CLE, SEA, MIA, NYM, WSH, BAL, SD, PHI, PIT, TEX, TB, BOS, CIN, COL, KC, DET, MIN, CWS, NYY), sort (9 allowed values: season, team, players, competitive_runs, average_sprint_speed, fastest_sprint_speed, slowest_sprint_speed, bolts, average_home_to_first), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 1 item. Filled in every item: N_bolts, Num_competitive_runs, Num_players, avg_HP_to_1B, avg_sprint_speed, fastest_sprint_speed, is_sport_milb, is_sport_mlb and 5 more. In the sample: name_display_club: “Yankees”.
Open in Playground
GET/mlb/statcast-sprint-speedapiKey2 credits/request
Returns player Sprint Speed rows from the Baseball Savant leaderboard. The source filters season range, position, and minimum competitive runs; team filtering and sorting are applied locally. Use mlb_discovery for every closed value set.
Optional: min_season (12 allowed values: 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), max_season (12 allowed values: 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026), position (11 allowed values: all, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), team_id (30 allowed values: 108, 117, 133, 141, 144, 158, 138, 112, 109, 119, 137, 114, 136, 146, 121, 120, 110, 135, 143, 134, 140, 139, 113, 111, 115, 118, 116, 142, 145, 147), minimum_runs (10 allowed values: 0, 5, 10, 25, 50, 75, 100, 150, 200, 250), sort (8 allowed values: player, team, position, age, competitive_runs, bolts, home_to_first, sprint_speed), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 1 item. Filled in every item: age, batter_started_at_position, distance_burst, file_code, hp_to_1b, hp_to_1b_lhh, href, n and 10 more. Not in every item: hp_to_1b_rhh (0), n_bolts (0). In the sample: name_abbrev: “NYY”; href: median 50 characters; name_display_last_first: “Grisham, Trent”; position_name: “CF”.
Open in Playground
GET/mlb/statcast-swing-pathapiKey2 credits/request
Returns batter, batting-team, or league Swing Path and Attack Angle rows with the first-party season, game, swing, team, date, side, contact, hard-hit, attack-zone, and pitcher-hand filters. Use mlb_discovery for exact values.
Optional: type (3 allowed values: batter, batting-team, league), season_start (4 allowed values: 2023, 2024, 2025, 2026), season_end (4 allowed values: 2023, 2024, 2025, 2026), game_type (4 allowed values: Any, Exhibition, Playoff, Regular), min_swings (10 allowed values: q, 1, 5, 10, 25, 50, 100, 200, 500, 1000), min_group_swings (9 allowed values: 1, 5, 10, 25, 50, 100, 200, 500, 1000), team_id (30 allowed values: 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 158), date_start, date_end, bat_side (2 allowed values: L, R), contact_type (3 allowed values: 2, 4, 9), is_hard_hit (2 allowed values: 1, 0), attack_zone (5 allowed values: 0, 1, 1.1, 2, 3), pitch_hand (2 allowed values: L, R), sort (14 allowed values: name, team_name, avg_sweetspot_speed_mph, avg_plane_vertical_angle, attack_angle, attack_direction_pullopp, rate_ideal_attack_angle, avg_intercept_y_vs_plate, avg_intercept_y_vs_batter, avg_batter_y_position, avg_batter_x_position, avg_foot_sep0, avg_foot_angle0, n_swings), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: attack_angle, attack_direction_pullopp, avg_batter_x_position, avg_batter_y_position, avg_foot_angle0, avg_foot_sep0, avg_intercept_y_vs_batter, avg_intercept_y_vs_plate and 15 more. In the sample: bat_side_formatted: L (19), R (18), S (3); attack_angle: 1.1 to 19.39, median 10.04; b_name_display_first_last: “Caminero, Junior” and 39 other values; attack_direction_pullopp: -16.05 to 6.14, median -2.76; avg_foot_angle0: -44.55 to 4.45, median -10.7; avg_foot_sep0: 18.11 to 39.95, median 28.71; avg_plane_vertical_angle: 24.38 to 44.53, median 32.74; avg_sweetspot_speed_mph: 74.67 to 79.46, median 75.72.
Open in Playground
GET/mlb/statcast-swing-timing-detailsapiKey2 credits/request
Returns the four anonymous per-swing detail arrays expanded from a batter or pitcher Swing Timing row. Pass the row_id uniqueId from mlb-statcast-swing-timing and repeat its type and table filters so split values can be mapped to the upstream detail query.
Required: row_id, type (2 allowed values: batter, pitcher). Optional: seasons, game_types, splits, min_swings (10 allowed values: q, 1, 5, 10, 25, 50, 100, 200, 500, 1000), min_split (9 allowed values: 1, 5, 10, 25, 50, 100, 200, 500, 1000), split_year (2 allowed values: 0, 1), teams, date_start, date_end, bat_side (2 allowed values: L, R), contact_type (3 allowed values: 2, 4, 9), attack_zone (5 allowed values: 0, 1, 1.1, 2, 3), pitch_hand (2 allowed values: L, R), pitch_types, counts, swing_timing_x, swing_timing_y, swing_timing_z, flags, not_flags.
Sampled 14 Oct 2026: 10 items. Filled in every item: abs_ball_pos_above_plane, abs_delta_batball_late_neg_y2_msec, abs_delta_batball_tiedup_neg_x2, b_name_display_first_last, ball_pos_above_plane, delta_batball_late_neg_y2_msec, delta_batball_tiedup_neg_x2, game_date and 11 more. In the sample: game_date: 2026-04-29 to 2026-09-19; pitch_type: FC (5), FF (4), SI (1); abs_ball_pos_above_plane: 2.47 to 7.79, median 5.42; p_name_display_first_last: “Williams, Gavin” and 9 other values; abs_delta_batball_late_neg_y2_msec: 3.97 to 18.46, median 8.75; abs_delta_batball_tiedup_neg_x2: 0.07 to 14.74, median 5.39; ball_pos_above_plane: -7.79 to 6.28, median -2.47; delta_batball_late_neg_y2_msec: -18.46 to 8.45, median -9.84.
Open in Playground
GET/mlb/statcast-swing-timingapiKey2 credits/request
Returns batter, batting-team, pitcher, pitching-team, or league rows with the page's season, game type, pitch-group, split, team, date, swing, contact, zone, pitch hand/type, count, timing-axis, and timing-flag filters. Sorting is local. Use mlb_discovery for exact values.
Optional: type (5 allowed values: batter, batting-team, pitcher, pitching-team, league), seasons, game_types, splits, min_swings (10 allowed values: q, 1, 5, 10, 25, 50, 100, 200, 500, 1000), min_split (9 allowed values: 1, 5, 10, 25, 50, 100, 200, 500, 1000), split_year (2 allowed values: 1, 0), teams, date_start, date_end, bat_side (2 allowed values: L, R), contact_type (3 allowed values: 2, 4, 9), attack_zone (5 allowed values: 0, 1, 1.1, 2, 3), pitch_hand (2 allowed values: L, R), pitch_types, counts, swing_timing_x, swing_timing_y, swing_timing_z, flags, not_flags, sort (22 allowed values: name, team_name, pitch_hand_type, bat_side_type, n_swings, competitive_swings, strikes_swinging, miss_distance, flails, centers, tied_ups, earlys, on_times, lates, unders, lined_ups, overs, delta_run_exp, whiff_rate, competitive_percent, perfect_percent, flawed_percent), sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: api_pitch_type_group09, avg_x_centered, avg_x_flail, avg_x_tied_up, avg_y_early, avg_y_late, avg_y_on_time, avg_z_lined_up and 32 more. In the sample: bat_side_formatted: R (23), L (16), S (1); avg_z_lined_up: 0.23 to 0.85, median 0.51; b_name_display_first_last: “Aranda, Jonathan” and 39 other values; avg_z_over: -3.94 to -2.22, median -3.04; avg_z_under: 2.58 to 3.54, median 2.93; bat_side_type: R (23), L (16), X (1); centered_percent: 0.61 to 0.84, median 0.72; centers: 440 to 661, median 517.
Open in Playground
GET/mlb/statcast-top-performersapiKey2 credits/request
Returns every current Top Performers card for the selected season, including batter and pitcher rankings across batting, batted-ball, expected-stat, fielding, catching, running, and pitch-metric views. The page exposes a season selector but no per-card filters; use the specialist Statcast endpoints for complete filtered leaderboards.
Optional: year.
Open in Playground
GET/mlb/statcast-year-to-yearapiKey2 credits/request
Returns one of Baseball Savant's Year-to-Year Changes tables for batters, pitchers, batting teams, or pitching teams. Select one of the live statistic types and comparison start years; the page data contains available yearly values and differences. Table sorting and pagination are applied locally. Use mlb_discovery for all accepted group, type, and year values.
Optional: group (4 allowed values: Batter, Pitcher, Batter Team, Pitcher Team), type (90 allowed values, including ba, xba, obp, xobp, slg, xslg, iso, xiso, babip, woba, xwoba, wobacon, xwobacon, bacon, xbacon, hard_hit_percent, exit_velocity_avg, sweet_spot_percent, barrel_batted_rate, launch_angle_avg, avg_swing_speed, attack_angle, ideal_angle_rate, attack_direction, vertical_swing_path, avg_swing_length, fastball_velo, breaking_velo, offspeed_velo, barrels, popups_percent, flyballs_percent, linedrives_percent, groundballs_percent, pull_percent, straightaway_percent, opposite_percent, poorlyweak_percent, pull_percent_airballs, poorlytopped_percent), year (9 allowed values: 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017), sort, sort_dir (2 allowed values: asc, desc), limit, offset.
Sampled 14 Oct 2026: 40 items. Filled in every item: entity_id, hard_hit_percent_2025, hard_hit_percent_2026, hard_hit_percent_diff_2025, href, name, name_display_last_first, year_2015 and 10 more. Not in every item: hard_hit_percent_2015 (4), hard_hit_percent_2016 (5), hard_hit_percent_2017 (5), hard_hit_percent_2018 (5), hard_hit_percent_2019 (13), hard_hit_percent_2020 (13), hard_hit_percent_2021 (12), hard_hit_percent_2022 (24) and 12 more. In the sample: hard_hit_percent_2015: 24 to 37.5, median 33.8; name: “De La Cruz, Elly” and 39 other values; href: median 65 characters; hard_hit_percent_2016: 26.8 to 39.9, median 32.9; hard_hit_percent_2017: 30.2 to 37.9, median 34.7; hard_hit_percent_2018: 33.7 to 50.6, median 41; hard_hit_percent_2019: 19.8 to 47.4, median 41; hard_hit_percent_2020: 26.1 to 62.2, median 35.6.
Open in Playground
GET/mlb/team-rosterapiKey1 credit/request
Returns a team's players, jersey numbers, positions, and roster status. The roster_type parameter accepts every value in the live MLB value set returned by mlb_discovery.
Required: team_id. Optional: season, roster_type (9 allowed values: 40Man, fullSeason, fullRoster, nonRosterInvitees, active, allTime, depthChart, gameday, coach).
Sampled 14 Oct 2026: 40 items. Filled in every item: person, jersey_number, position, position_code, status. In the sample: position: Pitcher (20), Outfielder (7), Catcher (3) and 5 more; jersey_number: 11 to 99, median 40.
Open in Playground
GET/mlb/team-statsapiKey1 credit/request
Returns one MLB team's statistics. `team_id` and `group` (`hitting`, `pitching`, `fielding`, `catching`, `running`, `game`, `team` or `streak`) are required. `season` defaults to the current year and `stat_type` to `season`. Other `stat_type` values cover splits and logs. Use `start_date` with `end_date` for date ranges.
Required: team_id, group (8 allowed values: hitting, pitching, fielding, catching, running, game, team, streak). Optional: season, stat_type (59 allowed values, including projected, projectedRos, yearByYear, yearByYearAdvanced, yearByYearPlayoffs, season, standard, advanced, career, careerRegularSeason, careerAdvanced, seasonAdvanced, careerStatSplits, careerPlayoffs, gameLog, playLog, pitchLog, pitchArsenal, outsAboveAverage, expectedStatistics, sabermetrics, sprayChart, tracking, vsPlayer, vsPlayerTotal, vsPlayer5Y, vsTeam, vsTeam5Y, vsTeamTotal, lastXGames, byDateRange, byDateRangeAdvanced, byMonth, byMonthPlayoffs, byDayOfWeek, byDayOfWeekPlayoffs, homeAndAway, homeAndAwayPlayoffs, winLoss, winLossPlayoffs), game_type (11 allowed values: S, R, F, D, L, W, C, P, A, I, E), start_date, end_date, opponent_team_id, opponent_player_id.
Sampled 14 Oct 2026: 1 item. Filled in every item: season, team, stats.
Open in Playground
GET/mlb/teamsapiKey1 credit/request
Lists the 30 MLB clubs for a `season` (four-digit year, default the current year). Each team has its id, name, club name, location, abbreviation, league, division, venue, first year of play and active flag.
Optional: season.
Sampled 14 Oct 2026: 30 items. Filled in every item: id, name, abbreviation, active, season, club_name, location_name, first_year_of_play and 3 more. In the sample: first_year_of_play: 1,871 to 1,996, median 1,901; name: “Athletics” and 29 other values; active: true in 30 of 30; abbreviation: “ATH” and 29 other values; club_name: “Athletics” and 29 other values; location_name: “Sacramento” and 28 other values.
Open in Playground
GET/mlb/transactionsapiKey1 credit/request
Lists MLB transactions between `start_date` and `end_date`, both required in `YYYY-MM-DD` format. Covers signings, trades, options, assignments, injured-list moves and releases. Narrow with `team_id` or `player_id`. Each entry has the date, effective date, type, description, player, and from and to teams, with a total `count`.
Required: start_date, end_date. Optional: team_id, player_id.
Sampled 14 Oct 2026: 497 items. Filled in every item: id, to_team, date, effective_date, type, description. Not in every item: player (493), from_team (213). In the sample: date: 2026-07-25 to 2026-08-01; type: “Status Change” and 12 other values; effective_date: 2026-07-22 to 2026-08-02; description: “Houston Astros placed RHP Spencer Arrighetti on the 15-day…” and 461 other values.
Open in Playground