MLB API endpoint
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.
/mlb/discoveryThe Baseball Savant Sarah Langs Birthday Index (/mlb/statcast-birthday-index) accepts upcoming table types batter and pitcher, minimum birthday-game thresholds 1, 2, 3, 5, 8, and 10, plus a season-bounded birthday date. The visible sort fields are listed in that endpoint's markdown because the valid field set changes by type and whether a date is selected; these exact fields were compared with the live table bundle on 2026-09-30 and are pinned by service tests.
Returns MLB.com's current global navigation tree, including hidden same-site menu entries labeled with visible: false; external destinations are omitted. Call /mlb/search to discover query-matched editorial topics and search terms through MLB.com typeahead. No anonymous global editorial-topic catalog was found during research. The Stats API advertises two additional stat labels (metricLog, metricAverages) that returned HTTP 500 during live replay, so they are omitted from this supported-value list. MLB Pipeline prospect-stat periods, minimum PA thresholds, and position filters are included for /mlb/prospect-stats; curated ranking views, years, teams, positions, and sort controls are included for /mlb/prospect-rankings. Hitting positions and player pools for /mlb/league-stats are included below. Stats API and MLB Pipeline stats values were live-verified and exact-set tested on 2026-09-28; Baseball Savant navigation and standard leaderboard filters were live-verified and exact-set tested on 2026-09-29; Pipeline ranking paths and value sets were cold-replayed through production egress on 2026-09-29.
Baseball Savant Top Performers (/mlb/statcast-top-performers) returns all cards for one season. Its only live selector is year; the current exact values are exposed as statcast_top_performers_years by /mlb/discovery: 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 (verified 2026-10-01). The dated snapshot of all 77 card IDs, labels, roles, and complete-leaderboard links is in mlb-top-performers-inventory-2026-10-01.json. Historical seasons return fewer rows on some cards.
Baseball Savant ABS Challenges (/mlb/statcast-abs-challenges) supports batter/team/catcher/pitcher/league views, seasons, game types, challenger/opponent team ids, split dimensions, pitch types, shadow zones, challenge thresholds, level, leverage, pitch location, and breakeven bands. The exact current value sets are exposed as statcast_abs_challenge_filters; the source selector and representative combined query were checked live on 2026-10-01. Its page currently lists seasons 2025, 2026.
Baseball Savant Running Game (/mlb/statcast-running-game) supports pitcher, pitching-team, and league tables with live-verified game type, throwing hand, runner outcome, target base, prior pickoff/disengagement count, minimum opportunity, season span/split, team/team-stint, and active-with-team controls. The exact values are exposed as statcast_running_game_filters; the first-party page, filter query, and per-play detail feed were cold-replayed anonymously on 2026-10-01. Attempt details are available through /mlb/statcast-running-game-details; League rows have no detail feed.
Baseball Savant Baserunning (/mlb/statcast-baserunning) covers the separate Baserunning Run Value, Basestealing, and Extra Bases Taken tables. The board selector chooses one of baserunning-run-value, basestealing-running-game, or baserunning; statcast_baserunning_filters returns the exact groups, seasons, thresholds, teams, basestealing controls, key play situations, and sortable row fields for each board. Search, sorting, and pagination operate over the first-party page's embedded table rows.
Game types: S, R, F, D, L, W, C, P, A, I, E
Roster types: 40Man, fullSeason, fullRoster, nonRosterInvitees, active, allTime, depthChart, gameday, coach
Standings types: regularSeason, wildCard, divisionLeaders, wildCardWithLeaders, firstHalf, secondHalf, springTraining, postseason, byDivision, byConference, byLeague, byOrganization, currentHalf
Stat groups: hitting, pitching, fielding, catching, running, game, team, streak
Stat types: 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, rankings, rankingsByYear, statsSingleSeason, statsSingleSeasonAdvanced, hotColdZones, availableStats, opponentsFaced, gameTypeStats, firstYearStats, lastYearStats, statSplits, statSplitsAdvanced, atGameStart, vsOpponents, sabermetricsMultiTeam, projected_Zips, projected_ZipsRos, projected_Zips2YR, projected_Zips3YR
League leader categories: assists, shutouts, homeRuns, sacrificeBunts, sacrificeFlies, runs, groundoutToFlyoutRatio, stolenBases, battingAverage, groundOuts, numberOfPitches, onBasePercentage, caughtStealing, groundIntoDoublePlays, totalBases, earnedRunAverage, fieldingPercentage, walksAndHitsPerInningPitched, flyouts, hitByPitches, gamesPlayed, walks, sluggingPercentage, onBasePlusSlugging, runsBattedIn, triples, extraBaseHits, hits, atBats, strikeouts, doubles, totalPlateAppearances, intentionalWalks, wins, losses, saves, wildPitch, airOuts, balk, blownSaves, catcherEarnedRunAverage, catchersInterference, chances, completeGames, doublePlays, earnedRun, errors, gamesFinished, gamesStarted, hitBatsman, hitsPer9Inn, holds, innings, inningsPitched, outfieldAssists, passedBalls, pickoffs, pitchesPerInning, putOuts, rangeFactorPerGame, rangeFactorPer9Inn, saveOpportunities, stolenBasePercentage, strikeoutsPer9Inn, strikeoutWalkRatio, throwingErrors, totalBattersFaced, triplePlays, walksPer9Inn, winPercentage
MLB Pipeline prospect-stat date ranges: today, 1day, 10day, 30day, springTraining, and each Year2019 through Year2026 (the year list grows with newly published seasons). Minimum PA thresholds: 1, 5, 10, 25, 50, 100, 150, 200, 250. Prospect positions: 1b, 2b, ss, 3b, c, of, rhp, lhp. Prospect list types accepted by /mlb/prospect-stats: top100, all. The endpoint also accepts team ids from /mlb/teams.
MLB Pipeline curated ranking views: top100, team, position, draft, international. Ranking years from the live selector: 2026, 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2011, 2012. Top 30 by Team slugs: dbacks, athletics, braves, orioles, redsox, cubs, whitesox, reds, guardians, rockies, tigers, astros, royals, angels, dodgers, marlins, brewers, twins, mets, yankees, phillies, pirates, padres, mariners, giants, cardinals, rays, rangers, bluejays, nationals. Top 10 by Position: 1b, 2b, ss, 3b, c, of, rhp, lhp. Local ranking sort fields: rank, level, eta, age; sort directions: asc, desc. The Top 100 organization filter uses the same 30 team slugs. The year selector order above is the exact live selector order; source list counts vary by year and are not padded.
League stats player pools: QUALIFIED, ALL. League stats hitter positions (use with group=hitting): C, 1B, 2B, 3B, SS, LF, CF, RF, DH, OF, IF. League stats team filters use current team ids from /mlb/teams; ranked results support limit 1–100 and offset 0–10000.
Baseball Savant Statcast entity types: batter, pitcher, batter-team, pitcher-team. Statcast batter positions: C, 1B, 2B, SS, 3B, LF, CF, RF, DH; use only with type=batter. Minimum BBE choices: q, 1, 25, 50, 100, 150, 200, 250, 350, 450, 500, 600. Sort directions: asc, desc. Sort fields: 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. Statcast seasons are the current season through 11 seasons prior; the live 2026 selector showed 2015 through 2026. Statcast team filters use current team IDs from /mlb/teams.
Baseball Savant's observed leaderboard navigation categories from the live selector (2026-09-29): top-performers, custom, hot-stove, park_factors, pitch-timer-infractions, abs-challenges, bat-tracking, batted-ball, hitting, expected, home_runs, percentile_rankings, batter_pitch_arsenal_stats, pitch_tempo_batter, rolling, batting_run_value, birthdays, bat-tracking-swing-path, year_to_year, active_spin, pitcher-arm-angle, pitching-bat-tracking, pitching, pitching_expected, pitching_home_runs, pitching_percentile_rankings, pitch_arsenal_stats, pitch_arsenals, pitch_movement, pitch_tempo, pitcher_running_game, pitching_run_value, spin_direction_compare, spin_direction_pitches, bat-tracking-swing-timing, pitching_year_to_year, fielding-run-value-new, arm-strength, arm-value, catcher-blocking, catcher-framing, poptime, catcher-stance, catcher-throwing, first-base-receiving, catch-prob, direct_oaa, jump, oaa, baserunning-run-value, basestealing-running-game, baserunning, sprint-speed, running-splits, batter-positioning, batting-stance, fielding-situational-all, fielding-situational, pitcher-positioning, team-positioning. These are a navigation inventory, not accepted values of /mlb/statcast-leaders; separate page contracts are implemented for the standard leaderboard, Expected Statistics, Outs Above Average, Arm Strength, Sprint Speed, primary Bat Tracking, Swing Path/Attack Angle, Swing Timing/Miss Distance, Pitch Tempo, Pitch Timer Infractions, Pitch Arsenal Stats, Pitch Arsenals, and Home Runs Tracking. The discovery response exposes exact filter sets for implemented boards.
Baseball Savant Catcher Framing (/mlb/statcast-catcher-framing) group values are catcher, catching-team, batter, batting-team, pitcher, league; game types are Any, Playoff, Regular; minimum pitches are q, 100, 250, 500, 750, 1000, 1250, 1500; and minimum results are 1, 25, 50, 100, 250, 500, 750, 1000, 1250, 1500. Seasons are 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026; team ids are 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. Batter sides and pitcher hands are L, R; pitch types are FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN; zone values are in, out; call models are original, final; sort directions are asc, desc. The endpoint markdown lists the full locally sortable row field set. Repeated team and pitch-type selections fail upstream, so each accepts one value. Catcher Framing row pitch events are available from /mlb/statcast-catcher-framing-details; league rows have no details. These exact sets were live-replayed and pinned in tests on 2026-09-30.
Baseball Savant Pitch Arsenal Stats (/mlb/statcast-pitch-arsenal) accepts type: pitcher, batter; the current eight-season selector (2019–2026); team_id values from /mlb/teams; pitch_type: blank, FF, CH, CU, FC, KN, SC, SI, SL, SV, FS, ST, plus first-party-compatible aliases CUKC (same rows as CU) and SIFT (same rows as SI); min_pa: 1, 10, 25, 50, 100, 150, 200, 250, 350, 450, 500, 600; and min_pitches: q, 1, 10, 50, 100, 200, 300, 500, 750. The q value selects qualified rows. Table sorting supports 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; directions are asc, desc. /mlb/statcast-pitch-arsenal-details accepts a positive player_id, player_type (pitcher, batter), pitch_type from the same set, and a season from the same eight-year selector. The first-party expansion request also includes min_ab, but it is ignored: min_ab=1 and min_ab=100 returned the same 416 pitcher FF plays for Kevin Gausman in 2026, so it is excluded. A cold replay of type=team returned an empty table and that value is not in the visible selector, so the API rejects it. CUKC/SIFT are accepted aliases the first-party script maps back to the visible CU/SI choices. The source table embeds the full row data; sort and page are local, with the details request returning game-level rows and play_id identifiers.
Baseball Savant's separate Pitch Arsenals leaderboard (/mlb/statcast-pitch-arsenals) accepts type: avg_speed, n_, avg_spin; year: current season back 18 seasons (19 values; 2008–2026 at verification); hand: R, L or blank for all; min_pitches: q, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000; and the exact current abbreviations 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. avg_spin is hidden by the first-party selector before 2015, but a direct request for 2008 returns data. The first-party table sort fields are player_name, four_seam, sinker, cutter, slider, changeup, curve, splitter, sweeper, slurve; directions are asc, desc. Team filtering, sorting, and pagination are client-side in the source page and are performed locally by REST. mlb_discovery exposes these value sets and the 2015 UI cutoff.
Expanded standard Statcast player-detail rows (/mlb/statcast-player-details) accept player_type: batter, pitcher. The current supported year range is statcast_min_year through statcast_max_year (currently 2015–2026); the player id comes from a row in /mlb/statcast-leaders. The upstream UI sends type and min_ab for these detail requests, but cold replay showed both inputs are ignored; they are not accepted by the public detail route.
Baseball Savant Arm Strength (/mlb/statcast-arm-strength) view types: player, team. Verified years: 2020, 2021, 2022, 2023, 2024, 2025, 2026, 9999 (All Years). Verified team IDs: 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 metrics: arm_inf, arm_of, arm_1b, arm_2b, arm_3b, arm_ss, arm_lf, arm_cf, arm_rf. Minimum throws: 50, 100, 300, 500, 1000. Sort fields: 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; directions: asc, desc. These controls change the page query/data except sort, which is applied to the embedded rows locally. /mlb/statcast-arm-strength-player returns the per-player throw-detail feed; it accepts a positive player_id and the same verified year values.
Expected Statistics (/mlb/statcast-expected) view types: batter, pitcher, batter-team, pitcher-team. Qualifier kinds: bip, pa. Minimum thresholds: q, 1, 25, 50, 100, 150, 200, 250, 350, 450, 500, 600. Seasons: 2015 through the current season (2026 at verification). Batter positions: C, 1B, 2B, SS, 3B, LF, CF, RF, DH; position applies only to type=batter, and is rejected for other views because the source silently ignores it. Team IDs come from /mlb/teams. Sort fields: 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 directions: asc, desc.
Outs Above Average (/mlb/statcast-oaa) view types: Fielder, Fielding_Team, Batter, Batting_Team, Pitcher. Seasons: 2016 through the current season (2026 at verification); start and end season may be selected as an ordered range. Split-years: no, yes. Time ranges: year, 4 (March/April), 5 (May), 6 (June), 7 (July), 8 (August), 9 (September). Minimum attempts: q, 10, 25, 50, 75, 100, 150, 200, 250. Positions: if, of, 3, 4, 5, 6, 7, 8, 9. Detailed fielder roles: 32, 30, 31, 77, 71, 70, 72, 78, 43, 42, 40, 41, 46, 87, 81, 82, 89, 64, 62, 60, 61, 98, 91, 90, 92, 99, 51, 50, 52 (descriptions are returned by discovery). Team IDs come from /mlb/teams. Position, roles, and minimum-attempt controls are rejected for team views because upstream ignores them. Sort fields: 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 directions: asc, desc.
The only supported sport is 1 (Major League Baseball). MLB leagues are 103 (American League) and 104 (National League); divisions are 201 (AL East), 202 (AL Central), 203 (AL West), 204 (NL East), 205 (NL Central), and 206 (NL West). Use /mlb/teams for the current 30-team list.
Baseball Savant Arm Value (/mlb/statcast-arm-value) accepts a case- and accent-insensitive local row-name substring q (maximum 100 characters) and view types Run, Fld, Pit, Batting Team, Pitching Team, League; game types Regular, Playoff, All; baserunner situations 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; and minimum-opportunity choices top, 1, 5, 10, 20, 30, 40, 50, 75, 100, 250, 500, 1000. Discovery returns every accepted season in statcast_arm_value_years; the verified list is 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026 and advances with the current season. split accepts no or yes; team_id accepts the 30 MLB team IDs listed above or split (omit for all teams); with_team_only accepts 1 or 0 on player views with a specific team. Sort fields are 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 directions are asc, desc. /mlb/statcast-arm-value-details returns the expanded game-level plays for a positive player entity_id in Run, Fld, or Pit views. The exact filter values were live-replayed anonymously via balanced egress on 2026-09-29; sort and name search are local page behavior.
Baseball Savant Sprint Speed player rows are available at /mlb/statcast-sprint-speed; team rows are available at /mlb/statcast-sprint-speed-teams. Player min_season and max_season each accept 2015 through 2026 and must be ordered; position accepts all, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (omitting it selects All Positions); team_id accepts the same 30 MLB team IDs listed above; and minimum_runs accepts 0, 5, 10, 25, 50, 75, 100, 150, 200, 250. Player sort fields are player, team, position, age, competitive_runs, bolts, home_to_first, sprint_speed; age is valid only for one season. Team season accepts 2015 through 2026 or all, and team accepts 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. Team sort fields are season, team, players, competitive_runs, average_sprint_speed, fastest_sprint_speed, slowest_sprint_speed, bolts, average_home_to_first; both endpoints accept asc, desc directions. Both support limit from 1 to 500 (default 100) and offset from 0 to 5000 (default 0). Discovery exposes the exact closed sets under statcast_sprint_speed_*. The team selector is client-side in the source: each upstream response embeds all 30 teams, so the API applies the validated team filter locally. The live source returns a valid empty player table for position 1 (pitcher) and this is preserved as an empty rows array.
Baseball Savant Bat Tracking (/mlb/statcast-bat-tracking) exposes table types batter, batting-team, pitcher, pitching-team, league; seasons 2023, 2024, 2025, 2026 (the current live page's four-season selector); game types Any, Playoff, Regular; min_swings values q, 1, 5, 10, 25, 50, 100, 200, 500, 1000; and min_group_swings values 1, 5, 10, 25, 50, 100, 200, 500, 1000. Filters also include bat sides L, R; contact types 2, 4, 9; hard-hit values 1, 0; attack zones 0, 1, 1.1, 2, 3; pitch hands L, R; all 30 team IDs listed above; pitch types FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN; and counts 00, 01, 02, 10, 11, 12, 20, 21, 22, 30, 31, 32. The live page permits up to four group-by values: year, api_game_date_month_text, bat_contact_code, api_pitch_type_group03, game_type, is_hit_into_play_hardhit, is_best_speed, pitch_hand, bat_side, is_pre_ball_count_3, is_pre_strike_count_2. Date filters independently accept YYYY-MM-DD values; if both are supplied, start must not follow end. Local sort directions are asc, desc; sort fields are 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, savant_batter_id, team_id, team_name, side, n_sides, n_teams, bat_side_formatted. Team, pitch, count, and grouping filters are repeatable parameters; maximum local page size is 500 and maximum offset is 5000. This main table covers the bat-tracking and pitching-bat-tracking selector rows. The separate Swing Path and Swing Timing pages remain distinct category gaps.
Baseball Savant Pitch Tempo (/mlb/statcast-pitch-tempo) accepts type values Pit, Bat, Pitching Team, Batting Team, League; each season bound is 2010 through the current year; game_type is Regular, Playoff, or All; and n (minimum pitches) is q, 1, 10, 50, 100, 250, 500, 1000, 2000, or 5000. team accepts MLB team IDs 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, or 158; split accepts yes or no; and with_team_only accepts 0 or 1 only when a team is selected. sort accepts 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, or freq_cold_onbase; sort_dir is asc or desc. q is an optional local entity-name substring; limit is 1–500 and offset is 0–5000. /mlb/statcast-pitch-tempo-player accepts detail types Pit or Bat with the same year and game-type values. The first-party team selector value split was cold-replayed and did not change the embedded table data, so it is intentionally excluded. The menu selects the batter list with pitch_tempo_batter and the pitcher list with pitch_tempo; both are covered by the shared endpoint with distinct type values.
Baseball Savant Swing Path/Attack Angle (/mlb/statcast-swing-path) accepts row types batter, batting-team, league; seasons 2023–2026; game types Any, Exhibition, Playoff, Regular; min_swings q, 1, 5, 10, 25, 50, 100, 200, 500, 1000; min_group_swings 1, 5, 10, 25, 50, 100, 200, 500, 1000; all MLB team IDs; date bounds; bat side L/R; contact type 2/4/9; hard-hit 1/0; attack zones 0, 1, 1.1, 2, 3; and pitch hand L/R. Sort fields and all values are listed in the matching endpoint markdown and discovery response.
Baseball Savant Swing Timing/Miss Distance (/mlb/statcast-swing-timing) accepts row types batter, batting-team, pitcher, pitching-team, league; seasons 2023–2026; game types R, A, F, D, L, W; split fields api_pitch_type_group03, api_pitch_type_group09, api_game_date_month_text, bat_contact_code, game_type, is_hit_into_play_hardhit, is_best_speed, timing_x_tiedupflail, timing_y_earlylate, timing_z_overunder, pitch_hand, bat_side, is_pre_ball_count_3, is_pre_strike_count_2, pitchzone_height_code, is_starter_pitcher; swing thresholds and team IDs from Bat Tracking; pitch types, counts, timing-axis values, and timing flags documented in the endpoint markdown. Discovery and validation pin each accepted set. These two routes cover two more of the 60 navigation entries; the remaining 46 entries still require research, and the row-expansion JSON plus raw CSV mode remain outside these table endpoints.
Baseball Savant Pitch Timer Infractions (/mlb/statcast-pitch-timer) accepts entity groups Pit, Bat, Cat, Team, Opp; the live four-season window (2023–2026); minimum pitches 1, 5, 25, 50, 100, 250, 500, 1000; include-zero flags 0, 1; chart ordering violating, violated, net, ballsAgainst, ballsFor, strikesAgainst, strikesFor, division; and table sort fields 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, with asc/desc. include_zeroes=1 adds zero-infraction player rows for Pit/Bat/Cat; first-party Team/Opp results are unchanged by that control. Name search and table sort are local. The chart_sort parameter records the native SVG control but the SVG itself and CSV download are outside the JSON table response.
Baseball Savant Pitch Movement (/mlb/statcast-pitch-movement) exposes seasons 2026 through 2017; pitch types FF, CH, CU, FC, FO, KN, SC, SI, SL, SV, FS, ST, and ALL; hands R, L (omit for both); minimums q, 50, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000; and local sort fields 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, with asc/desc. The X/Z chart-axis selectors and CSV download are separate presentation outputs.
Baseball Savant Batted Ball Profile (/mlb/statcast-batted-ball) supports row types batter, batting-team, pitcher, pitching-team, league; seasons 2015–2026; game types R, A, F, D, L, W; and split dimensions api_game_date_month_text, game_type, api_pitch_type_group03, bat_side, pitch_hand. The live checkbox list hides A, but anonymous replay of gameType[]=A returned 2025 rows (35), so it is retained as a confirmed query value. Minimum BBE values are q, 1, 5, 10, 25, 50, 100, 200, 500, 1000; minimum split counts are 1, 5, 10, 25, 50, 100, 200, 500, 1000; split_year accepts 1, 0 (also exposed by discovery). Teams accept the 30 IDs 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. Pitch types are FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN; batter side and pitcher hand accept L, R. The page's league-average toggle is backed by a separate embedded row, exposed only when requested. Date filters are date_start, date_end in YYYY-MM-DD format, with the live input starting at 2015-04-05. Sorting is local over 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; directions are asc, desc. CSV and graphics are separate outputs.
Baseball Savant Active Spin (/mlb/statcast-active-spin) accepts the 17 unique season/method 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; the live HTML repeats 2020_observed, which is represented once in discovery. Minimum pitch counts are 50, 100, 250, 500, 750, 1000, 1500, 2000, 2500, 3000; hand accepts R, L, or blank for all pitchers. Local sort fields are 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; directions are asc, desc. The pitcher search highlights the SVG chart; chart and CSV output remain outside the JSON table response.
Baseball Savant Home Runs Tracking (/mlb/statcast-home-runs) accepts player_type Batter/Pitcher, seasons 2019–2026 (the current season and previous seven), all 30 team IDs 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, minimum home runs 0, 5, 10, 15, 20, 25, and trajectory modes adj_xhr (Adjusted), xhr (Standard). It also supports local table sort fields player, team, year, cat, avg_hr_trot, doubters, mostly_gone, no_doubters, no_doubter_per, hr_total, xhr, xhr_diff; sort directions asc/desc; and pagination. Per-player play rows use /mlb/statcast-home-runs-details with the same player type, year, and trajectory mode. CSV, trajectory imagery, and linked video are separate source representations.
Baseball Savant Percentile Rankings (/mlb/statcast-percentile) supports type batter/pitcher, seasons 2015–2026, and the 30 team IDs listed in the Home Runs Tracking section (omit team for all teams). The pctl parameter is repeatable and uses <field>-<comparator>-<value>; comparators are gte, gt, lt, lte, values are 0–100, and a field may be used once per request. Batter filter/sort metric fields are percent_rank_xwoba, percent_rank_xba, percent_rank_xslg, percent_rank_xiso, percent_rank_xobp, percent_rank_barrel, percent_rank_barrel_batted_rate, percent_rank_exit_velocity_avg, percent_rank_exit_velocity_max, percent_rank_hard_hit_percent, percent_rank_k_percent, percent_rank_bb_percent, percent_rank_whiff_percent, percent_rank_chase_percent, percent_speed_order, percent_rank_oaa, percent_rank_arm_overall, percent_rank_swing_speed, percent_rank_squared_up_swing, percent_rank_swing_length. Pitcher fields are percent_rank_xwoba, percent_rank_xba, percent_rank_xslg, percent_rank_xiso, percent_rank_xobp, percent_rank_barrel, percent_rank_barrel_batted_rate, percent_rank_exit_velocity_avg, percent_rank_hard_hit_percent, percent_rank_k_percent, percent_rank_bb_percent, percent_rank_whiff_percent, percent_rank_chase_percent, percent_rank_fastball_velo, percent_rank_fastball_spin, percent_rank_cu_spin, percent_rank_fastball_extension, percent_rank_swing_speed, percent_rank_squared_up_swing, percent_rank_swing_length. Sort also accepts player_name; direction is asc/desc. Team selection is sent to the first-party page; percentile filters and table sorting run locally against its embedded rows. Pagination accepts limit 1–500, offset 0–5000.
statcast_rolling_metrics: xwoba, woba, ba, xba, slg, xslg.
statcast_rolling_roles: Batter, Pitcher.
statcast_rolling_window_pa_values: 50, 100, 250.
Baseball Savant Year-to-Year Changes (/mlb/statcast-year-to-year) supports groups Batter, Pitcher, Batter Team, Pitcher Team; comparison start years 2025, 2024, 2023, 2022, 2021, 2020, 2019, 2018, 2017 (each compares the selected year with the following season); and metrics 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, poorlyunder_percent, flareburner_percent, solidcontact_percent, hr_flyballs_percent, popups, flyballs, linedrives, groundballs, in_zone_percent, out_zone_percent, edge_percent, z_swing_percent, oz_swing_percent, iz_contact_percent, oz_contact_percent, whiff_percent, f_strike_percent, f_swing_percent, swing_percent, meatball_swing_percent, meatball_percent, z_swing_miss_percent, oz_swing_miss_percent, in_zone, out_zone, edge, in_zone_swing, out_zone_swing, in_zone_swing_miss, out_zone_swing_miss, pitch_count, pa, ab, hit, single, double, triple, home_run, walk, strikeout, k_percent, bb_percent, hbp, batted_ball, pitch_usage_fastball, pitch_usage_offspeed, pitch_usage_breaking, pitch_count_fastball, pitch_count_offspeed, pitch_count_breaking. The embedded page data includes all yearly and difference columns; accepted local sort fields are name_display_last_first, year_2015 through year_2026, <selected metric>_2015 through <selected metric>_2026, and <selected metric>_diff_2015 through <selected metric>_diff_2025. Directions are asc, desc; the defaults are descending for batter tables and ascending for pitcher tables. limit is 1–500, offset is 0–5000. No team, position, or date filter exists on the source page. Discovery returns the exact group/year/metric sets.
Baseball Savant Pitcher Arm Angle (/mlb/statcast-arm-angle) accepts seasons 2020, 2021, 2022, 2023, 2024, 2025, 2026 (at most three per request); all 30 team ids 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; game types R, F, D, L, W; pitch types FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN; pitcher hand and batter side L or R (omit for either hand); total pitch thresholds q, 1, 5, 10, 25, 50, 100, 300, 500, 1000, 1500, 2000, 2500, 3000; per-group thresholds 1, 5, 10, 25, 50, 100, 300, 500, 1000, 1500, 2000; and up to four grouping fields from year, api_game_date_month_text, api_pitch_type_group03, game_type, bat_side, fld_team_id. Inclusive date_start/date_end are free dates and must be supplied together. Sort fields are name, team_name, pitch_hand, n_pitches, arm_angle, release_ball_x, relative_release_ball_x, release_ball_z, relative_shoulder_x, shoulder_z; directions are asc, desc. limit is 1–500, and offset is 0–5000. The table has no selectable player/team row type; explicitly selecting all 30 teams is treated as no team filter. Charts, animation, and CSV are separate formats.
Run Value discovery fields include statcast_run_value_groups (Batter,
Pitcher), statcast_run_value_years (All, Career, and 2008 through the
current season), statcast_run_value_minimums, statcast_run_value_leverages,
statcast_run_value_types, statcast_run_value_subtypes,
statcast_run_value_sort_fields, and
statcast_run_value_sort_directions. Subtypes are conditional on type; the
endpoint validates that relationship. Use statcast_batted_ball_team_ids for
team ids.
Statcast Park Factors discovery fields include statcast_park_factor_types,
statcast_park_factor_years (1969 through the current season),
statcast_park_factor_statcast_years (2016 through current),
statcast_park_factor_dimension_years (2015 through current),
statcast_park_factor_bat_sides, statcast_park_factor_conditions,
statcast_park_factor_rolling_windows, statcast_park_factor_stats,
statcast_park_factor_parks, and
statcast_park_factor_sort_directions. The accepted year list depends on type;
distance-all has no selectable season.
Baseball Savant Catcher Pop Time (/mlb/statcast-catcher-pop-time) was live-replayed on 2026-09-30. Accepted seasons are 2015–2026; MLB team ids are 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 values are 1, 5, 10, 15, 20; min3b values are 0, 1, 5, 10, 15, 20; sort fields are 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 directions are asc, desc. The first-party table filters season/team/minimum attempts upstream, while sorting is local to the page. All team ids, seasons, and minimum thresholds were replayed; the 2026 baseline returned 94 rows and min thresholds changed row counts. CSV and chart surfaces are excluded.
The Catcher Stance discovery fields statcast_catcher_stance_types, statcast_catcher_stance_seasons, statcast_catcher_stance_game_types, statcast_catcher_stance_min_pitches, statcast_catcher_stance_min_results, statcast_catcher_stance_sides, statcast_catcher_stance_knee_codes, statcast_catcher_stance_team_ids, statcast_catcher_stance_pitch_types, statcast_catcher_stance_group_by, statcast_catcher_stance_sort_fields, and statcast_catcher_stance_sort_directions expose every closed selector set for this table. group_by=none maps to the source page's verified empty-grouping state. The live evidence and exact values are recorded in MLB Statcast Catcher Stance.
The Catcher Throwing fields statcast_catcher_throwing_types, statcast_catcher_throwing_seasons, statcast_catcher_throwing_game_types, statcast_catcher_throwing_minimum_attempts, statcast_catcher_throwing_target_bases, statcast_catcher_throwing_team_ids, statcast_catcher_throwing_sort_fields, and statcast_catcher_throwing_sort_directions expose the complete closed selector sets for the leaderboard. Catcher attempt details use the same season, game type, minimum, target-base, and team values. See MLB Statcast Catcher Throwing for the live replay and exact values.
Baseball Savant Catcher Stance (/mlb/statcast-catcher-stance) was cold-replayed anonymously on 2026-10-01 from its embedded const data rows and first-party dynamic-aggregate JS. The six entity types are catcher, catching-team, batter, batting-team, pitcher, and league; seasons are 2020–2026; game types are Any, Playoff, and Regular; minimum-pitch values are q, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000, 15000, 20000; result thresholds are 1, 25, 50, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000, 15000, 20000; side/hand values are L, R; knee codes are 9999, 4, 1, 2, 3; pitch types are FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN; team ids are the full 30-team set in the endpoint markdown. Grouping supports up to four of year, api_game_date_month_text, game_type, knee_code_overview, pitch_hand, bat_side, api_pitch_type_group03, and knee_code. Each entity type and representative closed filter was replayed; all 30 team IDs and 12 pitch types worked in pipe-delimited multi-selects; both four-dimension grouping combinations returned rows. Season, game, hand, pitch, knee, minimum pitch/result, date, team, and grouping replays changed the source payload. minSwings, minGroupSwings, and minContact echoed state without changing rows and are excluded. Table data is covered; chart data and page-local search/column toggles are excluded. The Firecrawl scrape tool returned a 404 for the noncanonical short path; direct anonymous requests to /leaderboard/catcher-stance returned 200 and supplied the page evidence.
First Base Receiving uses statcast_first_base_receiving_types, statcast_first_base_receiving_seasons, statcast_first_base_receiving_game_types, statcast_first_base_receiving_minimums, statcast_first_base_receiving_minimum_split_values, statcast_first_base_receiving_split_year_values, statcast_first_base_receiving_secondary_splits, statcast_first_base_receiving_hands, statcast_first_base_receiving_minimum_heights, statcast_first_base_receiving_field_out_values, statcast_first_base_receiving_runner_states, statcast_first_base_receiving_throw_positions, statcast_first_base_receiving_throw_heights, statcast_first_base_receiving_throw_locations, statcast_first_base_receiving_time_bins, statcast_first_base_receiving_sort_fields, and statcast_first_base_receiving_sort_directions. Team ids reuse statcast_arm_strength_team_ids. Each set was replayed against the live First Base Receiving interface on 2026-10-01. See First Base Receiving for coverage and details.
Baseball Savant Fielding Run Value (/mlb/statcast-fielding-run-value) discovery fields are statcast_fielding_run_value_types, statcast_fielding_run_value_seasons, statcast_fielding_run_value_game_types, statcast_fielding_run_value_fielding_minimums, statcast_fielding_run_value_batting_minimums, statcast_fielding_run_value_positions, statcast_fielding_run_value_team_ids, statcast_fielding_run_value_group_by, statcast_fielding_run_value_sort_fields, and statcast_fielding_run_value_sort_directions. The batting/pitching minimum list also applies to minimum_split; 0.1 is available only for fielder and fielding-team views. Every listed value was replayed against the anonymous first-party leaderboard on 2026-10-01. See Fielding Run Value for the exact accepted values, route-mapping evidence, and covered/excluded surfaces.
| Field | Filled in, of 90 checked | Values in the sample |
|---|---|---|
| value | 90 | “ba” and 89 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/mlb/discovery" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"sports": [
{
"id": 1,
"name": "Major League Baseball"
}
],
"leagues": [
{
"id": 103,
"name": "American League"
},
{
"id": 104,
"name": "National League"
}
],
"game_types": [
{
"value": "S",
"description": "Spring Training"
}
],
"stat_hitter_positions": [
{
"value": "C"
},
{
"value": "1B"
}
],
"stat_player_pools": [
{
"value": "QUALIFIED"
},
{
"value": "ALL"
}
],
"sections": [
{
"label": "News",
"url": "https://www.mlb.com/news"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/mlb.discoveryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | mlb.MLBDiscoveryResponse | No | ||||
| data.divisions | array | No | ||||
| data.divisions[].id | integer | No | MLB id of the player or league. | |||
| data.divisions[].name | string | No | Name of the player or league. | |||
| data.fetched_at | string | No | ||||
| data.game_types | array | No | ||||
| data.game_types[].description | string | No | ||||
| data.game_types[].value | string | No | ||||
| data.leader_categories | array | No | ||||
| data.leader_categories[].description | string | No | ||||
| data.leader_categories[].value | string | No | ||||
| data.leagues | array | No | ||||
| data.leagues[].id | integer | No | MLB id of the player or league. | |||
| data.leagues[].name | string | No | Name of the player or league. | |||
| data.prospect_date_ranges | array | No | ||||
| data.prospect_date_ranges[].description | string | No | ||||
| data.prospect_date_ranges[].value | string | No | ||||
| data.prospect_minimum_pa | array | No | ||||
| data.prospect_positions | array | No | ||||
| data.prospect_positions[].description | string | No | ||||
| data.prospect_positions[].value | string | No | ||||
| data.prospect_ranking_positions | array | No | ||||
| data.prospect_ranking_positions[].description | string | No | ||||
| data.prospect_ranking_positions[].value | string | No | ||||
| data.prospect_ranking_sort_directions | array | No | ||||
| data.prospect_ranking_sort_directions[].description | string | No | ||||
| data.prospect_ranking_sort_directions[].value | string | No | ||||
| data.prospect_ranking_sort_fields | array | No | ||||
| data.prospect_ranking_sort_fields[].description | string | No | ||||
| data.prospect_ranking_sort_fields[].value | string | No | ||||
| data.prospect_ranking_teams | array | No | ||||
| data.prospect_ranking_teams[].description | string | No | ||||
| data.prospect_ranking_teams[].value | string | No | ||||
| data.prospect_ranking_views | array | No | ||||
| data.prospect_ranking_views[].description | string | No | ||||
| data.prospect_ranking_views[].value | string | No | ||||
| data.prospect_ranking_years | array | No | ||||
| data.prospect_ranking_years[].description | string | No | ||||
| data.prospect_ranking_years[].value | string | No | ||||
| data.roster_types | array | No | ||||
| data.roster_types[].description | string | No | ||||
| data.roster_types[].value | string | No | ||||
| data.sections | array | No | ||||
| data.sections[].children | array | No | ||||
| data.sections[].label | string | No | ||||
| data.sections[].url | string | No | ||||
| data.sections[].visible | boolean | No | ||||
| data.source_url | string | No | ||||
| data.sports | array | No | ||||
| data.sports[].id | integer | No | MLB id of the player or league. | |||
| data.sports[].name | string | No | Name of the player or league. | |||
| data.standings_types | array | No | ||||
| data.standings_types[].description | string | No | ||||
| data.standings_types[].value | string | No | ||||
| data.stat_groups | array | No | ||||
| data.stat_groups[].description | string | No | ||||
| data.stat_groups[].value | string | No | ||||
| data.stat_hitter_positions | array | No | ||||
| data.stat_hitter_positions[].description | string | No | ||||
| data.stat_hitter_positions[].value | string | No | ||||
| data.stat_player_pools | array | No | ||||
| data.stat_player_pools[].description | string | No | ||||
| data.stat_player_pools[].value | string | No | ||||
| data.stat_types | array | No | ||||
| data.stat_types[].description | string | No | ||||
| data.stat_types[].value | string | No | ||||
| data.statcast_abs_challenge_filters | mlb.StatcastABSChallengeFilters | No | ||||
| data.statcast_abs_challenge_filters.ball_strike | array | No | ||||
| data.statcast_abs_challenge_filters.ball_strike[].description | string | No | ||||
| data.statcast_abs_challenge_filters.ball_strike[].value | string | No | ||||
| data.statcast_abs_challenge_filters.breakeven | array | No | ||||
| data.statcast_abs_challenge_filters.breakeven[].description | string | No | ||||
| data.statcast_abs_challenge_filters.breakeven[].value | string | No | ||||
| data.statcast_abs_challenge_filters.challenge_types | array | No | ||||
| data.statcast_abs_challenge_filters.challenge_types[].description | string | No | ||||
| data.statcast_abs_challenge_filters.challenge_types[].value | string | No | ||||
| data.statcast_abs_challenge_filters.data_counts | array | No | ||||
| data.statcast_abs_challenge_filters.data_counts[].description | string | No | ||||
| data.statcast_abs_challenge_filters.data_counts[].value | string | No | ||||
| data.statcast_abs_challenge_filters.data_modes | array | No | ||||
| data.statcast_abs_challenge_filters.data_modes[].description | string | No | ||||
| data.statcast_abs_challenge_filters.data_modes[].value | string | No | ||||
| data.statcast_abs_challenge_filters.game_types | array | No | ||||
| data.statcast_abs_challenge_filters.game_types[].description | string | No | ||||
| data.statcast_abs_challenge_filters.game_types[].value | string | No | ||||
| data.statcast_abs_challenge_filters.levels | array | No | ||||
| data.statcast_abs_challenge_filters.levels[].description | string | No | ||||
| data.statcast_abs_challenge_filters.levels[].value | string | No | ||||
| data.statcast_abs_challenge_filters.leverage | array | No | ||||
| data.statcast_abs_challenge_filters.leverage[].description | string | No | ||||
| data.statcast_abs_challenge_filters.leverage[].value | string | No | ||||
| data.statcast_abs_challenge_filters.minimum_challenges | array | No | ||||
| data.statcast_abs_challenge_filters.minimum_challenges[].description | string | No | ||||
| data.statcast_abs_challenge_filters.minimum_challenges[].value | string | No | ||||
| data.statcast_abs_challenge_filters.pitch_types | array | No | ||||
| data.statcast_abs_challenge_filters.pitch_types[].description | string | No | ||||
| data.statcast_abs_challenge_filters.pitch_types[].value | string | No | ||||
| data.statcast_abs_challenge_filters.seasons | array | No | ||||
| data.statcast_abs_challenge_filters.seasons[].description | string | No | ||||
| data.statcast_abs_challenge_filters.seasons[].value | string | No | ||||
| data.statcast_abs_challenge_filters.shadow_zones | array | No | ||||
| data.statcast_abs_challenge_filters.shadow_zones[].description | string | No | ||||
| data.statcast_abs_challenge_filters.shadow_zones[].value | string | No | ||||
| data.statcast_abs_challenge_filters.split_year | array | No | ||||
| data.statcast_abs_challenge_filters.split_year[].description | string | No | ||||
| data.statcast_abs_challenge_filters.split_year[].value | string | No | ||||
| data.statcast_abs_challenge_filters.splits | array | No | ||||
| data.statcast_abs_challenge_filters.splits[].description | string | No | ||||
| data.statcast_abs_challenge_filters.splits[].value | string | No | ||||
| data.statcast_abs_challenge_filters.team_ids | array | No | ||||
| data.statcast_abs_challenge_filters.team_ids[].description | string | No | ||||
| data.statcast_abs_challenge_filters.team_ids[].value | string | No | ||||
| data.statcast_active_spin_hands | array | No | ||||
| data.statcast_active_spin_hands[].description | string | No | ||||
| data.statcast_active_spin_hands[].value | string | No | ||||
| data.statcast_active_spin_minimums | array | No | ||||
| data.statcast_active_spin_minimums[].description | string | No | ||||
| data.statcast_active_spin_minimums[].value | string | No | ||||
| data.statcast_active_spin_seasons | array | No | ||||
| data.statcast_active_spin_seasons[].description | string | No | ||||
| data.statcast_active_spin_seasons[].value | string | No | ||||
| data.statcast_active_spin_sort_directions | array | No | ||||
| data.statcast_active_spin_sort_directions[].description | string | No | ||||
| data.statcast_active_spin_sort_directions[].value | string | No | ||||
| data.statcast_active_spin_sort_fields | array | No | ||||
| data.statcast_active_spin_sort_fields[].description | string | No | ||||
| data.statcast_active_spin_sort_fields[].value | string | No | ||||
| data.statcast_arm_angle_game_types | array | No | ||||
| data.statcast_arm_angle_game_types[].description | string | No | ||||
| data.statcast_arm_angle_game_types[].value | string | No | ||||
| data.statcast_arm_angle_group_by | array | No | ||||
| data.statcast_arm_angle_group_by[].description | string | No | ||||
| data.statcast_arm_angle_group_by[].value | string | No | ||||
| data.statcast_arm_angle_group_minimum_pitches | array | No | ||||
| data.statcast_arm_angle_group_minimum_pitches[].description | string | No | ||||
| data.statcast_arm_angle_group_minimum_pitches[].value | string | No | ||||
| data.statcast_arm_angle_hands | array | No | ||||
| data.statcast_arm_angle_hands[].description | string | No | ||||
| data.statcast_arm_angle_hands[].value | string | No | ||||
| data.statcast_arm_angle_minimums | array | No | ||||
| data.statcast_arm_angle_minimums[].description | string | No | ||||
| data.statcast_arm_angle_minimums[].value | string | No | ||||
| data.statcast_arm_angle_pitch_types | array | No | ||||
| data.statcast_arm_angle_pitch_types[].description | string | No | ||||
| data.statcast_arm_angle_pitch_types[].value | string | No | ||||
| data.statcast_arm_angle_seasons | array | No | ||||
| data.statcast_arm_angle_seasons[].description | string | No | ||||
| data.statcast_arm_angle_seasons[].value | string | No | ||||
| data.statcast_arm_angle_sort_directions | array | No | ||||
| data.statcast_arm_angle_sort_directions[].description | string | No | ||||
| data.statcast_arm_angle_sort_directions[].value | string | No | ||||
| data.statcast_arm_angle_sort_fields | array | No | ||||
| data.statcast_arm_angle_sort_fields[].description | string | No | ||||
| data.statcast_arm_angle_sort_fields[].value | string | No | ||||
| data.statcast_arm_angle_team_ids | array | No | ||||
| data.statcast_arm_angle_team_ids[].description | string | No | ||||
| data.statcast_arm_angle_team_ids[].value | string | No | ||||
| data.statcast_arm_strength_min_throws | array | No | ||||
| data.statcast_arm_strength_min_throws[].description | string | No | ||||
| data.statcast_arm_strength_min_throws[].value | string | No | ||||
| data.statcast_arm_strength_positions | array | No | ||||
| data.statcast_arm_strength_positions[].description | string | No | ||||
| data.statcast_arm_strength_positions[].value | string | No | ||||
| data.statcast_arm_strength_sort_directions | array | No | ||||
| data.statcast_arm_strength_sort_directions[].description | string | No | ||||
| data.statcast_arm_strength_sort_directions[].value | string | No | ||||
| data.statcast_arm_strength_sort_fields | array | No | ||||
| data.statcast_arm_strength_sort_fields[].description | string | No | ||||
| data.statcast_arm_strength_sort_fields[].value | string | No | ||||
| data.statcast_arm_strength_team_ids | array | No | ||||
| data.statcast_arm_strength_team_ids[].description | string | No | ||||
| data.statcast_arm_strength_team_ids[].value | string | No | ||||
| data.statcast_arm_strength_types | array | No | ||||
| data.statcast_arm_strength_types[].description | string | No | ||||
| data.statcast_arm_strength_types[].value | string | No | ||||
| data.statcast_arm_strength_years | array | No | ||||
| data.statcast_arm_strength_years[].description | string | No | ||||
| data.statcast_arm_strength_years[].value | string | No | ||||
| data.statcast_arm_value_game_types | array | No | ||||
| data.statcast_arm_value_game_types[].description | string | No | ||||
| data.statcast_arm_value_game_types[].value | string | No | ||||
| data.statcast_arm_value_max_year | integer | No | ||||
| data.statcast_arm_value_min_year | integer | No | ||||
| data.statcast_arm_value_minimum_opportunities | array | No | ||||
| data.statcast_arm_value_minimum_opportunities[].description | string | No | ||||
| data.statcast_arm_value_minimum_opportunities[].value | string | No | ||||
| data.statcast_arm_value_situations | array | No | ||||
| data.statcast_arm_value_situations[].description | string | No | ||||
| data.statcast_arm_value_situations[].value | string | No | ||||
| data.statcast_arm_value_sort_directions | array | No | ||||
| data.statcast_arm_value_sort_directions[].description | string | No | ||||
| data.statcast_arm_value_sort_directions[].value | string | No | ||||
| data.statcast_arm_value_sort_fields | array | No | ||||
| data.statcast_arm_value_sort_fields[].description | string | No | ||||
| data.statcast_arm_value_sort_fields[].value | string | No | ||||
| data.statcast_arm_value_split_years | array | No | ||||
| data.statcast_arm_value_split_years[].description | string | No | ||||
| data.statcast_arm_value_split_years[].value | string | No | ||||
| data.statcast_arm_value_team_ids | array | No | ||||
| data.statcast_arm_value_team_ids[].description | string | No | ||||
| data.statcast_arm_value_team_ids[].value | string | No | ||||
| data.statcast_arm_value_types | array | No | ||||
| data.statcast_arm_value_types[].description | string | No | ||||
| data.statcast_arm_value_types[].value | string | No | ||||
| data.statcast_arm_value_with_team_only | array | No | ||||
| data.statcast_arm_value_with_team_only[].description | string | No | ||||
| data.statcast_arm_value_with_team_only[].value | string | No | ||||
| data.statcast_arm_value_years | array | No | ||||
| data.statcast_baserunning_filters | mlb.StatcastBaserunningFilters | No | ||||
| data.statcast_baserunning_filters.boards | array | No | ||||
| data.statcast_baserunning_filters.boards[].description | string | No | ||||
| data.statcast_baserunning_filters.boards[].value | string | No | ||||
| data.statcast_baserunning_filters.game_types | array | No | ||||
| data.statcast_baserunning_filters.game_types[].description | string | No | ||||
| data.statcast_baserunning_filters.game_types[].value | string | No | ||||
| data.statcast_baserunning_filters.groups | object | No | ||||
| data.statcast_baserunning_filters.key_base_outs | array | No | ||||
| data.statcast_baserunning_filters.key_base_outs[].description | string | No | ||||
| data.statcast_baserunning_filters.key_base_outs[].value | string | No | ||||
| data.statcast_baserunning_filters.minimums | object | No | ||||
| data.statcast_baserunning_filters.pitch_hands | array | No | ||||
| data.statcast_baserunning_filters.pitch_hands[].description | string | No | ||||
| data.statcast_baserunning_filters.pitch_hands[].value | string | No | ||||
| data.statcast_baserunning_filters.prior_pickoffs | array | No | ||||
| data.statcast_baserunning_filters.prior_pickoffs[].description | string | No | ||||
| data.statcast_baserunning_filters.prior_pickoffs[].value | string | No | ||||
| data.statcast_baserunning_filters.runner_moved | array | No | ||||
| data.statcast_baserunning_filters.runner_moved[].description | string | No | ||||
| data.statcast_baserunning_filters.runner_moved[].value | string | No | ||||
| data.statcast_baserunning_filters.seasons | array | No | ||||
| data.statcast_baserunning_filters.seasons[].description | string | No | ||||
| data.statcast_baserunning_filters.seasons[].value | string | No | ||||
| data.statcast_baserunning_filters.sort_directions | array | No | ||||
| data.statcast_baserunning_filters.sort_directions[].description | string | No | ||||
| data.statcast_baserunning_filters.sort_directions[].value | string | No | ||||
| data.statcast_baserunning_filters.sort_fields | object | No | ||||
| data.statcast_baserunning_filters.splits | array | No | ||||
| data.statcast_baserunning_filters.splits[].description | string | No | ||||
| data.statcast_baserunning_filters.splits[].value | string | No | ||||
| data.statcast_baserunning_filters.target_bases | array | No | ||||
| data.statcast_baserunning_filters.target_bases[].description | string | No | ||||
| data.statcast_baserunning_filters.target_bases[].value | string | No | ||||
| data.statcast_baserunning_filters.teams | array | No | ||||
| data.statcast_baserunning_filters.teams[].description | string | No | ||||
| data.statcast_baserunning_filters.teams[].value | string | No | ||||
| data.statcast_bat_tracking_attack_zones | array | No | ||||
| data.statcast_bat_tracking_attack_zones[].description | string | No | ||||
| data.statcast_bat_tracking_attack_zones[].value | string | No | ||||
| data.statcast_bat_tracking_bat_sides | array | No | ||||
| data.statcast_bat_tracking_bat_sides[].description | string | No | ||||
| data.statcast_bat_tracking_bat_sides[].value | string | No | ||||
| data.statcast_bat_tracking_contact_types | array | No | ||||
| data.statcast_bat_tracking_contact_types[].description | string | No | ||||
| data.statcast_bat_tracking_contact_types[].value | string | No | ||||
| data.statcast_bat_tracking_counts | array | No | ||||
| data.statcast_bat_tracking_counts[].description | string | No | ||||
| data.statcast_bat_tracking_counts[].value | string | No | ||||
| data.statcast_bat_tracking_game_types | array | No | ||||
| data.statcast_bat_tracking_game_types[].description | string | No | ||||
| data.statcast_bat_tracking_game_types[].value | string | No | ||||
| data.statcast_bat_tracking_group_by | array | No | ||||
| data.statcast_bat_tracking_group_by[].description | string | No | ||||
| data.statcast_bat_tracking_group_by[].value | string | No | ||||
| data.statcast_bat_tracking_hard_hit_values | array | No | ||||
| data.statcast_bat_tracking_hard_hit_values[].description | string | No | ||||
| data.statcast_bat_tracking_hard_hit_values[].value | string | No | ||||
| data.statcast_bat_tracking_min_group_swings | array | No | ||||
| data.statcast_bat_tracking_min_group_swings[].description | string | No | ||||
| data.statcast_bat_tracking_min_group_swings[].value | string | No | ||||
| data.statcast_bat_tracking_min_swings | array | No | ||||
| data.statcast_bat_tracking_min_swings[].description | string | No | ||||
| data.statcast_bat_tracking_min_swings[].value | string | No | ||||
| data.statcast_bat_tracking_pitch_hands | array | No | ||||
| data.statcast_bat_tracking_pitch_hands[].description | string | No | ||||
| data.statcast_bat_tracking_pitch_hands[].value | string | No | ||||
| data.statcast_bat_tracking_pitch_types | array | No | ||||
| data.statcast_bat_tracking_pitch_types[].description | string | No | ||||
| data.statcast_bat_tracking_pitch_types[].value | string | No | ||||
| data.statcast_bat_tracking_seasons | array | No | ||||
| data.statcast_bat_tracking_seasons[].description | string | No | ||||
| data.statcast_bat_tracking_seasons[].value | string | No | ||||
| data.statcast_bat_tracking_sort_directions | array | No | ||||
| data.statcast_bat_tracking_sort_directions[].description | string | No | ||||
| data.statcast_bat_tracking_sort_directions[].value | string | No | ||||
| data.statcast_bat_tracking_sort_fields | array | No | ||||
| data.statcast_bat_tracking_sort_fields[].description | string | No | ||||
| data.statcast_bat_tracking_sort_fields[].value | string | No | ||||
| data.statcast_bat_tracking_team_ids | array | No | ||||
| data.statcast_bat_tracking_team_ids[].description | string | No | ||||
| data.statcast_bat_tracking_team_ids[].value | string | No | ||||
| data.statcast_bat_tracking_types | array | No | ||||
| data.statcast_bat_tracking_types[].description | string | No | ||||
| data.statcast_bat_tracking_types[].value | string | No | ||||
| data.statcast_batted_ball_game_types | array | No | ||||
| data.statcast_batted_ball_game_types[].description | string | No | ||||
| data.statcast_batted_ball_game_types[].value | string | No | ||||
| data.statcast_batted_ball_max_year | integer | No | ||||
| data.statcast_batted_ball_min_splits | array | No | ||||
| data.statcast_batted_ball_min_splits[].description | string | No | ||||
| data.statcast_batted_ball_min_splits[].value | string | No | ||||
| data.statcast_batted_ball_min_year | integer | No | ||||
| data.statcast_batted_ball_minimums | array | No | ||||
| data.statcast_batted_ball_minimums[].description | string | No | ||||
| data.statcast_batted_ball_minimums[].value | string | No | ||||
| data.statcast_batted_ball_pitch_types | array | No | ||||
| data.statcast_batted_ball_pitch_types[].description | string | No | ||||
| data.statcast_batted_ball_pitch_types[].value | string | No | ||||
| data.statcast_batted_ball_seasons | array | No | ||||
| data.statcast_batted_ball_seasons[].description | string | No | ||||
| data.statcast_batted_ball_seasons[].value | string | No | ||||
| data.statcast_batted_ball_sides | array | No | ||||
| data.statcast_batted_ball_sides[].description | string | No | ||||
| data.statcast_batted_ball_sides[].value | string | No | ||||
| data.statcast_batted_ball_sort_directions | array | No | ||||
| data.statcast_batted_ball_sort_directions[].description | string | No | ||||
| data.statcast_batted_ball_sort_directions[].value | string | No | ||||
| data.statcast_batted_ball_sort_fields | array | No | ||||
| data.statcast_batted_ball_sort_fields[].description | string | No | ||||
| data.statcast_batted_ball_sort_fields[].value | string | No | ||||
| data.statcast_batted_ball_split_years | array | No | ||||
| data.statcast_batted_ball_split_years[].description | string | No | ||||
| data.statcast_batted_ball_split_years[].value | string | No | ||||
| data.statcast_batted_ball_splits | array | No | ||||
| data.statcast_batted_ball_splits[].description | string | No | ||||
| data.statcast_batted_ball_splits[].value | string | No | ||||
| data.statcast_batted_ball_team_ids | array | No | ||||
| data.statcast_batted_ball_team_ids[].description | string | No | ||||
| data.statcast_batted_ball_team_ids[].value | string | No | ||||
| data.statcast_batted_ball_types | array | No | ||||
| data.statcast_batted_ball_types[].description | string | No | ||||
| data.statcast_batted_ball_types[].value | string | No | ||||
| data.statcast_catcher_blocking_game_types | array | No | ||||
| data.statcast_catcher_blocking_game_types[].description | string | No | ||||
| data.statcast_catcher_blocking_game_types[].value | string | No | ||||
| data.statcast_catcher_blocking_minimums | array | No | ||||
| data.statcast_catcher_blocking_minimums[].description | string | No | ||||
| data.statcast_catcher_blocking_minimums[].value | string | No | ||||
| data.statcast_catcher_blocking_sort_directions | array | No | ||||
| data.statcast_catcher_blocking_sort_directions[].description | string | No | ||||
| data.statcast_catcher_blocking_sort_directions[].value | string | No | ||||
| data.statcast_catcher_blocking_sort_fields | array | No | ||||
| data.statcast_catcher_blocking_sort_fields[].description | string | No | ||||
| data.statcast_catcher_blocking_sort_fields[].value | string | No | ||||
| data.statcast_catcher_blocking_team_ids | array | No | ||||
| data.statcast_catcher_blocking_team_ids[].description | string | No | ||||
| data.statcast_catcher_blocking_team_ids[].value | string | No | ||||
| data.statcast_catcher_blocking_types | array | No | ||||
| data.statcast_catcher_blocking_types[].description | string | No | ||||
| data.statcast_catcher_blocking_types[].value | string | No | ||||
| data.statcast_catcher_blocking_years | array | No | ||||
| data.statcast_catcher_blocking_years[].description | string | No | ||||
| data.statcast_catcher_blocking_years[].value | string | No | ||||
| data.statcast_catcher_framing_ball_strike | array | No | ||||
| data.statcast_catcher_framing_ball_strike[].description | string | No | ||||
| data.statcast_catcher_framing_ball_strike[].value | string | No | ||||
| data.statcast_catcher_framing_bat_sides | array | No | ||||
| data.statcast_catcher_framing_bat_sides[].description | string | No | ||||
| data.statcast_catcher_framing_bat_sides[].value | string | No | ||||
| data.statcast_catcher_framing_calls | array | No | ||||
| data.statcast_catcher_framing_calls[].description | string | No | ||||
| data.statcast_catcher_framing_calls[].value | string | No | ||||
| data.statcast_catcher_framing_game_types | array | No | ||||
| data.statcast_catcher_framing_game_types[].description | string | No | ||||
| data.statcast_catcher_framing_game_types[].value | string | No | ||||
| data.statcast_catcher_framing_min_pitches | array | No | ||||
| data.statcast_catcher_framing_min_pitches[].description | string | No | ||||
| data.statcast_catcher_framing_min_pitches[].value | string | No | ||||
| data.statcast_catcher_framing_min_results | array | No | ||||
| data.statcast_catcher_framing_min_results[].description | string | No | ||||
| data.statcast_catcher_framing_min_results[].value | string | No | ||||
| data.statcast_catcher_framing_pitch_hands | array | No | ||||
| data.statcast_catcher_framing_pitch_hands[].description | string | No | ||||
| data.statcast_catcher_framing_pitch_hands[].value | string | No | ||||
| data.statcast_catcher_framing_pitch_types | array | No | ||||
| data.statcast_catcher_framing_pitch_types[].description | string | No | ||||
| data.statcast_catcher_framing_pitch_types[].value | string | No | ||||
| data.statcast_catcher_framing_sort_directions | array | No | ||||
| data.statcast_catcher_framing_sort_directions[].description | string | No | ||||
| data.statcast_catcher_framing_sort_directions[].value | string | No | ||||
| data.statcast_catcher_framing_sort_fields | array | No | ||||
| data.statcast_catcher_framing_sort_fields[].description | string | No | ||||
| data.statcast_catcher_framing_sort_fields[].value | string | No | ||||
| data.statcast_catcher_framing_team_ids | array | No | ||||
| data.statcast_catcher_framing_team_ids[].description | string | No | ||||
| data.statcast_catcher_framing_team_ids[].value | string | No | ||||
| data.statcast_catcher_framing_types | array | No | ||||
| data.statcast_catcher_framing_types[].description | string | No | ||||
| data.statcast_catcher_framing_types[].value | string | No | ||||
| data.statcast_catcher_framing_years | array | No | ||||
| data.statcast_catcher_framing_years[].description | string | No | ||||
| data.statcast_catcher_framing_years[].value | string | No | ||||
| data.statcast_catcher_pop_time_min_2b_attempts | array | No | ||||
| data.statcast_catcher_pop_time_min_2b_attempts[].description | string | No | ||||
| data.statcast_catcher_pop_time_min_2b_attempts[].value | string | No | ||||
| data.statcast_catcher_pop_time_min_3b_attempts | array | No | ||||
| data.statcast_catcher_pop_time_min_3b_attempts[].description | string | No | ||||
| data.statcast_catcher_pop_time_min_3b_attempts[].value | string | No | ||||
| data.statcast_catcher_pop_time_sort_directions | array | No | ||||
| data.statcast_catcher_pop_time_sort_directions[].description | string | No | ||||
| data.statcast_catcher_pop_time_sort_directions[].value | string | No | ||||
| data.statcast_catcher_pop_time_sort_fields | array | No | ||||
| data.statcast_catcher_pop_time_sort_fields[].description | string | No | ||||
| data.statcast_catcher_pop_time_sort_fields[].value | string | No | ||||
| data.statcast_catcher_pop_time_team_ids | array | No | ||||
| data.statcast_catcher_pop_time_team_ids[].description | string | No | ||||
| data.statcast_catcher_pop_time_team_ids[].value | string | No | ||||
| data.statcast_catcher_pop_time_years | array | No | ||||
| data.statcast_catcher_pop_time_years[].description | string | No | ||||
| data.statcast_catcher_pop_time_years[].value | string | No | ||||
| data.statcast_catcher_stance_game_types | array | No | ||||
| data.statcast_catcher_stance_game_types[].description | string | No | ||||
| data.statcast_catcher_stance_game_types[].value | string | No | ||||
| data.statcast_catcher_stance_group_by | array | No | ||||
| data.statcast_catcher_stance_group_by[].description | string | No | ||||
| data.statcast_catcher_stance_group_by[].value | string | No | ||||
| data.statcast_catcher_stance_knee_codes | array | No | ||||
| data.statcast_catcher_stance_knee_codes[].description | string | No | ||||
| data.statcast_catcher_stance_knee_codes[].value | string | No | ||||
| data.statcast_catcher_stance_min_pitches | array | No | ||||
| data.statcast_catcher_stance_min_pitches[].description | string | No | ||||
| data.statcast_catcher_stance_min_pitches[].value | string | No | ||||
| data.statcast_catcher_stance_min_results | array | No | ||||
| data.statcast_catcher_stance_min_results[].description | string | No | ||||
| data.statcast_catcher_stance_min_results[].value | string | No | ||||
| data.statcast_catcher_stance_pitch_types | array | No | ||||
| data.statcast_catcher_stance_pitch_types[].description | string | No | ||||
| data.statcast_catcher_stance_pitch_types[].value | string | No | ||||
| data.statcast_catcher_stance_seasons | array | No | ||||
| data.statcast_catcher_stance_seasons[].description | string | No | ||||
| data.statcast_catcher_stance_seasons[].value | string | No | ||||
| data.statcast_catcher_stance_sides | array | No | ||||
| data.statcast_catcher_stance_sides[].description | string | No | ||||
| data.statcast_catcher_stance_sides[].value | string | No | ||||
| data.statcast_catcher_stance_sort_directions | array | No | ||||
| data.statcast_catcher_stance_sort_directions[].description | string | No | ||||
| data.statcast_catcher_stance_sort_directions[].value | string | No | ||||
| data.statcast_catcher_stance_sort_fields | array | No | ||||
| data.statcast_catcher_stance_sort_fields[].description | string | No | ||||
| data.statcast_catcher_stance_sort_fields[].value | string | No | ||||
| data.statcast_catcher_stance_team_ids | array | No | ||||
| data.statcast_catcher_stance_team_ids[].description | string | No | ||||
| data.statcast_catcher_stance_team_ids[].value | string | No | ||||
| data.statcast_catcher_stance_types | array | No | ||||
| data.statcast_catcher_stance_types[].description | string | No | ||||
| data.statcast_catcher_stance_types[].value | string | No | ||||
| data.statcast_catcher_throwing_game_types | array | No | ||||
| data.statcast_catcher_throwing_game_types[].description | string | No | ||||
| data.statcast_catcher_throwing_game_types[].value | string | No | ||||
| data.statcast_catcher_throwing_minimum_attempts | array | No | ||||
| data.statcast_catcher_throwing_minimum_attempts[].description | string | No | ||||
| data.statcast_catcher_throwing_minimum_attempts[].value | string | No | ||||
| data.statcast_catcher_throwing_seasons | array | No | ||||
| data.statcast_catcher_throwing_seasons[].description | string | No | ||||
| data.statcast_catcher_throwing_seasons[].value | string | No | ||||
| data.statcast_catcher_throwing_sort_directions | array | No | ||||
| data.statcast_catcher_throwing_sort_directions[].description | string | No | ||||
| data.statcast_catcher_throwing_sort_directions[].value | string | No | ||||
| data.statcast_catcher_throwing_sort_fields | array | No | ||||
| data.statcast_catcher_throwing_sort_fields[].description | string | No | ||||
| data.statcast_catcher_throwing_sort_fields[].value | string | No | ||||
| data.statcast_catcher_throwing_target_bases | array | No | ||||
| data.statcast_catcher_throwing_target_bases[].description | string | No | ||||
| data.statcast_catcher_throwing_target_bases[].value | string | No | ||||
| data.statcast_catcher_throwing_team_ids | array | No | ||||
| data.statcast_catcher_throwing_team_ids[].description | string | No | ||||
| data.statcast_catcher_throwing_team_ids[].value | string | No | ||||
| data.statcast_catcher_throwing_types | array | No | ||||
| data.statcast_catcher_throwing_types[].description | string | No | ||||
| data.statcast_catcher_throwing_types[].value | string | No | ||||
| data.statcast_entity_types | array | No | ||||
| data.statcast_entity_types[].description | string | No | ||||
| data.statcast_entity_types[].value | string | No | ||||
| data.statcast_expected_filter_types | array | No | ||||
| data.statcast_expected_filter_types[].description | string | No | ||||
| data.statcast_expected_filter_types[].value | string | No | ||||
| data.statcast_expected_max_year | integer | No | ||||
| data.statcast_expected_min_year | integer | No | ||||
| data.statcast_expected_minimums | array | No | ||||
| data.statcast_expected_minimums[].description | string | No | ||||
| data.statcast_expected_minimums[].value | string | No | ||||
| data.statcast_expected_sort_directions | array | No | ||||
| data.statcast_expected_sort_directions[].description | string | No | ||||
| data.statcast_expected_sort_directions[].value | string | No | ||||
| data.statcast_expected_sort_fields | array | No | ||||
| data.statcast_expected_sort_fields[].description | string | No | ||||
| data.statcast_expected_sort_fields[].value | string | No | ||||
| data.statcast_expected_types | array | No | ||||
| data.statcast_expected_types[].description | string | No | ||||
| data.statcast_expected_types[].value | string | No | ||||
| data.statcast_fielding_run_value_batting_minimums | array | No | ||||
| data.statcast_fielding_run_value_batting_minimums[].description | string | No | ||||
| data.statcast_fielding_run_value_batting_minimums[].value | string | No | ||||
| data.statcast_fielding_run_value_fielding_minimums | array | No | ||||
| data.statcast_fielding_run_value_fielding_minimums[].description | string | No | ||||
| data.statcast_fielding_run_value_fielding_minimums[].value | string | No | ||||
| data.statcast_fielding_run_value_game_types | array | No | ||||
| data.statcast_fielding_run_value_game_types[].description | string | No | ||||
| data.statcast_fielding_run_value_game_types[].value | string | No | ||||
| data.statcast_fielding_run_value_group_by | array | No | ||||
| data.statcast_fielding_run_value_group_by[].description | string | No | ||||
| data.statcast_fielding_run_value_group_by[].value | string | No | ||||
| data.statcast_fielding_run_value_positions | array | No | ||||
| data.statcast_fielding_run_value_positions[].description | string | No | ||||
| data.statcast_fielding_run_value_positions[].value | string | No | ||||
| data.statcast_fielding_run_value_seasons | array | No | ||||
| data.statcast_fielding_run_value_seasons[].description | string | No | ||||
| data.statcast_fielding_run_value_seasons[].value | string | No | ||||
| data.statcast_fielding_run_value_sort_directions | array | No | ||||
| data.statcast_fielding_run_value_sort_directions[].description | string | No | ||||
| data.statcast_fielding_run_value_sort_directions[].value | string | No | ||||
| data.statcast_fielding_run_value_sort_fields | array | No | ||||
| data.statcast_fielding_run_value_sort_fields[].description | string | No | ||||
| data.statcast_fielding_run_value_sort_fields[].value | string | No | ||||
| data.statcast_fielding_run_value_team_ids | array | No | ||||
| data.statcast_fielding_run_value_team_ids[].description | string | No | ||||
| data.statcast_fielding_run_value_team_ids[].value | string | No | ||||
| data.statcast_fielding_run_value_types | array | No | ||||
| data.statcast_fielding_run_value_types[].description | string | No | ||||
| data.statcast_fielding_run_value_types[].value | string | No | ||||
| data.statcast_first_base_receiving_field_out_values | array | No | ||||
| data.statcast_first_base_receiving_field_out_values[].description | string | No | ||||
| data.statcast_first_base_receiving_field_out_values[].value | string | No | ||||
| data.statcast_first_base_receiving_game_types | array | No | ||||
| data.statcast_first_base_receiving_game_types[].description | string | No | ||||
| data.statcast_first_base_receiving_game_types[].value | string | No | ||||
| data.statcast_first_base_receiving_hands | array | No | ||||
| data.statcast_first_base_receiving_hands[].description | string | No | ||||
| data.statcast_first_base_receiving_hands[].value | string | No | ||||
| data.statcast_first_base_receiving_minimum_heights | array | No | ||||
| data.statcast_first_base_receiving_minimum_heights[].description | string | No | ||||
| data.statcast_first_base_receiving_minimum_heights[].value | string | No | ||||
| data.statcast_first_base_receiving_minimum_split_values | array | No | ||||
| data.statcast_first_base_receiving_minimum_split_values[].description | string | No | ||||
| data.statcast_first_base_receiving_minimum_split_values[].value | string | No | ||||
| data.statcast_first_base_receiving_minimums | array | No | ||||
| data.statcast_first_base_receiving_minimums[].description | string | No | ||||
| data.statcast_first_base_receiving_minimums[].value | string | No | ||||
| data.statcast_first_base_receiving_runner_states | array | No | ||||
| data.statcast_first_base_receiving_runner_states[].description | string | No | ||||
| data.statcast_first_base_receiving_runner_states[].value | string | No | ||||
| data.statcast_first_base_receiving_seasons | array | No | ||||
| data.statcast_first_base_receiving_seasons[].description | string | No | ||||
| data.statcast_first_base_receiving_seasons[].value | string | No | ||||
| data.statcast_first_base_receiving_secondary_splits | array | No | ||||
| data.statcast_first_base_receiving_secondary_splits[].description | string | No | ||||
| data.statcast_first_base_receiving_secondary_splits[].value | string | No | ||||
| data.statcast_first_base_receiving_sort_directions | array | No | ||||
| data.statcast_first_base_receiving_sort_directions[].description | string | No | ||||
| data.statcast_first_base_receiving_sort_directions[].value | string | No | ||||
| data.statcast_first_base_receiving_sort_fields | array | No | ||||
| data.statcast_first_base_receiving_sort_fields[].description | string | No | ||||
| data.statcast_first_base_receiving_sort_fields[].value | string | No | ||||
| data.statcast_first_base_receiving_split_year_values | array | No | ||||
| data.statcast_first_base_receiving_split_year_values[].description | string | No | ||||
| data.statcast_first_base_receiving_split_year_values[].value | string | No | ||||
| data.statcast_first_base_receiving_throw_heights | array | No | ||||
| data.statcast_first_base_receiving_throw_heights[].description | string | No | ||||
| data.statcast_first_base_receiving_throw_heights[].value | string | No | ||||
| data.statcast_first_base_receiving_throw_locations | array | No | ||||
| data.statcast_first_base_receiving_throw_locations[].description | string | No | ||||
| data.statcast_first_base_receiving_throw_locations[].value | string | No | ||||
| data.statcast_first_base_receiving_throw_positions | array | No | ||||
| data.statcast_first_base_receiving_throw_positions[].description | string | No | ||||
| data.statcast_first_base_receiving_throw_positions[].value | string | No | ||||
| data.statcast_first_base_receiving_time_bins | array | No | ||||
| data.statcast_first_base_receiving_time_bins[].description | string | No | ||||
| data.statcast_first_base_receiving_time_bins[].value | string | No | ||||
| data.statcast_first_base_receiving_types | array | No | ||||
| data.statcast_first_base_receiving_types[].description | string | No | ||||
| data.statcast_first_base_receiving_types[].value | string | No | ||||
| data.statcast_home_runs_categories | array | No | ||||
| data.statcast_home_runs_categories[].description | string | No | ||||
| data.statcast_home_runs_categories[].value | string | No | ||||
| data.statcast_home_runs_minimum_home_runs | array | No | ||||
| data.statcast_home_runs_minimum_home_runs[].description | string | No | ||||
| data.statcast_home_runs_minimum_home_runs[].value | string | No | ||||
| data.statcast_home_runs_player_types | array | No | ||||
| data.statcast_home_runs_player_types[].description | string | No | ||||
| data.statcast_home_runs_player_types[].value | string | No | ||||
| data.statcast_home_runs_sort_directions | array | No | ||||
| data.statcast_home_runs_sort_directions[].description | string | No | ||||
| data.statcast_home_runs_sort_directions[].value | string | No | ||||
| data.statcast_home_runs_sort_fields | array | No | ||||
| data.statcast_home_runs_sort_fields[].description | string | No | ||||
| data.statcast_home_runs_sort_fields[].value | string | No | ||||
| data.statcast_home_runs_team_ids | array | No | ||||
| data.statcast_home_runs_team_ids[].description | string | No | ||||
| data.statcast_home_runs_team_ids[].value | string | No | ||||
| data.statcast_home_runs_years | array | No | ||||
| data.statcast_home_runs_years[].description | string | No | ||||
| data.statcast_home_runs_years[].value | string | No | ||||
| data.statcast_leaderboards | array | No | ||||
| data.statcast_leaderboards[].description | string | No | ||||
| data.statcast_leaderboards[].value | string | No | ||||
| data.statcast_max_year | integer | No | ||||
| data.statcast_min_year | integer | No | ||||
| data.statcast_minimum_bbe | array | No | ||||
| data.statcast_minimum_bbe[].description | string | No | ||||
| data.statcast_minimum_bbe[].value | string | No | ||||
| data.statcast_oaa_max_year | integer | No | ||||
| data.statcast_oaa_min_year | integer | No | ||||
| data.statcast_oaa_minimums | array | No | ||||
| data.statcast_oaa_minimums[].description | string | No | ||||
| data.statcast_oaa_minimums[].value | string | No | ||||
| data.statcast_oaa_positions | array | No | ||||
| data.statcast_oaa_positions[].description | string | No | ||||
| data.statcast_oaa_positions[].value | string | No | ||||
| data.statcast_oaa_ranges | array | No | ||||
| data.statcast_oaa_ranges[].description | string | No | ||||
| data.statcast_oaa_ranges[].value | string | No | ||||
| data.statcast_oaa_roles | array | No | ||||
| data.statcast_oaa_roles[].description | string | No | ||||
| data.statcast_oaa_roles[].value | string | No | ||||
| data.statcast_oaa_sort_directions | array | No | ||||
| data.statcast_oaa_sort_directions[].description | string | No | ||||
| data.statcast_oaa_sort_directions[].value | string | No | ||||
| data.statcast_oaa_sort_fields | array | No | ||||
| data.statcast_oaa_sort_fields[].description | string | No | ||||
| data.statcast_oaa_sort_fields[].value | string | No | ||||
| data.statcast_oaa_types | array | No | ||||
| data.statcast_oaa_types[].description | string | No | ||||
| data.statcast_oaa_types[].value | string | No | ||||
| data.statcast_park_factor_bat_sides | array | No | ||||
| data.statcast_park_factor_bat_sides[].description | string | No | ||||
| data.statcast_park_factor_bat_sides[].value | string | No | ||||
| data.statcast_park_factor_conditions | array | No | ||||
| data.statcast_park_factor_conditions[].description | string | No | ||||
| data.statcast_park_factor_conditions[].value | string | No | ||||
| data.statcast_park_factor_dimension_years | array | No | ||||
| data.statcast_park_factor_dimension_years[].description | string | No | ||||
| data.statcast_park_factor_dimension_years[].value | string | No | ||||
| data.statcast_park_factor_parks | array | No | ||||
| data.statcast_park_factor_parks[].description | string | No | ||||
| data.statcast_park_factor_parks[].value | string | No | ||||
| data.statcast_park_factor_rolling_windows | array | No | ||||
| data.statcast_park_factor_rolling_windows[].description | string | No | ||||
| data.statcast_park_factor_rolling_windows[].value | string | No | ||||
| data.statcast_park_factor_sort_directions | array | No | ||||
| data.statcast_park_factor_sort_directions[].description | string | No | ||||
| data.statcast_park_factor_sort_directions[].value | string | No | ||||
| data.statcast_park_factor_statcast_years | array | No | ||||
| data.statcast_park_factor_statcast_years[].description | string | No | ||||
| data.statcast_park_factor_statcast_years[].value | string | No | ||||
| data.statcast_park_factor_stats | array | No | ||||
| data.statcast_park_factor_stats[].description | string | No | ||||
| data.statcast_park_factor_stats[].value | string | No | ||||
| data.statcast_park_factor_types | array | No | ||||
| data.statcast_park_factor_types[].description | string | No | ||||
| data.statcast_park_factor_types[].value | string | No | ||||
| data.statcast_park_factor_years | array | No | ||||
| data.statcast_park_factor_years[].description | string | No | ||||
| data.statcast_park_factor_years[].value | string | No | ||||
| data.statcast_percentile_batter_fields | array | No | ||||
| data.statcast_percentile_batter_fields[].description | string | No | ||||
| data.statcast_percentile_batter_fields[].value | string | No | ||||
| data.statcast_percentile_batter_sort_fields | array | No | ||||
| data.statcast_percentile_batter_sort_fields[].description | string | No | ||||
| data.statcast_percentile_batter_sort_fields[].value | string | No | ||||
| data.statcast_percentile_comparators | array | No | ||||
| data.statcast_percentile_comparators[].description | string | No | ||||
| data.statcast_percentile_comparators[].value | string | No | ||||
| data.statcast_percentile_pitcher_fields | array | No | ||||
| data.statcast_percentile_pitcher_fields[].description | string | No | ||||
| data.statcast_percentile_pitcher_fields[].value | string | No | ||||
| data.statcast_percentile_pitcher_sort_fields | array | No | ||||
| data.statcast_percentile_pitcher_sort_fields[].description | string | No | ||||
| data.statcast_percentile_pitcher_sort_fields[].value | string | No | ||||
| data.statcast_percentile_sort_directions | array | No | ||||
| data.statcast_percentile_sort_directions[].description | string | No | ||||
| data.statcast_percentile_sort_directions[].value | string | No | ||||
| data.statcast_percentile_team_ids | array | No | ||||
| data.statcast_percentile_team_ids[].description | string | No | ||||
| data.statcast_percentile_team_ids[].value | string | No | ||||
| data.statcast_percentile_types | array | No | ||||
| data.statcast_percentile_types[].description | string | No | ||||
| data.statcast_percentile_types[].value | string | No | ||||
| data.statcast_percentile_years | array | No | ||||
| data.statcast_percentile_years[].description | string | No | ||||
| data.statcast_percentile_years[].value | string | No | ||||
| data.statcast_pitch_arsenal_min_pa | array | No | ||||
| data.statcast_pitch_arsenal_min_pa[].description | string | No | ||||
| data.statcast_pitch_arsenal_min_pa[].value | string | No | ||||
| data.statcast_pitch_arsenal_min_pitches | array | No | ||||
| data.statcast_pitch_arsenal_min_pitches[].description | string | No | ||||
| data.statcast_pitch_arsenal_min_pitches[].value | string | No | ||||
| data.statcast_pitch_arsenal_pitch_aliases | array | No | ||||
| data.statcast_pitch_arsenal_pitch_aliases[].description | string | No | ||||
| data.statcast_pitch_arsenal_pitch_aliases[].value | string | No | ||||
| data.statcast_pitch_arsenal_pitch_types | array | No | ||||
| data.statcast_pitch_arsenal_pitch_types[].description | string | No | ||||
| data.statcast_pitch_arsenal_pitch_types[].value | string | No | ||||
| data.statcast_pitch_arsenal_sort_directions | array | No | ||||
| data.statcast_pitch_arsenal_sort_directions[].description | string | No | ||||
| data.statcast_pitch_arsenal_sort_directions[].value | string | No | ||||
| data.statcast_pitch_arsenal_sort_fields | array | No | ||||
| data.statcast_pitch_arsenal_sort_fields[].description | string | No | ||||
| data.statcast_pitch_arsenal_sort_fields[].value | string | No | ||||
| data.statcast_pitch_arsenal_types | array | No | ||||
| data.statcast_pitch_arsenal_types[].description | string | No | ||||
| data.statcast_pitch_arsenal_types[].value | string | No | ||||
| data.statcast_pitch_arsenal_years | array | No | ||||
| data.statcast_pitch_arsenal_years[].description | string | No | ||||
| data.statcast_pitch_arsenal_years[].value | string | No | ||||
| data.statcast_pitch_arsenals_hands | array | No | ||||
| data.statcast_pitch_arsenals_hands[].description | string | No | ||||
| data.statcast_pitch_arsenals_hands[].value | string | No | ||||
| data.statcast_pitch_arsenals_minimum_pitches | array | No | ||||
| data.statcast_pitch_arsenals_minimum_pitches[].description | string | No | ||||
| data.statcast_pitch_arsenals_minimum_pitches[].value | string | No | ||||
| data.statcast_pitch_arsenals_sort_directions | array | No | ||||
| data.statcast_pitch_arsenals_sort_directions[].description | string | No | ||||
| data.statcast_pitch_arsenals_sort_directions[].value | string | No | ||||
| data.statcast_pitch_arsenals_sort_fields | array | No | ||||
| data.statcast_pitch_arsenals_sort_fields[].description | string | No | ||||
| data.statcast_pitch_arsenals_sort_fields[].value | string | No | ||||
| data.statcast_pitch_arsenals_spin_cutoff_year | integer | No | ||||
| data.statcast_pitch_arsenals_team_abbreviations | array | No | ||||
| data.statcast_pitch_arsenals_team_abbreviations[].description | string | No | ||||
| data.statcast_pitch_arsenals_team_abbreviations[].value | string | No | ||||
| data.statcast_pitch_arsenals_types | array | No | ||||
| data.statcast_pitch_arsenals_types[].description | string | No | ||||
| data.statcast_pitch_arsenals_types[].value | string | No | ||||
| data.statcast_pitch_arsenals_years | array | No | ||||
| data.statcast_pitch_arsenals_years[].description | string | No | ||||
| data.statcast_pitch_arsenals_years[].value | string | No | ||||
| data.statcast_pitch_movement_hands | array | No | ||||
| data.statcast_pitch_movement_hands[].description | string | No | ||||
| data.statcast_pitch_movement_hands[].value | string | No | ||||
| data.statcast_pitch_movement_minimums | array | No | ||||
| data.statcast_pitch_movement_minimums[].description | string | No | ||||
| data.statcast_pitch_movement_minimums[].value | string | No | ||||
| data.statcast_pitch_movement_sort_directions | array | No | ||||
| data.statcast_pitch_movement_sort_directions[].description | string | No | ||||
| data.statcast_pitch_movement_sort_directions[].value | string | No | ||||
| data.statcast_pitch_movement_sort_fields | array | No | ||||
| data.statcast_pitch_movement_sort_fields[].description | string | No | ||||
| data.statcast_pitch_movement_sort_fields[].value | string | No | ||||
| data.statcast_pitch_movement_types | array | No | ||||
| data.statcast_pitch_movement_types[].description | string | No | ||||
| data.statcast_pitch_movement_types[].value | string | No | ||||
| data.statcast_pitch_movement_years | array | No | ||||
| data.statcast_pitch_movement_years[].description | string | No | ||||
| data.statcast_pitch_movement_years[].value | string | No | ||||
| data.statcast_pitch_tempo_game_types | array | No | ||||
| data.statcast_pitch_tempo_game_types[].description | string | No | ||||
| data.statcast_pitch_tempo_game_types[].value | string | No | ||||
| data.statcast_pitch_tempo_minimum_pitches | array | No | ||||
| data.statcast_pitch_tempo_minimum_pitches[].description | string | No | ||||
| data.statcast_pitch_tempo_minimum_pitches[].value | string | No | ||||
| data.statcast_pitch_tempo_player_types | array | No | ||||
| data.statcast_pitch_tempo_player_types[].description | string | No | ||||
| data.statcast_pitch_tempo_player_types[].value | string | No | ||||
| data.statcast_pitch_tempo_sort_directions | array | No | ||||
| data.statcast_pitch_tempo_sort_directions[].description | string | No | ||||
| data.statcast_pitch_tempo_sort_directions[].value | string | No | ||||
| data.statcast_pitch_tempo_sort_fields | array | No | ||||
| data.statcast_pitch_tempo_sort_fields[].description | string | No | ||||
| data.statcast_pitch_tempo_sort_fields[].value | string | No | ||||
| data.statcast_pitch_tempo_split_years | array | No | ||||
| data.statcast_pitch_tempo_split_years[].description | string | No | ||||
| data.statcast_pitch_tempo_split_years[].value | string | No | ||||
| data.statcast_pitch_tempo_team_ids | array | No | ||||
| data.statcast_pitch_tempo_team_ids[].description | string | No | ||||
| data.statcast_pitch_tempo_team_ids[].value | string | No | ||||
| data.statcast_pitch_tempo_types | array | No | ||||
| data.statcast_pitch_tempo_types[].description | string | No | ||||
| data.statcast_pitch_tempo_types[].value | string | No | ||||
| data.statcast_pitch_tempo_with_team_only | array | No | ||||
| data.statcast_pitch_tempo_with_team_only[].description | string | No | ||||
| data.statcast_pitch_tempo_with_team_only[].value | string | No | ||||
| data.statcast_pitch_tempo_years | array | No | ||||
| data.statcast_pitch_tempo_years[].description | string | No | ||||
| data.statcast_pitch_tempo_years[].value | string | No | ||||
| data.statcast_pitch_timer_chart_sorts | array | No | ||||
| data.statcast_pitch_timer_chart_sorts[].description | string | No | ||||
| data.statcast_pitch_timer_chart_sorts[].value | string | No | ||||
| data.statcast_pitch_timer_include_zeroes | array | No | ||||
| data.statcast_pitch_timer_include_zeroes[].description | string | No | ||||
| data.statcast_pitch_timer_include_zeroes[].value | string | No | ||||
| data.statcast_pitch_timer_minimum_pitches | array | No | ||||
| data.statcast_pitch_timer_minimum_pitches[].description | string | No | ||||
| data.statcast_pitch_timer_minimum_pitches[].value | string | No | ||||
| data.statcast_pitch_timer_seasons | array | No | ||||
| data.statcast_pitch_timer_seasons[].description | string | No | ||||
| data.statcast_pitch_timer_seasons[].value | string | No | ||||
| data.statcast_pitch_timer_sort_directions | array | No | ||||
| data.statcast_pitch_timer_sort_directions[].description | string | No | ||||
| data.statcast_pitch_timer_sort_directions[].value | string | No | ||||
| data.statcast_pitch_timer_sort_fields | array | No | ||||
| data.statcast_pitch_timer_sort_fields[].description | string | No | ||||
| data.statcast_pitch_timer_sort_fields[].value | string | No | ||||
| data.statcast_pitch_timer_types | array | No | ||||
| data.statcast_pitch_timer_types[].description | string | No | ||||
| data.statcast_pitch_timer_types[].value | string | No | ||||
| data.statcast_player_detail_types | array | No | ||||
| data.statcast_player_detail_types[].description | string | No | ||||
| data.statcast_player_detail_types[].value | string | No | ||||
| data.statcast_positions | array | No | ||||
| data.statcast_positions[].description | string | No | ||||
| data.statcast_positions[].value | string | No | ||||
| data.statcast_rolling_metrics | array | No | ||||
| data.statcast_rolling_metrics[].description | string | No | ||||
| data.statcast_rolling_metrics[].value | string | No | ||||
| data.statcast_rolling_roles | array | No | ||||
| data.statcast_rolling_roles[].description | string | No | ||||
| data.statcast_rolling_roles[].value | string | No | ||||
| data.statcast_rolling_window_pa_values | array | No | ||||
| data.statcast_rolling_window_pa_values[].description | string | No | ||||
| data.statcast_rolling_window_pa_values[].value | string | No | ||||
| data.statcast_run_value_groups | array | No | ||||
| data.statcast_run_value_groups[].description | string | No | ||||
| data.statcast_run_value_groups[].value | string | No | ||||
| data.statcast_run_value_leverages | array | No | ||||
| data.statcast_run_value_leverages[].description | string | No | ||||
| data.statcast_run_value_leverages[].value | string | No | ||||
| data.statcast_run_value_minimums | array | No | ||||
| data.statcast_run_value_minimums[].description | string | No | ||||
| data.statcast_run_value_minimums[].value | string | No | ||||
| data.statcast_run_value_sort_directions | array | No | ||||
| data.statcast_run_value_sort_directions[].description | string | No | ||||
| data.statcast_run_value_sort_directions[].value | string | No | ||||
| data.statcast_run_value_sort_fields | array | No | ||||
| data.statcast_run_value_sort_fields[].description | string | No | ||||
| data.statcast_run_value_sort_fields[].value | string | No | ||||
| data.statcast_run_value_subtypes | array | No | ||||
| data.statcast_run_value_subtypes[].description | string | No | ||||
| data.statcast_run_value_subtypes[].value | string | No | ||||
| data.statcast_run_value_types | array | No | ||||
| data.statcast_run_value_types[].description | string | No | ||||
| data.statcast_run_value_types[].value | string | No | ||||
| data.statcast_run_value_years | array | No | ||||
| data.statcast_run_value_years[].description | string | No | ||||
| data.statcast_run_value_years[].value | string | No | ||||
| data.statcast_running_game_filters | mlb.StatcastRunningGameFilters | No | ||||
| data.statcast_running_game_filters.game_types | array | No | ||||
| data.statcast_running_game_filters.game_types[].description | string | No | ||||
| data.statcast_running_game_filters.game_types[].value | string | No | ||||
| data.statcast_running_game_filters.minimum_pitches | array | No | ||||
| data.statcast_running_game_filters.minimum_pitches[].description | string | No | ||||
| data.statcast_running_game_filters.minimum_pitches[].value | string | No | ||||
| data.statcast_running_game_filters.pitch_hands | array | No | ||||
| data.statcast_running_game_filters.pitch_hands[].description | string | No | ||||
| data.statcast_running_game_filters.pitch_hands[].value | string | No | ||||
| data.statcast_running_game_filters.prior_pickoffs | array | No | ||||
| data.statcast_running_game_filters.prior_pickoffs[].description | string | No | ||||
| data.statcast_running_game_filters.prior_pickoffs[].value | string | No | ||||
| data.statcast_running_game_filters.runner_moved | array | No | ||||
| data.statcast_running_game_filters.runner_moved[].description | string | No | ||||
| data.statcast_running_game_filters.runner_moved[].value | string | No | ||||
| data.statcast_running_game_filters.seasons | array | No | ||||
| data.statcast_running_game_filters.seasons[].description | string | No | ||||
| data.statcast_running_game_filters.seasons[].value | string | No | ||||
| data.statcast_running_game_filters.sort_directions | array | No | ||||
| data.statcast_running_game_filters.sort_directions[].description | string | No | ||||
| data.statcast_running_game_filters.sort_directions[].value | string | No | ||||
| data.statcast_running_game_filters.sort_fields | array | No | ||||
| data.statcast_running_game_filters.sort_fields[].description | string | No | ||||
| data.statcast_running_game_filters.sort_fields[].value | string | No | ||||
| data.statcast_running_game_filters.target_bases | array | No | ||||
| data.statcast_running_game_filters.target_bases[].description | string | No | ||||
| data.statcast_running_game_filters.target_bases[].value | string | No | ||||
| data.statcast_running_game_filters.teams | array | No | ||||
| data.statcast_running_game_filters.teams[].description | string | No | ||||
| data.statcast_running_game_filters.teams[].value | string | No | ||||
| data.statcast_running_game_filters.types | array | No | ||||
| data.statcast_running_game_filters.types[].description | string | No | ||||
| data.statcast_running_game_filters.types[].value | string | No | ||||
| data.statcast_sort_directions | array | No | ||||
| data.statcast_sort_directions[].description | string | No | ||||
| data.statcast_sort_directions[].value | string | No | ||||
| data.statcast_sort_fields | array | No | ||||
| data.statcast_sort_fields[].description | string | No | ||||
| data.statcast_sort_fields[].value | string | No | ||||
| data.statcast_sprint_speed_minimum_runs | array | No | ||||
| data.statcast_sprint_speed_minimum_runs[].description | string | No | ||||
| data.statcast_sprint_speed_minimum_runs[].value | string | No | ||||
| data.statcast_sprint_speed_positions | array | No | ||||
| data.statcast_sprint_speed_positions[].description | string | No | ||||
| data.statcast_sprint_speed_positions[].value | string | No | ||||
| data.statcast_sprint_speed_seasons | array | No | ||||
| data.statcast_sprint_speed_seasons[].description | string | No | ||||
| data.statcast_sprint_speed_seasons[].value | string | No | ||||
| data.statcast_sprint_speed_sort_directions | array | No | ||||
| data.statcast_sprint_speed_sort_directions[].description | string | No | ||||
| data.statcast_sprint_speed_sort_directions[].value | string | No | ||||
| data.statcast_sprint_speed_sort_fields | array | No | ||||
| data.statcast_sprint_speed_sort_fields[].description | string | No | ||||
| data.statcast_sprint_speed_sort_fields[].value | string | No | ||||
| data.statcast_sprint_speed_team_abbreviations | array | No | ||||
| data.statcast_sprint_speed_team_abbreviations[].description | string | No | ||||
| data.statcast_sprint_speed_team_abbreviations[].value | string | No | ||||
| data.statcast_sprint_speed_team_ids | array | No | ||||
| data.statcast_sprint_speed_team_ids[].description | string | No | ||||
| data.statcast_sprint_speed_team_ids[].value | string | No | ||||
| data.statcast_sprint_speed_team_sort_fields | array | No | ||||
| data.statcast_sprint_speed_team_sort_fields[].description | string | No | ||||
| data.statcast_sprint_speed_team_sort_fields[].value | string | No | ||||
| data.statcast_swing_path_game_types | array | No | ||||
| data.statcast_swing_path_game_types[].description | string | No | ||||
| data.statcast_swing_path_game_types[].value | string | No | ||||
| data.statcast_swing_path_sort_fields | array | No | ||||
| data.statcast_swing_path_sort_fields[].description | string | No | ||||
| data.statcast_swing_path_sort_fields[].value | string | No | ||||
| data.statcast_swing_path_types | array | No | ||||
| data.statcast_swing_path_types[].description | string | No | ||||
| data.statcast_swing_path_types[].value | string | No | ||||
| data.statcast_swing_timing_flags | array | No | ||||
| data.statcast_swing_timing_flags[].description | string | No | ||||
| data.statcast_swing_timing_flags[].value | string | No | ||||
| data.statcast_swing_timing_game_types | array | No | ||||
| data.statcast_swing_timing_game_types[].description | string | No | ||||
| data.statcast_swing_timing_game_types[].value | string | No | ||||
| data.statcast_swing_timing_groups_x | array | No | ||||
| data.statcast_swing_timing_groups_x[].description | string | No | ||||
| data.statcast_swing_timing_groups_x[].value | string | No | ||||
| data.statcast_swing_timing_groups_y | array | No | ||||
| data.statcast_swing_timing_groups_y[].description | string | No | ||||
| data.statcast_swing_timing_groups_y[].value | string | No | ||||
| data.statcast_swing_timing_groups_z | array | No | ||||
| data.statcast_swing_timing_groups_z[].description | string | No | ||||
| data.statcast_swing_timing_groups_z[].value | string | No | ||||
| data.statcast_swing_timing_sort_directions | array | No | ||||
| data.statcast_swing_timing_sort_directions[].description | string | No | ||||
| data.statcast_swing_timing_sort_directions[].value | string | No | ||||
| data.statcast_swing_timing_sort_fields | array | No | ||||
| data.statcast_swing_timing_sort_fields[].description | string | No | ||||
| data.statcast_swing_timing_sort_fields[].value | string | No | ||||
| data.statcast_swing_timing_splits | array | No | ||||
| data.statcast_swing_timing_splits[].description | string | No | ||||
| data.statcast_swing_timing_splits[].value | string | No | ||||
| data.statcast_swing_timing_types | array | No | ||||
| data.statcast_swing_timing_types[].description | string | No | ||||
| data.statcast_swing_timing_types[].value | string | No | ||||
| data.statcast_top_performers_years | array | No | ||||
| data.statcast_year_to_year_comparison_years | array | No | ||||
| data.statcast_year_to_year_comparison_years[].description | string | No | ||||
| data.statcast_year_to_year_comparison_years[].value | string | No | ||||
| data.statcast_year_to_year_groups | array | No | ||||
| data.statcast_year_to_year_groups[].description | string | No | ||||
| data.statcast_year_to_year_groups[].value | string | No | ||||
| data.statcast_year_to_year_sort_directions | array | No | ||||
| data.statcast_year_to_year_sort_directions[].description | string | No | ||||
| data.statcast_year_to_year_sort_directions[].value | string | No | ||||
| data.statcast_year_to_year_types | array | No | ||||
| data.statcast_year_to_year_types[].description | string | No | ||||
| data.statcast_year_to_year_types[].value | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/mlb/discovery" \
-H "x-api-key: $CRAWLORA_API_KEY"