MLB GraphQL Reference
Every MLB game from spring training through the World Series — the 162-game regular season, the postseason bracket, plus the players, ballparks, umpires, weather, Statcast metrics, and pitch-by-pitch detail.
Every GraphQL type, relation, and argument — generated from the served schema, so it can never disagree with the API. Root fields take the same filters as REST; requests are metered by rows resolved, nested lists included.
Main
seasons
MlbSeasonsEach MLB season — spring training, the 162-game regular season, the Wild Card Series, the Division Series, the League Championship Series, and the World Series.
Relations
game_lines[MlbGameLines!]!mlb.game_lines rows whoseseason_idreferences this row.games[MlbGames!]!mlb.games rows whoseseason_idreferences this row.park_factors[MlbParkFactors!]!mlb.park_factors rows whoseseason_idreferences this row.player_awards[MlbPlayerAwards!]!mlb.player_awards rows whoseseason_idreferences this row.player_injuries[MlbPlayerInjuries!]!mlb.player_injuries rows whoseseason_idreferences this row.playoffs[MlbPlayoffs!]!mlb.playoffs rows whoseseason_idreferences this row.season_player_stats[MlbSeasonPlayerStats!]!mlb.season_player_stats rows whoseseason_idreferences this row.season_run_environments[MlbSeasonRunEnvironments!]!mlb.season_run_environments rows whoseseason_idreferences this row.season_team_stats[MlbSeasonTeamStats!]!mlb.season_team_stats rows whoseseason_idreferences this row.team_player_rosters[MlbTeamPlayerRosters!]!mlb.team_player_rosters rows whoseseason_idreferences this row.woba_weights[MlbWobaWeights!]!mlb.woba_weights rows whoseseason_idreferences this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (9) — full docs in the data dictionary
id: BigInt
league_id: String
start_date: String
end_date: String
start_year: Int
regular_season_start_date: String
post_season_start_date: String
created_at: String
updated_at: String
teams
MlbTeamsThe 30 MLB franchises, organized into the American and National Leagues with three divisions in each.
Relations
venueMlbVenuesThe mlb.venues row referenced byvenue_id; null when unlinked.player_awards[MlbPlayerAwards!]!mlb.player_awards rows whoseteam_idreferences this row.games_by_home_team_id[MlbGames!]!mlb.games rows whosehome_team_idreferences this row.games_by_away_team_id[MlbGames!]!mlb.games rows whoseaway_team_idreferences this row.players[MlbPlayers!]!mlb.players rows whoseteam_idreferences this row.player_injuries[MlbPlayerInjuries!]!mlb.player_injuries rows whoseteam_idreferences this row.player_news[MlbPlayerNews!]!mlb.player_news rows whoseteam_idreferences this row.play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whoseteam_idreferences this row.game_team_rosters[MlbGameTeamRosters!]!mlb.game_team_rosters rows whoseteam_idreferences this row.team_player_rosters[MlbTeamPlayerRosters!]!mlb.team_player_rosters rows whoseteam_idreferences this row.team_starting_lineups[MlbTeamStartingLineups!]!mlb.team_starting_lineups rows whoseteam_idreferences this row.season_team_stats[MlbSeasonTeamStats!]!mlb.season_team_stats rows whoseteam_idreferences this row.game_team_stats[MlbGameTeamStats!]!mlb.game_team_stats rows whoseteam_idreferences this row.game_player_batter_stats[MlbGamePlayerBatterStats!]!mlb.game_player_batter_stats rows whoseteam_idreferences this row.game_player_pitching_stats[MlbGamePlayerPitchingStats!]!mlb.game_player_pitching_stats rows whoseteam_idreferences this row.playoffs_by_home_team_id[MlbPlayoffs!]!mlb.playoffs rows whosehome_team_idreferences this row.playoffs_by_away_team_id[MlbPlayoffs!]!mlb.playoffs rows whoseaway_team_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.activeBooleanFilter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive).
Columns (13) — full docs in the data dictionary
id: BigInt
abbreviation: String
city: String
league_team_id: Int
league: String
division: String
full_name: String
name: String
active: Boolean
venue_id: BigInt
logo_url: String
created_at: String
updated_at: String
games
MlbGamesEvery scheduled and played MLB game — spring training exhibitions, the 162-game regular season, the Wild Card Series, the Division and Championship Series, and the World Series.
Required filters: one of
season_id.Relations
home_teamMlbTeamsThe mlb.teams row referenced byhome_team_id; null when unlinked.away_teamMlbTeamsThe mlb.teams row referenced byaway_team_id; null when unlinked.venueMlbVenuesThe mlb.venues row referenced byvenue_id; null when unlinked.winning_pitcherMlbPlayersThe mlb.players row referenced bywinning_pitcher_id; null when unlinked.losing_pitcherMlbPlayersThe mlb.players row referenced bylosing_pitcher_id; null when unlinked.save_pitcherMlbPlayersThe mlb.players row referenced bysave_pitcher_id; null when unlinked.seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.game_lines[MlbGameLines!]!mlb.game_lines rows whosegame_idreferences this row.venue_weathers[MlbVenueWeathers!]!mlb.venue_weathers rows whosegame_idreferences this row.game_umpires[MlbGameUmpires!]!mlb.game_umpires rows whosegame_idreferences this row.innings[MlbInnings!]!mlb.innings rows whosegame_idreferences this row.at_bats[MlbAtBats!]!mlb.at_bats rows whosegame_idreferences this row.play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whosegame_idreferences this row.pitches[MlbPitches!]!mlb.pitches rows whosegame_idreferences this row.game_team_rosters[MlbGameTeamRosters!]!mlb.game_team_rosters rows whosegame_idreferences this row.team_starting_lineups[MlbTeamStartingLineups!]!mlb.team_starting_lineups rows whosegame_idreferences this row.game_team_stats[MlbGameTeamStats!]!mlb.game_team_stats rows whosegame_idreferences this row.game_player_batter_stats[MlbGamePlayerBatterStats!]!mlb.game_player_batter_stats rows whosegame_idreferences this row.game_player_pitching_stats[MlbGamePlayerPitchingStats!]!mlb.game_player_pitching_stats rows whosegame_idreferences this row.
Arguments (10)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a season. Defaults to the current season.home_team_idIntFilter by home team.away_team_idIntFilter by away team.statusStringFilter by game status.dayIntFilter by calendar day (YYYYMMDD integer, US Eastern) — e.g. day=20260609 for today's slate. season_id defaults to the current season; pass it explicitly for past-season days.day__gteIntgtecomparison onday.day__lteIntltecomparison onday.day__betweenStringRange filter onday— pass "lo,hi".
Columns (33) — full docs in the data dictionary
id: BigInt
league_id: String
season_id: BigInt
game_time: String
league_game_id: Int
home_team_id: BigInt
away_team_id: BigInt
game_type: String
status: String
end_time: String
season_type: String
day: Int
venue_id: BigInt
channel: String
attendance: Int
away_team_score: Int
home_team_score: Int
neutral_venue: Boolean
series_name: String
if_necessary: Boolean
series_game_number: String
game_label: String
series_text: String
postponed_status: String
doubleheader: Boolean
game_number: Int
created_at: String
updated_at: String
winning_pitcher_id: BigInt
losing_pitcher_id: BigInt
save_pitcher_id: BigInt
duration_minutes: Int
day_night: String
players
MlbPlayersEvery individual who has played in Major League Baseball — current 26-man and 40-man rosters, minor-league call-ups, players on the injured list, free agents, and retired players.
Required filters: one of
team_id | roster_status.Relations
teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.games_by_winning_pitcher_id[MlbGames!]!mlb.games rows whosewinning_pitcher_idreferences this row.games_by_losing_pitcher_id[MlbGames!]!mlb.games rows whoselosing_pitcher_idreferences this row.games_by_save_pitcher_id[MlbGames!]!mlb.games rows whosesave_pitcher_idreferences this row.at_bats_by_batter_id[MlbAtBats!]!mlb.at_bats rows whosebatter_idreferences this row.at_bats_by_pitcher_id[MlbAtBats!]!mlb.at_bats rows whosepitcher_idreferences this row.pitches_by_batter_id[MlbPitches!]!mlb.pitches rows whosebatter_idreferences this row.pitches_by_pitcher_id[MlbPitches!]!mlb.pitches rows whosepitcher_idreferences this row.team_starting_lineups[MlbTeamStartingLineups!]!mlb.team_starting_lineups rows whosepitcher_idreferences this row.player_injuries[MlbPlayerInjuries!]!mlb.player_injuries rows whoseplayer_idreferences this row.player_news[MlbPlayerNews!]!mlb.player_news rows whoseplayer_idreferences this row.player_awards[MlbPlayerAwards!]!mlb.player_awards rows whoseplayer_idreferences this row.operator_player_lookups[MlbOperatorPlayerLookups!]!mlb.operator_player_lookups rows whoseplayer_idreferences this row.play_by_plays_by_player_id[MlbPlayByPlays!]!mlb.play_by_plays rows whoseplayer_idreferences this row.play_by_plays_by_pitcher_id[MlbPlayByPlays!]!mlb.play_by_plays rows whosepitcher_idreferences this row.play_by_plays_by_batter_id[MlbPlayByPlays!]!mlb.play_by_plays rows whosebatter_idreferences this row.play_by_plays_by_catcher_id[MlbPlayByPlays!]!mlb.play_by_plays rows whosecatcher_idreferences this row.play_by_plays_by_first_base_runner_id[MlbPlayByPlays!]!mlb.play_by_plays rows whosefirst_base_runner_idreferences this row.play_by_plays_by_second_base_runner_id[MlbPlayByPlays!]!mlb.play_by_plays rows whosesecond_base_runner_idreferences this row.play_by_plays_by_third_base_runner_id[MlbPlayByPlays!]!mlb.play_by_plays rows whosethird_base_runner_idreferences this row.game_team_rosters[MlbGameTeamRosters!]!mlb.game_team_rosters rows whoseplayer_idreferences this row.team_player_rosters[MlbTeamPlayerRosters!]!mlb.team_player_rosters rows whoseplayer_idreferences this row.team_starting_lineup_batters[MlbTeamStartingLineupBatters!]!mlb.team_starting_lineup_batters rows whoseplayer_idreferences this row.season_player_stats[MlbSeasonPlayerStats!]!mlb.season_player_stats rows whoseplayer_idreferences this row.game_player_batter_stats[MlbGamePlayerBatterStats!]!mlb.game_player_batter_stats rows whoseplayer_idreferences this row.game_player_pitching_stats[MlbGamePlayerPitchingStats!]!mlb.game_player_pitching_stats rows whoseplayer_idreferences this row.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.team_idIntFilter to players whose current team_id matches. Null team_id rows (free agents, retired) are excluded when this filter is applied.roster_statusStringFilter by canonical roster status. The "on a team now" set is {active, injured_reserve, non_roster} (active 26-man, injured list, and 40-man-but-optioned); free_agent/retired/inactive are off-roster.
Columns (31) — full docs in the data dictionary
id: BigInt
league_id: String
first_name: String
last_name: String
full_name: String
jersey: String
league_player_id: Int
primary_position: String
full_position_list: String
team_id: BigInt
league_slug: String
position_category: String
height: Int
weight: Int
birth_date: String
birth_city: String
birth_state: String
birth_country: String
school: String
debut_date: String
display_last_comma_first: String
display_fi_last: String
bats: String
throws: String
draft_year: String
draft_round: String
draft_number: String
roster_status: String
profile_pic_url: String
created_at: String
updated_at: String
Plays
innings
MlbInningsEach half-inning of every MLB game — runs scored, hits, errors, base traffic, plate appearances, who pitched, and how the offense ended each frame.
Required filters: one of
game_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.at_bats[MlbAtBats!]!mlb.at_bats rows whoseinning_idreferences this row.play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whoseinning_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.
Columns (12) — full docs in the data dictionary
id: BigInt
game_id: BigInt
inning_number: Int
inning_half: String
home_team_runs: Int
away_team_runs: Int
home_team_hits: Int
away_team_hits: Int
home_team_errors: Int
away_team_errors: Int
created_at: String
updated_at: String
pitches
MlbPitchesEvery individual pitch thrown in every MLB game — the pitch type, velocity, location, movement, spin, and the result (called strike, swinging strike, foul, ball, hit, walk).
Required filters: one of
game_id.Relations
batterMlbPlayersThe mlb.players row referenced bybatter_id; null when unlinked.pitcherMlbPlayersThe mlb.players row referenced bypitcher_id; null when unlinked.gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.at_batMlbAtBatsThe mlb.at_bats row referenced byat_bat_id; null when unlinked.playMlbPlayByPlaysThe mlb.play_by_plays row referenced byplay_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.
Columns (74) — full docs in the data dictionary
id: BigInt
play_id: BigInt
game_id: BigInt
pitcher_id: BigInt
batter_id: BigInt
at_bat_id: BigInt
pitch_number: Int
pitch_type: String
pitch_speed: Float
pitch_zone: Int
strike_zone_top: Float
strike_zone_bottom: Float
pitch_x: Float
pitch_y: Float
pitch_z: Float
plate_x: Float
plate_z: Float
extension: Float
break_angle: Float
break_length: Float
break_y: Float
spin_rate: Float
spin_direction: Float
result: String
call: String
strike: Boolean
ball: Boolean
in_play: Boolean
single: Boolean
double: Boolean
triple: Boolean
home_run: Boolean
walk: Boolean
strikeout: Boolean
hit_by_pitch: Boolean
sacrifice_hit: Boolean
sacrifice_fly: Boolean
intentional_walk: Boolean
ground_into_double_play: Boolean
ground_into_triple_play: Boolean
fly_out: Boolean
ground_out: Boolean
line_out: Boolean
pop_out: Boolean
air_out: Boolean
catchers_interference: Boolean
hit_exit_velocity: Float
hit_launch_angle: Float
hit_distance: Int
hit_coord_x: Float
hit_coord_y: Float
spray_angle: Float
hard_hit: Boolean
barrel: Boolean
sweet_spot: Boolean
under: Boolean
topped: Boolean
flare_burner: Boolean
solid_contact: Boolean
expected_batting_avg: Float
expected_woba: Float
launch_speed_angle_zone: Int
statcast_quality_score: Float
tracking_confidence: Float
in_strike_zone: Boolean
chase: Boolean
fastball: Boolean
breaking_ball: Boolean
offspeed: Boolean
spin_axis: Float
release_speed: Float
effective_speed: Float
created_at: String
updated_at: String
at_bats
MlbAtBatsEvery plate appearance in every MLB game — the batter, the pitcher, the count, the pitch sequence, and the outcome (single, double, home run, strikeout, walk, hit-by-pitch, etc.).
Required filters: one of
game_id.Relations
batterMlbPlayersThe mlb.players row referenced bybatter_id; null when unlinked.pitcherMlbPlayersThe mlb.players row referenced bypitcher_id; null when unlinked.gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.inningMlbInningsThe mlb.innings row referenced byinning_id; null when unlinked.play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whoseat_bat_idreferences this row.pitches[MlbPitches!]!mlb.pitches rows whoseat_bat_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.
Columns (37) — full docs in the data dictionary
id: BigInt
game_id: BigInt
inning_id: BigInt
pitcher_id: BigInt
batter_id: BigInt
at_bat_number: Int
start_outs: Int
end_outs: Int
start_runners: Int
end_runners: Int
runs_scored: Int
result: String
pitch_count: Int
balls: Int
strikes: Int
hit_type: String
hit_location: String
hit_distance: Int
hit_exit_velocity: Float
hit_launch_angle: Float
hit_coord_x: Float
hit_coord_y: Float
is_hard_hit: Boolean
is_barrel: Boolean
expected_batting_avg: Float
expected_woba: Float
launch_speed_angle_zone: Int
spray_angle: Float
is_sweet_spot: Boolean
is_under: Boolean
is_topped: Boolean
is_flare_burner: Boolean
is_solid_contact: Boolean
statcast_quality_score: Float
tracking_confidence: Float
created_at: String
updated_at: String
play_by_plays
MlbPlayByPlaysEvery individual play of every MLB game — every plate appearance, baserunning event, defensive play, and substitution with the inning, outs, base state, and score at the moment.
Required filters: one of
game_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.inningMlbInningsThe mlb.innings row referenced byinning_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.pitcherMlbPlayersThe mlb.players row referenced bypitcher_id; null when unlinked.batterMlbPlayersThe mlb.players row referenced bybatter_id; null when unlinked.catcherMlbPlayersThe mlb.players row referenced bycatcher_id; null when unlinked.first_base_runnerMlbPlayersThe mlb.players row referenced byfirst_base_runner_id; null when unlinked.second_base_runnerMlbPlayersThe mlb.players row referenced bysecond_base_runner_id; null when unlinked.third_base_runnerMlbPlayersThe mlb.players row referenced bythird_base_runner_id; null when unlinked.at_batMlbAtBatsThe mlb.at_bats row referenced byat_bat_id; null when unlinked.pitches[MlbPitches!]!mlb.pitches rows whoseplay_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.
Columns (25) — full docs in the data dictionary
id: BigInt
play_id: BigInt
mlb_event_num: Int
game_id: BigInt
inning_id: BigInt
player_id: BigInt
team_id: BigInt
event_type: Int
event_sub_type: Int
description: String
count_balls: Int
count_strikes: Int
outs: Int
runners_on_base: Int
pitcher_id: BigInt
batter_id: BigInt
catcher_id: BigInt
first_base_runner_id: BigInt
second_base_runner_id: BigInt
third_base_runner_id: BigInt
hit_location: String
hit_type: String
at_bat_id: BigInt
created_at: String
updated_at: String
Stats
park_factors
MlbParkFactorsHow each MLB ballpark inflates or suppresses run-scoring categories — runs, home runs, doubles, triples, and batting average relative to a neutral park, computed per season.
Required filters: one of
venue_id.Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.venueMlbVenuesThe mlb.venues row referenced byvenue_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.venue_idIntFilter by venue.season_idIntFilter to a season.
Columns (20) — full docs in the data dictionary
id: BigInt
venue_id: BigInt
season_id: BigInt
home_run_factor: Float
single_factor: Float
double_factor: Float
triple_factor: Float
walk_factor: Float
strikeout_factor: Float
left_handed_factor: Float
right_handed_factor: Float
basic_park_factor: Float
handedness_factor: Float
years_of_data: Int
updated_date: String
created_at: String
updated_at: String
fly_ball_factor: Float
ground_ball_factor: Float
run_factor: Float
season_run_environments
MlbSeasonRunEnvironmentsLeague-wide offensive context per MLB season — average runs per game, league batting line, ERA, and the offensive baseline used to normalize player and team stats across eras.
Required filters: one of
season_id.Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a season. Defaults to the current season.
Columns (12) — full docs in the data dictionary
id: BigInt
season_id: BigInt
runs_per_plate_appearance: Float
runs_per_out: Float
home_run_per_fly_ball: Float
batting_average_on_balls_in_play: Float
strikeout_rate: Float
walk_rate: Float
fip_constant: Float
updated_date: String
created_at: String
updated_at: String
woba_weights
MlbWobaWeightsThe weighted on-base average coefficients for each MLB season — the run values assigned to walks, singles, doubles, triples, and home runs, used to compute wOBA and wRC+.
Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (14) — full docs in the data dictionary
id: BigInt
season_id: BigInt
walk_weight: Float
hit_by_pitch_weight: Float
single_weight: Float
double_weight: Float
triple_weight: Float
home_run_weight: Float
league_woba: Float
league_obp: Float
woba_scale: Float
updated_date: String
created_at: String
updated_at: String
season_team_stats
MlbSeasonTeamStatsSeason totals for each MLB team — wins and losses, runs scored and allowed, batting and pitching aggregates, fielding stats, and advanced team metrics (BaseRuns, pythagorean expectation, run differential).
Required filters: one of
season_id.Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a season. Defaults to the current season.team_idIntFilter by team.
Columns (38) — full docs in the data dictionary
id: BigInt
team_id: BigInt
season_id: BigInt
games_played: Int
wins: Int
losses: Int
ties: Int
runs_scored: Int
runs_allowed: Int
at_bats: Int
hits: Int
doubles: Int
triples: Int
home_runs: Int
runs_batted_in: Int
stolen_bases: Int
caught_stealing: Int
walks: Int
strikeouts: Int
batting_average: Float
on_base_percentage: Float
slugging_percentage: Float
on_base_plus_slugging: Float
innings_pitched: Float
earned_runs: Int
earned_run_average: Float
whip: Float
complete_games: Int
shutouts: Int
saves: Int
save_opportunities: Int
holds: Int
blown_saves: Int
errors: Int
fielding_percentage: Float
double_plays: Int
created_at: String
updated_at: String
game_player_batter_stats
MlbGamePlayerBatterStatsEach batter's box-score stat line for each MLB game — at-bats, hits, doubles, triples, home runs, RBIs, walks, strikeouts, stolen bases, and runs scored.
Required filters: one of
game_id | player_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.player_idIntFilter to a single player.
Columns (44) — full docs in the data dictionary
id: BigInt
game_id: BigInt
team_id: BigInt
player_id: BigInt
at_bats: Int
plate_appearances: Int
runs: Int
hits: Int
singles: Int
doubles: Int
triples: Int
home_runs: Int
runs_batted_in: Int
batting_average: Float
stolen_bases: Int
caught_stealing: Int
strikeouts: Int
walks: Int
hit_by_pitch: Int
sacrifices: Int
sacrifice_flies: Int
ground_into_double_play: Int
ground_into_triple_play: Int
on_base_percentage: Float
slugging_percentage: Float
on_base_plus_slugging: Float
total_bases: Int
fly_outs: Int
ground_outs: Int
line_outs: Int
pop_outs: Int
air_outs: Int
intentional_walks: Int
left_on_base: Int
balls_in_play: Int
babip: Float
isolated_power: Float
woba: Float
double_plays: Int
catchers_interference: Int
pickoffs: Int
at_bats_per_home_run: Float
created_at: String
updated_at: String
game_player_pitching_stats
MlbGamePlayerPitchingStatsEach pitcher's box-score stat line for each MLB game — innings pitched, hits and runs allowed, earned runs, walks, strikeouts, home runs allowed, and pitches thrown.
Required filters: one of
game_id | player_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.player_idIntFilter to a single player.
Columns (70) — full docs in the data dictionary
id: BigInt
game_id: BigInt
team_id: BigInt
player_id: BigInt
win: Int
loss: Int
save: Int
hold: Int
blown_save: Int
innings_pitched: Float
hits_allowed: Int
runs_allowed: Int
earned_runs: Int
walks_allowed: Int
strikeouts_pitched: Int
home_runs_allowed: Int
batters_faced: Int
pitches_thrown: Int
strikes: Int
earned_run_average: Float
whip: Float
singles_allowed: Int
doubles_allowed: Int
triples_allowed: Int
grand_slams_allowed: Int
hit_by_pitch: Int
sacrifices_allowed: Int
sacrifice_flies_allowed: Int
ground_into_double_play: Int
complete_games: Int
shutouts: Int
no_hitters: Int
perfect_games: Int
plate_appearances: Int
total_bases_allowed: Int
fly_outs: Int
ground_outs: Int
line_outs: Int
pop_outs: Int
air_outs: Int
intentional_walks: Int
balls_in_play: Int
on_base_percentage: Float
slugging_percentage: Float
on_base_plus_slugging: Float
strikeouts_per_nine: Float
walks_per_nine: Float
home_runs_per_nine: Float
runs_scored_per_nine: Float
babip: Float
woba: Float
double_plays: Int
fip: Float
quality_starts: Int
inning_started: Int
left_on_base: Float
strike_percentage: Float
balls: Int
balks: Int
wild_pitches: Int
pickoffs: Int
inherited_runners: Int
inherited_runners_scored: Int
games_pitched: Int
games_started: Int
games_finished: Int
outs: Int
catchers_interference: Int
created_at: String
updated_at: String
game_team_stats
MlbGameTeamStatsEach MLB team's stat line for each game — runs, hits, errors, batting averages, pitching lines, broken out per game with home/away context.
Required filters: one of
game_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.team_idIntFilter by team.
Columns (39) — full docs in the data dictionary
id: BigInt
game_id: BigInt
team_id: BigInt
win: Int
loss: Int
runs: Int
hits: Int
errors: Int
left_on_base: Int
doubles: Int
triples: Int
home_runs: Int
runs_batted_in: Int
stolen_bases: Int
caught_stealing: Int
walks: Int
strikeouts: Int
hit_by_pitch: Int
sacrifice_hits: Int
sacrifice_flies: Int
grounded_into_double_play: Int
batting_average: Float
on_base_percentage: Float
slugging_percentage: Float
on_base_plus_slugging: Float
innings_pitched: Float
earned_runs: Int
earned_run_average: Float
batters_faced: Int
pitches_thrown: Int
strikes: Int
wild_pitches: Int
balks: Int
putouts: Int
assists: Int
double_plays_turned: Int
passed_balls: Int
created_at: String
updated_at: String
operator_player_lookups
MlbOperatorPlayerLookupsHow each sportsbook and fantasy operator names every MLB player — the mapping from each operator's player identifier to a unified player record.
Required filters: one of
operator_id.Relations
operatorReferenceOperatorsThe main.operators row referenced byoperator_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.operator_idIntFilter by operator.
Columns (8) — full docs in the data dictionary
id: BigInt
operator_id: BigInt
operator_player_id: String
player_id: BigInt
player_name: String
position: String
created_at: String
updated_at: String
season_player_stats
MlbSeasonPlayerStatsSeason totals for each MLB player — the full batting line (AVG, OBP, SLG, OPS), counting stats (HR, RBI, SB, R), and pitching line (W, L, ERA, WHIP, K, BB). Advanced run-value metrics (wRC+, FIP, WAR) are not carried here. Scope is not split by season type.
Required filters: one of
season_id | player_id.Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.season_idIntFilter to a season. Defaults to the current season.player_idIntFilter to a single player.
Columns (71) — full docs in the data dictionary
id: BigInt
player_id: BigInt
season_id: BigInt
games_played: Int
games_started: Int
at_bats: Int
plate_appearances: Int
hits: Int
doubles: Int
triples: Int
home_runs: Int
runs: Int
runs_batted_in: Int
stolen_bases: Int
caught_stealing: Int
walks: Int
strikeouts: Int
hit_by_pitch: Int
sacrifice_hits: Int
sacrifice_flies: Int
grounded_into_double_play: Int
batting_average: Float
on_base_percentage: Float
slugging_percentage: Float
on_base_plus_slugging: Float
wins: Int
losses: Int
games_pitched: Int
games_started_pitching: Int
complete_games: Int
shutouts: Int
saves: Int
save_opportunities: Int
holds: Int
blown_saves: Int
innings_pitched: Float
hits_allowed: Int
runs_allowed: Int
earned_runs: Int
walks_allowed: Int
strikeouts_pitched: Int
home_runs_allowed: Int
batters_faced: Int
earned_run_average: Float
whip: Float
strikeouts_per_nine: Float
walks_per_nine: Float
hits_per_nine: Float
home_runs_per_nine: Float
fielding_position: String
fielding_games: Int
fielding_games_started: Int
total_chances: Int
putouts: Int
assists: Int
errors: Int
double_plays: Int
fielding_percentage: Float
passed_balls: Int
stolen_bases_allowed: Int
caught_stealing_by: Int
created_at: String
updated_at: String
singles: Int
total_bases: Int
intentional_walks: Int
left_on_base: Int
pitches_thrown: Int
strikes: Int
balls: Int
quality_starts: Int
Odds
game_lines
MlbGameLinesMLB game betting lines — moneylines, run lines (the baseball point-spread equivalent), and over/under totals from sportsbooks, captured over time as the lines move from opening to closing. In MLB, spread = run line (typically +/- 1.5).
Required filters: one of
game_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.operatorReferenceOperatorsThe main.operators row referenced byoperator_id; null when unlinked.seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.
Columns (20) — full docs in the data dictionary
id: BigInt
game_id: BigInt
season_id: BigInt
operator_id: BigInt
spread: Float
spread_home_odds: Int
spread_away_odds: Int
moneyline_home: Int
moneyline_away: Int
total: Float
over_odds: Int
under_odds: Int
implied_home_score: Float
implied_away_score: Float
implied_home_win_pct: Float
implied_away_win_pct: Float
captured_at: String
is_opening: Boolean
created_at: String
updated_at: String
Lineups & Roster
game_team_rosters
MlbGameTeamRostersThe active gameday roster for each MLB team in each game — the 26 players in uniform that day, with positions and any pre-game lineup designations.
Required filters: one of
game_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.
Columns (12) — full docs in the data dictionary
id: BigInt
game_id: BigInt
team_id: BigInt
player_id: BigInt
position: String
status: String
comment: String
starter: Boolean
day: Int
batting_order: Int
created_at: String
updated_at: String
team_player_rosters
MlbTeamPlayerRostersDay-by-day player-to-team affiliations across the MLB season — who was on each 40-man roster, who was on the IL, who was optioned to the minors, and who was designated for assignment.
Required filters: one of
team_id.Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.team_idIntFilter by team.
Columns (11) — full docs in the data dictionary
id: BigInt
team_id: BigInt
player_id: BigInt
season_id: BigInt
position: String
position_group: String
roster_type: String
position_depth: Int
day: Int
created_at: String
updated_at: String
team_starting_lineup_batters
MlbTeamStartingLineupBattersEach batter in each MLB starting lineup — position in the order (1 through 9), defensive position, and batting handedness for the day.
Required filters: one of
team_starting_lineup_id.Relations
team_starting_lineupMlbTeamStartingLineupsThe mlb.team_starting_lineups row referenced byteam_starting_lineup_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.team_starting_lineup_idIntFilter to a single starting lineup.
Columns (7) — full docs in the data dictionary
id: BigInt
team_starting_lineup_id: BigInt
player_id: BigInt
batting_order: String
position: String
created_at: String
updated_at: String
team_starting_lineups
MlbTeamStartingLineupsEach MLB team's starting lineup for each game — the nine batters in batting order plus the starting pitcher (and DH where applicable).
Required filters: one of
team_id | game_id.Relations
pitcherMlbPlayersThe mlb.players row referenced bypitcher_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.team_starting_lineup_batters[MlbTeamStartingLineupBatters!]!mlb.team_starting_lineup_batters rows whoseteam_starting_lineup_idreferences this row.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.team_idIntFilter by team.game_idIntFilter to a single game.
Columns (8) — full docs in the data dictionary
id: BigInt
team_id: BigInt
game_id: BigInt
pitcher_id: BigInt
pitcher_status: Int
batter_status: Int
created_at: String
updated_at: String
Misc
venues
MlbVenuesMLB ballparks — current home stadiums and historical venues, with dimensions, surface, capacity, and roof type.
Relations
games[MlbGames!]!mlb.games rows whosevenue_idreferences this row.park_factors[MlbParkFactors!]!mlb.park_factors rows whosevenue_idreferences this row.venue_dimensions[MlbVenueDimensions!]!mlb.venue_dimensions rows whosevenue_idreferences this row.teams[MlbTeams!]!mlb.teams rows whosevenue_idreferences this row.venue_weathers[MlbVenueWeathers!]!mlb.venue_weathers rows whosevenue_idreferences this row.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (23) — full docs in the data dictionary
id: BigInt
name: String
league_venue_id: Int
longitude: Float
latitude: Float
elevation: Float
orientation: Float
description: String
city: String
state: String
country: String
capacity: Int
surface: String
roof_type: String
opened_date: String
closed_date: String
team_name: String
timezone: String
address: String
image_url: String
hr_factor: Float
created_at: String
updated_at: String
umpires
MlbUmpiresMLB umpires — the four-person crew of home-plate, first-base, second-base, and third-base umpires who work each game (six in the postseason with outfield umpires added).
Relations
game_umpires[MlbGameUmpires!]!mlb.game_umpires rows whoseumpire_idreferences this row.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.activeBooleanFilter by active status (defaults to true to show only currently-active rows; pass active=false to include inactive).
Columns (13) — full docs in the data dictionary
id: BigInt
first_name: String
last_name: String
full_name: String
mlb_umpire_id: Int
experience: Int
active: Boolean
birth_date: String
birth_city: String
birth_state: String
birth_country: String
created_at: String
updated_at: String
venue_dimensions
MlbVenueDimensionsOutfield dimensions and wall heights for each MLB ballpark — distances to left field, center field, right field, and the power alleys, plus the height of the outfield walls.
Required filters: one of
venue_id.Relations
venueMlbVenuesThe mlb.venues row referenced byvenue_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.venue_idIntFilter by venue.
Columns (23) — full docs in the data dictionary
id: BigInt
mlb_venue_id: Int
venue_name: String
year: Int
venue_id: BigInt
foul_territory_sq_ft: Float
fair_territory_sq_ft: Float
total_territory_sq_ft: Float
description: String
orientation: Float
left_field: Float
left_center_field: Float
center_field: Float
right_center_field: Float
right_field: Float
left_field_fence_height: Float
right_field_fence_height: Float
center_field_fence_height: Float
created_at: String
updated_at: String
backstop_distance: Float
foul_territory_rating: Float
altitude_ft: Float
playoffs
MlbPlayoffsThe MLB postseason bracket — Wild Card Series, Division Series, League Championship Series, and the World Series, tracked as the seeded matchups and outcomes.
Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.home_teamMlbTeamsThe mlb.teams row referenced byhome_team_id; null when unlinked.away_teamMlbTeamsThe mlb.teams row referenced byaway_team_id; null when unlinked.
Arguments (2)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.
Columns (14) — full docs in the data dictionary
id: BigInt
season_id: BigInt
series_id: BigInt
series_name: String
home_team_id: BigInt
away_team_id: BigInt
home_team_wins: Int
away_team_wins: Int
games_played: Int
max_games: Int
status: String
series_text: String
created_at: String
updated_at: String
game_umpires
MlbGameUmpiresThe umpiring crew assigned to each MLB game — who worked home plate, who worked each base.
Required filters: one of
game_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.umpireMlbUmpiresThe mlb.umpires row referenced byumpire_id; null when unlinked.
Arguments (3)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.
Columns (6) — full docs in the data dictionary
id: BigInt
game_id: BigInt
umpire_id: BigInt
position: String
created_at: String
updated_at: String
player_awards
MlbPlayerAwardsMLB player awards — MVP, Cy Young, Rookie of the Year, Gold Gloves, Silver Sluggers, All-Star selections, and other end-of-season honors.
Required filters: one of
player_id.Relations
teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.player_idIntFilter to a single player.season_idIntFilter to a season.
Columns (10) — full docs in the data dictionary
id: BigInt
player_id: BigInt
season_id: BigInt
award_type: String
is_winner: Boolean
created_at: String
updated_at: String
award_name: String
award_date: String
team_id: BigInt
player_injuries
MlbPlayerInjuriesThe ongoing injury record for each MLB player — body part, severity, IL designation (10-day, 15-day, 60-day), and expected return timeline.
Required filters: one of
player_id.Relations
seasonMlbSeasonsThe mlb.seasons row referenced byseason_id; null when unlinked.playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.player_idIntFilter to a single player.team_idIntFilter by team.
Columns (18) — full docs in the data dictionary
id: BigInt
player_id: BigInt
team_id: BigInt
season_id: BigInt
start_date: String
end_date: String
status: String
body_part: String
injury_type: String
side: String
description: String
is_surgery_required: Boolean
expected_return_date: String
games_missed: Int
updated_date: String
source: String
created_at: String
updated_at: String
player_news
MlbPlayerNewsNews about MLB players — trades, IL placements, lineup decisions, suspensions, and general beat-reporter updates, unified from beat-writer scrapers, operator feeds, and AI summarization.
Required filters: one of
player_id | team_id.Relations
playerMlbPlayersThe mlb.players row referenced byplayer_id; null when unlinked.teamMlbTeamsThe mlb.teams row referenced byteam_id; null when unlinked.
Arguments (8)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.player_idIntFilter to a single player.team_idIntFilter by team.news_timeStringFilter by publication time (ISO 8601). Use news_time__gte to poll for items since your last check.news_time__gteStringgtecomparison onnews_time.news_time__lteStringltecomparison onnews_time.news_time__betweenStringRange filter onnews_time— pass "lo,hi".
Columns (19) — full docs in the data dictionary
id: BigInt
player_id: BigInt
team_id: BigInt
title: String
description: String
analysis: String
source: String
link: String
news_time: String
priority: Int
created_at: String
updated_at: String
ai_processed: Boolean
situational_impact: JSON
content: String
category: String
external_id: String
processed_at: String
venue_weathers
MlbVenueWeathersOn-field weather throughout each MLB game — temperature, wind direction and speed, humidity, and precipitation captured at fixed intervals from first pitch.
Required filters: one of
game_id.Relations
gameMlbGamesThe mlb.games row referenced bygame_id; null when unlinked.venueMlbVenuesThe mlb.venues row referenced byvenue_id; null when unlinked.
Arguments (4)
firstIntPage size; clamped to the table's REST default/max limits.afterBigIntKeyset cursor — returns rows with id > after, ordered by id ascending.game_idIntFilter to a single game.venue_idIntFilter by venue.
Columns (29) — full docs in the data dictionary
id: BigInt
game_id: BigInt
venue_id: BigInt
time_minutes: Int
temperature: Float
feels_like_temperature: Float
humidity: Float
dew_point: Float
pressure: Float
wind_speed: Float
wind_direction: Float
wind_gust: Float
visibility: Float
uv_index: Float
cloud_cover: Float
precipitation: Float
precipitation_probability: Float
weather_condition: String
weather_description: String
is_dome: Boolean
roof_status: String
recorded_at: String
wind_direction_relative: Float
air_density: Float
created_at: String
updated_at: String
wind_blowing_out: Boolean
wind_component_out: Float
ball_carry_factor: Float