MLB — additional Python functions — MLB Stats API
mlb_attendance
mlb_attendance(team_id: 'Optional[int]' = None, league_id: 'Optional[Union[int, str]]' = None, season: 'Optional[Union[int, str]]' = None, league_list_id: 'Optional[str]' = None, game_type: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/attendance — game attendance figures.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
team_id | Optional[int] | None | |
league_id | Optional[Union[int, str]] | None | |
season | Optional[Union[int, str]] | None | |
league_list_id | Optional[str] | None | |
game_type | Optional[str] | None |
Returns
The StatsAPI JSON body for this endpoint, unparsed (no committed capture pins its keys yet; inspect .keys()).
mlb_divisions
mlb_divisions(sport_id: 'int' = 1, league_id: 'Optional[Union[int, str]]' = None, division_id: 'Optional[int]' = None, **kwargs) -> 'Dict'
GET /api/v1/divisions — list divisions.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
sport_id | int | 1 | |
league_id | Optional[Union[int, str]] | None | |
division_id | Optional[int] | None |
Returns
The StatsAPI JSON body, unparsed: copyright and divisions (one dict per division).
mlb_draft_prospects
mlb_draft_prospects(year: 'Union[int, str]', scouting_report: 'Optional[bool]' = None, limit: 'int' = 100, **kwargs) -> 'Dict'
GET /api/v1/draft/prospects/{year} — draft prospect list for a year.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
year | Union[int, str] | ||
scouting_report | Optional[bool] | None | |
limit | int | 100 |
Returns
The StatsAPI JSON body for this endpoint, unparsed (no committed capture pins its keys yet; inspect .keys()).
mlb_pbp_diff
mlb_pbp_diff(game_pk: 'int', start_timecode: 'str', end_timecode: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/game/{gamePk}/feed/live/diffPatch — JSON-patch diff of the live feed.
Replays of in-game state for low-bandwidth clients.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
game_pk | int | ||
start_timecode | str | ||
end_timecode | Optional[str] | None |
Returns
dict | list: The parsed JSON body of the diff, unparsed (no committed capture pins its shape yet).
mlb_pbp_live
mlb_pbp_live(game_pk: 'int', language: 'Optional[str]' = None, timecode: 'Optional[str]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1.1/game/{gamePk}/feed/live — live firehose (v1.1).
Top-level keys: copyright, gamePk, link, metaData, gameData, liveData.
Includes Statcast metrics where available. The historical name
mlb_pbp is preserved as an alias in the generated module.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
game_pk | int | ||
language | Optional[str] | None | |
timecode | Optional[str] | None | |
hydrate | Optional[str] | None | |
fields | Optional[str] | None |
Returns
The StatsAPI JSON body, unparsed: copyright, gamePk, link, metaData, gameData (teams, players, venue, status) and liveData (plays, linescore, boxscore).
mlb_person_stats
mlb_person_stats(person_id: 'int', stats: 'str', group: 'str' = 'hitting', season: 'Optional[Union[int, str]]' = None, season_type: 'Optional[str]' = None, sport_ids: 'Optional[Union[int, List[int]]]' = None, game_type: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/people/{personId}/stats — player aggregate stats.
stats: season, career, yearByYear, vsTeam, vsPlayer,
byMonth, byDayOfWeek, homeAndAway, gameLog, lastXGames, …
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
person_id | int | ||
stats | str | ||
group | str | 'hitting' | |
season | Optional[Union[int, str]] | None | |
season_type | Optional[str] | None | |
sport_ids | Optional[Union[int, List[int]]] | None | |
game_type | Optional[str] | None | |
fields | Optional[str] | None |
Returns
The StatsAPI JSON body, unparsed: copyright and stats -- one dict per requested stat type with type, group and splits.
mlb_schedule
mlb_schedule(date: 'Optional[str]' = None, start_date: 'Optional[str]' = None, end_date: 'Optional[str]' = None, team_id: 'Optional[int]' = None, opponent_id: 'Optional[int]' = None, season: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, game_type: 'Optional[str]' = None, league_id: 'Optional[Union[int, str]]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/schedule — schedule of games for a date, range, team, or season.
Response: dates[].games[].
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
date | Optional[str] | None | |
start_date | Optional[str] | None | |
end_date | Optional[str] | None | |
team_id | Optional[int] | None | |
opponent_id | Optional[int] | None | |
season | Optional[Union[int, str]] | None | |
sport_id | int | 1 | |
game_type | Optional[str] | None | |
league_id | Optional[Union[int, str]] | None | |
hydrate | Optional[str] | None | |
fields | Optional[str] | None |
Returns
The StatsAPI JSON body, unparsed: copyright, the totalItems / totalGames / totalGamesInProgress counts and dates -- one dict per date, each with its own counts and a games list.
mlb_seasons
mlb_seasons(sport_id: 'int' = 1, season: 'Optional[Union[int, str]]' = None, all_seasons: 'bool' = False, **kwargs) -> 'Dict'
GET /api/v1/seasons — list of seasons for a sport.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
sport_id | int | 1 | |
season | Optional[Union[int, str]] | None | |
all_seasons | bool | False |
Returns
The StatsAPI JSON body, unparsed: copyright and seasons (one dict per season with its key dates).
mlb_standings
mlb_standings(league_id: 'Union[int, str, List[int]]' = '103,104', season: 'Optional[Union[int, str]]' = None, date: 'Optional[str]' = None, standings_types: 'Optional[str]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/standings — league standings.
league_id: 103 AL, 104 NL (comma-separated for both, the default).
standings_types e.g. regularSeason, wildCard, divisionLeaders.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
league_id | Union[int, str, List[int]] | '103,104' | |
season | Optional[Union[int, str]] | None | |
date | Optional[str] | None | |
standings_types | Optional[str] | None | |
hydrate | Optional[str] | None | |
fields | Optional[str] | None |
Returns
The StatsAPI JSON body, unparsed: copyright and records -- one dict per division standings table (standingsType, league, division, lastUpdated and teamRecords).
mlb_stats
mlb_stats(stats: 'str', group: 'str', season: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, league_id: 'Optional[Union[int, str]]' = None, team_id: 'Optional[int]' = None, player_pool: 'Optional[str]' = None, game_type: 'Optional[str]' = None, limit: 'int' = 50, offset: 'int' = 0, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/stats — generic stats query.
stats selects the slice (season, career, yearByYear, …) and
group selects the stat group (hitting, pitching, fielding).
Filters: season, team_id, league_id, game_type, player_pool.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
stats | str | ||
group | str | ||
season | Optional[Union[int, str]] | None | |
sport_id | int | 1 | |
league_id | Optional[Union[int, str]] | None | |
team_id | Optional[int] | None | |
player_pool | Optional[str] | None | |
game_type | Optional[str] | None | |
limit | int | 50 | |
offset | int | 0 | |
fields | Optional[str] | None |
Returns
The StatsAPI JSON body for this endpoint, unparsed (no committed capture pins its keys yet; inspect .keys()).
mlb_stats_leaders
mlb_stats_leaders(leader_categories: 'str', season: 'Optional[Union[int, str]]' = None, leader_game_types: 'Optional[str]' = None, stat_group: 'Optional[str]' = None, league_id: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, limit: 'int' = 10, **kwargs) -> 'Dict'
GET /api/v1/stats/leaders — top-N leaders for a stat category.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
leader_categories | str | ||
season | Optional[Union[int, str]] | None | |
leader_game_types | Optional[str] | None | |
stat_group | Optional[str] | None | |
league_id | Optional[Union[int, str]] | None | |
sport_id | int | 1 | |
limit | int | 10 |
Returns
The StatsAPI JSON body for this endpoint, unparsed (no committed capture pins its keys yet; inspect .keys()).
mlb_stats_streaks
mlb_stats_streaks(streak_type: 'str', streak_threshold: 'int' = 1, season: 'Optional[Union[int, str]]' = None, stat_group: 'Optional[str]' = None, active_streak: 'Optional[bool]' = None, sport_id: 'int' = 1, **kwargs) -> 'Dict'
GET /api/v1/stats/streaks — active or historical streaks.
streak_type e.g. hittingStreakOverall, onBaseOverall.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
streak_type | str | ||
streak_threshold | int | 1 | |
season | Optional[Union[int, str]] | None | |
stat_group | Optional[str] | None | |
active_streak | Optional[bool] | None | |
sport_id | int | 1 |
Returns
The StatsAPI JSON body for this endpoint, unparsed (no committed capture pins its keys yet; inspect .keys()).
mlb_team_leaders
mlb_team_leaders(team_id: 'int', leader_categories: 'str', season: 'Optional[Union[int, str]]' = None, leader_game_types: 'Optional[str]' = None, limit: 'int' = 10, **kwargs) -> 'Dict'
GET /api/v1/teams/{teamId}/leaders — team leaders.
leader_categories e.g. homeRuns, battingAverage, wins,
earnedRunAverage (comma-separated for multi).
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
team_id | int | ||
leader_categories | str | ||
season | Optional[Union[int, str]] | None | |
leader_game_types | Optional[str] | None | |
limit | int | 10 |
Returns
The StatsAPI JSON body for this endpoint, unparsed (no committed capture pins its keys yet; inspect .keys()).
mlb_team_stats
mlb_team_stats(team_id: 'int', season: 'Union[int, str]', stats: 'str' = 'season', group: 'str' = 'hitting', sport_ids: 'Optional[Union[int, List[int]]]' = None, game_type: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/teams/{teamId}/stats — team-level stats.
stats: season, career, yearByYear, byMonth, byDayOfWeek, …
group: hitting, pitching, fielding.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
team_id | int | ||
season | Union[int, str] | ||
stats | str | 'season' | |
group | str | 'hitting' | |
sport_ids | Optional[Union[int, List[int]]] | None | |
game_type | Optional[str] | None | |
fields | Optional[str] | None |
Returns
The StatsAPI JSON body for this endpoint, unparsed (no committed capture pins its keys yet; inspect .keys()).
mlb_teams
mlb_teams(season: 'Optional[Union[int, str]]' = None, sport_id: 'int' = 1, league_ids: 'Optional[Union[int, List[int], str]]' = None, active_status: 'Optional[str]' = None, all_star_statuses: 'Optional[str]' = None, hydrate: 'Optional[str]' = None, fields: 'Optional[str]' = None, **kwargs) -> 'Dict'
GET /api/v1/teams — list teams. sport_id=1 = MLB.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
season | Optional[Union[int, str]] | None | |
sport_id | int | 1 | |
league_ids | Optional[Union[int, List[int], str]] | None | |
active_status | Optional[str] | None | |
all_star_statuses | Optional[str] | None | |
hydrate | Optional[str] | None | |
fields | Optional[str] | None |
Returns
The StatsAPI JSON body, unparsed: copyright and teams (one dict per team).