STAT-API

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

seasonsMlbSeasons
Each 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 whose season_id references this row.
  • games[MlbGames!]!mlb.games rows whose season_id references this row.
  • park_factors[MlbParkFactors!]!mlb.park_factors rows whose season_id references this row.
  • player_awards[MlbPlayerAwards!]!mlb.player_awards rows whose season_id references this row.
  • player_injuries[MlbPlayerInjuries!]!mlb.player_injuries rows whose season_id references this row.
  • playoffs[MlbPlayoffs!]!mlb.playoffs rows whose season_id references this row.
  • season_player_stats[MlbSeasonPlayerStats!]!mlb.season_player_stats rows whose season_id references this row.
  • season_run_environments[MlbSeasonRunEnvironments!]!mlb.season_run_environments rows whose season_id references this row.
  • season_team_stats[MlbSeasonTeamStats!]!mlb.season_team_stats rows whose season_id references this row.
  • team_player_rosters[MlbTeamPlayerRosters!]!mlb.team_player_rosters rows whose season_id references this row.
  • woba_weights[MlbWobaWeights!]!mlb.woba_weights rows whose season_id references 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
teamsMlbTeams
The 30 MLB franchises, organized into the American and National Leagues with three divisions in each.
Relations
  • venueMlbVenuesThe mlb.venues row referenced by venue_id; null when unlinked.
  • player_awards[MlbPlayerAwards!]!mlb.player_awards rows whose team_id references this row.
  • games_by_home_team_id[MlbGames!]!mlb.games rows whose home_team_id references this row.
  • games_by_away_team_id[MlbGames!]!mlb.games rows whose away_team_id references this row.
  • players[MlbPlayers!]!mlb.players rows whose team_id references this row.
  • player_injuries[MlbPlayerInjuries!]!mlb.player_injuries rows whose team_id references this row.
  • player_news[MlbPlayerNews!]!mlb.player_news rows whose team_id references this row.
  • play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whose team_id references this row.
  • game_team_rosters[MlbGameTeamRosters!]!mlb.game_team_rosters rows whose team_id references this row.
  • team_player_rosters[MlbTeamPlayerRosters!]!mlb.team_player_rosters rows whose team_id references this row.
  • team_starting_lineups[MlbTeamStartingLineups!]!mlb.team_starting_lineups rows whose team_id references this row.
  • season_team_stats[MlbSeasonTeamStats!]!mlb.season_team_stats rows whose team_id references this row.
  • game_team_stats[MlbGameTeamStats!]!mlb.game_team_stats rows whose team_id references this row.
  • game_player_batter_stats[MlbGamePlayerBatterStats!]!mlb.game_player_batter_stats rows whose team_id references this row.
  • game_player_pitching_stats[MlbGamePlayerPitchingStats!]!mlb.game_player_pitching_stats rows whose team_id references this row.
  • playoffs_by_home_team_id[MlbPlayoffs!]!mlb.playoffs rows whose home_team_id references this row.
  • playoffs_by_away_team_id[MlbPlayoffs!]!mlb.playoffs rows whose away_team_id references 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
gamesMlbGames
Every 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 by home_team_id; null when unlinked.
  • away_teamMlbTeamsThe mlb.teams row referenced by away_team_id; null when unlinked.
  • venueMlbVenuesThe mlb.venues row referenced by venue_id; null when unlinked.
  • winning_pitcherMlbPlayersThe mlb.players row referenced by winning_pitcher_id; null when unlinked.
  • losing_pitcherMlbPlayersThe mlb.players row referenced by losing_pitcher_id; null when unlinked.
  • save_pitcherMlbPlayersThe mlb.players row referenced by save_pitcher_id; null when unlinked.
  • seasonMlbSeasonsThe mlb.seasons row referenced by season_id; null when unlinked.
  • game_lines[MlbGameLines!]!mlb.game_lines rows whose game_id references this row.
  • venue_weathers[MlbVenueWeathers!]!mlb.venue_weathers rows whose game_id references this row.
  • game_umpires[MlbGameUmpires!]!mlb.game_umpires rows whose game_id references this row.
  • innings[MlbInnings!]!mlb.innings rows whose game_id references this row.
  • at_bats[MlbAtBats!]!mlb.at_bats rows whose game_id references this row.
  • play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whose game_id references this row.
  • pitches[MlbPitches!]!mlb.pitches rows whose game_id references this row.
  • game_team_rosters[MlbGameTeamRosters!]!mlb.game_team_rosters rows whose game_id references this row.
  • team_starting_lineups[MlbTeamStartingLineups!]!mlb.team_starting_lineups rows whose game_id references this row.
  • game_team_stats[MlbGameTeamStats!]!mlb.game_team_stats rows whose game_id references this row.
  • game_player_batter_stats[MlbGamePlayerBatterStats!]!mlb.game_player_batter_stats rows whose game_id references this row.
  • game_player_pitching_stats[MlbGamePlayerPitchingStats!]!mlb.game_player_pitching_stats rows whose game_id references 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__gteIntgte comparison on day.
  • day__lteIntlte comparison on day.
  • day__betweenStringRange filter on day — 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
playersMlbPlayers
Every 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 by team_id; null when unlinked.
  • games_by_winning_pitcher_id[MlbGames!]!mlb.games rows whose winning_pitcher_id references this row.
  • games_by_losing_pitcher_id[MlbGames!]!mlb.games rows whose losing_pitcher_id references this row.
  • games_by_save_pitcher_id[MlbGames!]!mlb.games rows whose save_pitcher_id references this row.
  • at_bats_by_batter_id[MlbAtBats!]!mlb.at_bats rows whose batter_id references this row.
  • at_bats_by_pitcher_id[MlbAtBats!]!mlb.at_bats rows whose pitcher_id references this row.
  • pitches_by_batter_id[MlbPitches!]!mlb.pitches rows whose batter_id references this row.
  • pitches_by_pitcher_id[MlbPitches!]!mlb.pitches rows whose pitcher_id references this row.
  • team_starting_lineups[MlbTeamStartingLineups!]!mlb.team_starting_lineups rows whose pitcher_id references this row.
  • player_injuries[MlbPlayerInjuries!]!mlb.player_injuries rows whose player_id references this row.
  • player_news[MlbPlayerNews!]!mlb.player_news rows whose player_id references this row.
  • player_awards[MlbPlayerAwards!]!mlb.player_awards rows whose player_id references this row.
  • operator_player_lookups[MlbOperatorPlayerLookups!]!mlb.operator_player_lookups rows whose player_id references this row.
  • play_by_plays_by_player_id[MlbPlayByPlays!]!mlb.play_by_plays rows whose player_id references this row.
  • play_by_plays_by_pitcher_id[MlbPlayByPlays!]!mlb.play_by_plays rows whose pitcher_id references this row.
  • play_by_plays_by_batter_id[MlbPlayByPlays!]!mlb.play_by_plays rows whose batter_id references this row.
  • play_by_plays_by_catcher_id[MlbPlayByPlays!]!mlb.play_by_plays rows whose catcher_id references this row.
  • play_by_plays_by_first_base_runner_id[MlbPlayByPlays!]!mlb.play_by_plays rows whose first_base_runner_id references this row.
  • play_by_plays_by_second_base_runner_id[MlbPlayByPlays!]!mlb.play_by_plays rows whose second_base_runner_id references this row.
  • play_by_plays_by_third_base_runner_id[MlbPlayByPlays!]!mlb.play_by_plays rows whose third_base_runner_id references this row.
  • game_team_rosters[MlbGameTeamRosters!]!mlb.game_team_rosters rows whose player_id references this row.
  • team_player_rosters[MlbTeamPlayerRosters!]!mlb.team_player_rosters rows whose player_id references this row.
  • team_starting_lineup_batters[MlbTeamStartingLineupBatters!]!mlb.team_starting_lineup_batters rows whose player_id references this row.
  • season_player_stats[MlbSeasonPlayerStats!]!mlb.season_player_stats rows whose player_id references this row.
  • game_player_batter_stats[MlbGamePlayerBatterStats!]!mlb.game_player_batter_stats rows whose player_id references this row.
  • game_player_pitching_stats[MlbGamePlayerPitchingStats!]!mlb.game_player_pitching_stats rows whose player_id references 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

inningsMlbInnings
Each 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 by game_id; null when unlinked.
  • at_bats[MlbAtBats!]!mlb.at_bats rows whose inning_id references this row.
  • play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whose inning_id references 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
pitchesMlbPitches
Every 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 by batter_id; null when unlinked.
  • pitcherMlbPlayersThe mlb.players row referenced by pitcher_id; null when unlinked.
  • gameMlbGamesThe mlb.games row referenced by game_id; null when unlinked.
  • at_batMlbAtBatsThe mlb.at_bats row referenced by at_bat_id; null when unlinked.
  • playMlbPlayByPlaysThe mlb.play_by_plays row referenced by play_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_batsMlbAtBats
Every 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 by batter_id; null when unlinked.
  • pitcherMlbPlayersThe mlb.players row referenced by pitcher_id; null when unlinked.
  • gameMlbGamesThe mlb.games row referenced by game_id; null when unlinked.
  • inningMlbInningsThe mlb.innings row referenced by inning_id; null when unlinked.
  • play_by_plays[MlbPlayByPlays!]!mlb.play_by_plays rows whose at_bat_id references this row.
  • pitches[MlbPitches!]!mlb.pitches rows whose at_bat_id references 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_playsMlbPlayByPlays
Every 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 by game_id; null when unlinked.
  • inningMlbInningsThe mlb.innings row referenced by inning_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_id; null when unlinked.
  • pitcherMlbPlayersThe mlb.players row referenced by pitcher_id; null when unlinked.
  • batterMlbPlayersThe mlb.players row referenced by batter_id; null when unlinked.
  • catcherMlbPlayersThe mlb.players row referenced by catcher_id; null when unlinked.
  • first_base_runnerMlbPlayersThe mlb.players row referenced by first_base_runner_id; null when unlinked.
  • second_base_runnerMlbPlayersThe mlb.players row referenced by second_base_runner_id; null when unlinked.
  • third_base_runnerMlbPlayersThe mlb.players row referenced by third_base_runner_id; null when unlinked.
  • at_batMlbAtBatsThe mlb.at_bats row referenced by at_bat_id; null when unlinked.
  • pitches[MlbPitches!]!mlb.pitches rows whose play_id references 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_factorsMlbParkFactors
How 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 by season_id; null when unlinked.
  • venueMlbVenuesThe mlb.venues row referenced by venue_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_environmentsMlbSeasonRunEnvironments
League-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 by season_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_weightsMlbWobaWeights
The 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 by season_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_statsMlbSeasonTeamStats
Season 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 by season_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_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_statsMlbGamePlayerBatterStats
Each 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 by game_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_statsMlbGamePlayerPitchingStats
Each 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 by game_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_statsMlbGameTeamStats
Each 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 by game_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_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_lookupsMlbOperatorPlayerLookups
How 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 by operator_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_statsMlbSeasonPlayerStats
Season 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 by season_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_linesMlbGameLines
MLB 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 by game_id; null when unlinked.
  • operatorReferenceOperatorsThe main.operators row referenced by operator_id; null when unlinked.
  • seasonMlbSeasonsThe mlb.seasons row referenced by season_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_rostersMlbGameTeamRosters
The 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 by game_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_rostersMlbTeamPlayerRosters
Day-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 by season_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_battersMlbTeamStartingLineupBatters
Each 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 by team_starting_lineup_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_lineupsMlbTeamStartingLineups
Each 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 by pitcher_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_id; null when unlinked.
  • gameMlbGamesThe mlb.games row referenced by game_id; null when unlinked.
  • team_starting_lineup_batters[MlbTeamStartingLineupBatters!]!mlb.team_starting_lineup_batters rows whose team_starting_lineup_id references 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

venuesMlbVenues
MLB ballparks — current home stadiums and historical venues, with dimensions, surface, capacity, and roof type.
Relations
  • games[MlbGames!]!mlb.games rows whose venue_id references this row.
  • park_factors[MlbParkFactors!]!mlb.park_factors rows whose venue_id references this row.
  • venue_dimensions[MlbVenueDimensions!]!mlb.venue_dimensions rows whose venue_id references this row.
  • teams[MlbTeams!]!mlb.teams rows whose venue_id references this row.
  • venue_weathers[MlbVenueWeathers!]!mlb.venue_weathers rows whose venue_id references 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
umpiresMlbUmpires
MLB 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 whose umpire_id references 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_dimensionsMlbVenueDimensions
Outfield 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 by venue_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
playoffsMlbPlayoffs
The 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 by season_id; null when unlinked.
  • home_teamMlbTeamsThe mlb.teams row referenced by home_team_id; null when unlinked.
  • away_teamMlbTeamsThe mlb.teams row referenced by away_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_umpiresMlbGameUmpires
The 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 by game_id; null when unlinked.
  • umpireMlbUmpiresThe mlb.umpires row referenced by umpire_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_awardsMlbPlayerAwards
MLB 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 by team_id; null when unlinked.
  • seasonMlbSeasonsThe mlb.seasons row referenced by season_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_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_injuriesMlbPlayerInjuries
The 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 by season_id; null when unlinked.
  • playerMlbPlayersThe mlb.players row referenced by player_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_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_newsMlbPlayerNews
News 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 by player_id; null when unlinked.
  • teamMlbTeamsThe mlb.teams row referenced by team_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__gteStringgte comparison on news_time.
  • news_time__lteStringlte comparison on news_time.
  • news_time__betweenStringRange filter on news_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
news_time: String
priority: Int
created_at: String
updated_at: String
ai_processed: Boolean
situational_impact: JSON
content: String
author: String
category: String
external_id: String
processed_at: String
venue_weathersMlbVenueWeathers
On-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 by game_id; null when unlinked.
  • venueMlbVenuesThe mlb.venues row referenced by venue_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