Major League Baseball Milestones API
Operations pertaining to milestones
Operations pertaining to milestones
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/major-league-baseball-milestones-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Stats API Documentation Analytics Milestones API
description: Official API for Major League Baseball.
version: 2.0.0
servers:
- url: https://statsapi.mlb.com
description: Production
- url: https://beta-statsapi.mlb.com
description: Beta
- url: https://qa-statsapi.mlb.com
description: QA
- url: http://localhost:8080
description: Local
tags:
- name: Milestones
description: Operations pertaining to milestones
paths:
/api/v1/milestones:
get:
tags:
- Milestones
summary: View pending and achieved milestones.
operationId: milestones
parameters:
- name: orgType
in: query
description: 'Organization level. Format: T(Team), L(League), S(Sport)'
required: false
schema:
$ref: '#/components/schemas/OrganizationType'
- name: achievementStatuses
in: query
description: Comma delimited list of milestone achievement types
required: false
schema:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/MilestoneAchievementType'
- name: milestoneTypes
in: query
description: Comma delimited list of milestone types
required: false
schema:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/MilestoneType'
- name: isLastAchievement
in: query
description: Filters out milestones that have already been surpassed.
required: false
schema:
type: boolean
- name: milestoneStatistics
in: query
description: Comma delimited list of milestone statistics
required: false
schema:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/Statistic'
- name: milestoneValues
in: query
description: Comma delimited list of milestone values
required: false
schema:
uniqueItems: true
type: array
items:
type: integer
format: int32
- name: playerIds
in: query
description: A unique identifier for players
required: false
schema:
uniqueItems: true
type: array
items:
type: integer
format: int32
- name: teamIds
in: query
description: Comma delimited list of Unique Team identifiers
required: false
schema:
uniqueItems: true
type: array
items:
type: integer
format: int32
- name: leagueIds
in: query
description: Comma delimited list of Unique league identifiers
required: false
schema:
uniqueItems: true
type: array
items:
type: integer
format: int32
- name: statGroup
in: query
description: Category of statistic to return. Available types in /api/v1/statGroups
required: false
schema:
$ref: '#/components/schemas/StatGroup'
- name: season
in: query
description: Season of play
required: false
schema:
type: string
- name: seasons
in: query
description: Comma delimited list of Seasons of play
required: false
schema:
type: array
items:
type: string
- name: venueIds
in: query
description: Comma delimited list of Unique venue identifiers
required: false
schema:
uniqueItems: true
type: array
items:
type: integer
format: int32
- name: gamePks
in: query
description: Comma delimited list of unique primary keys
required: false
schema:
type: array
items:
type: integer
format: int32
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: fields
in: query
description: 'Comma delimited list of specific fields to be returned. Format: topLevelNode, childNode, attribute'
required: false
schema:
uniqueItems: true
type: array
items:
type: string
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/MilestoneContainerRestObject'
/api/v1/milestoneLookups:
get:
tags:
- Milestones
summary: View available milestoneType options
operationId: milestoneLookups
responses:
'200':
description: OK
content:
'*/*':
schema:
type: object
additionalProperties:
type: array
items:
type: object
components:
schemas:
TeamStatData:
type: object
properties:
requestingUserRole:
$ref: '#/components/schemas/Role'
note:
type: string
summary:
type: object
additionalProperties:
type: string
writeOnly: true
catchersInterference:
type: integer
format: int32
average:
type: string
onBasePercentage:
type: string
onBasePlusSlugging:
type: string
stolenBases:
type: integer
format: int32
caughtStealing:
type: integer
format: int32
slugging:
type: string
outs:
type: integer
format: int32
gidp:
type: integer
format: int32
gitp:
type: integer
format: int32
homeRuns:
type: integer
format: int32
numberOfPitches:
type: integer
format: int32
totalBases:
type: integer
format: int32
gidpOpportunites:
type: integer
format: int32
walks:
type: integer
format: int32
hitByPitch:
type: integer
format: int32
strikeouts:
type: integer
format: int32
airOuts:
type: integer
format: int32
goAo:
type: string
pitchesPerPlateAppearance:
type: number
format: double
intentionalWalks:
type: integer
format: int32
groundOuts:
type: integer
format: int32
flyOuts:
type: integer
format: int32
games:
type: integer
format: int32
gamesStarted:
type: integer
format: int32
doubles:
type: integer
format: int32
hits:
type: integer
format: int32
triples:
type: integer
format: int32
singles:
type: integer
format: int32
runs:
type: integer
format: int32
atBats:
type: integer
format: int32
pickoffs:
type: integer
format: int32
stolenBasePercentage:
type: string
wildPitches:
type: integer
format: int32
sacFlies:
type: integer
format: int32
sacBunts:
type: integer
format: int32
putouts:
type: integer
format: int32
assists:
type: integer
format: int32
chances:
type: integer
format: int32
streak:
type: integer
format: int32
battingOrder:
type: string
totalSwings:
type: integer
format: int32
swingsAndMisses:
type: integer
format: int32
ballsInPlay:
type: integer
format: int32
popOuts:
type: integer
format: int32
lineOuts:
type: integer
format: int32
flyHits:
type: integer
format: int32
popHits:
type: integer
format: int32
lineHits:
type: integer
format: int32
groundHits:
type: integer
format: int32
winStreak:
type: integer
format: int32
lossStreak:
type: integer
format: int32
plateAppearances:
type: integer
format: int32
stolenBasePercentageOrNull:
type: string
pitchesPerPlateAppearanceStr:
type: string
InningTeamInfoRestObject:
type: object
properties:
copyright:
type: string
runs:
type: integer
format: int32
hits:
type: integer
format: int32
errors:
type: integer
format: int32
leftOnBase:
type: integer
format: int32
BaseballPitch:
type: object
properties:
ballColor:
type: string
trailColor:
type: string
startSpeed:
type: number
format: double
endSpeed:
type: number
format: double
nastyFactor:
type: number
format: double
strikeZoneTop:
type: number
format: double
strikeZoneBottom:
type: number
format: double
strikeZoneWidth:
type: number
format: double
strikeZoneDepth:
type: number
format: double
getaX:
type: number
format: double
getaY:
type: number
format: double
getaZ:
type: number
format: double
pfxX:
type: number
format: double
pfxZ:
type: number
format: double
getpX:
type: number
format: double
getpZ:
type: number
format: double
getvX0:
type: number
format: double
getvY0:
type: number
format: double
getvZ0:
type: number
format: double
x:
type: number
format: double
y:
type: number
format: double
z0:
type: number
format: double
y0:
type: number
format: double
x0:
type: number
format: double
breakAngle:
type: number
format: double
breakLength:
type: number
format: double
breakX:
type: number
format: double
breakY:
type: number
format: double
breakZ:
type: number
format: double
zone:
type: integer
format: int32
spinRate:
type: integer
format: int32
spinDirection:
type: integer
format: int32
typeConfidence:
type: number
format: double
plateTime:
type: number
format: double
extension:
type: number
format: double
MilestoneDurationRestObject:
type: object
properties:
copyright:
type: string
milestoneDurationId:
type: integer
format: int32
milestoneDurationCode:
type: string
milestoneDurationText:
type: string
WeatherRestObject:
type: object
properties:
copyright:
type: string
condition:
type: string
temp:
type: string
wind:
type: string
BaseballTeamStandingsRecord:
type: object
properties:
team:
$ref: '#/components/schemas/BaseballTeam'
wins:
type: integer
format: int32
losses:
type: integer
format: int32
ties:
type: integer
format: int32
gamesBack:
type: string
wildCardGamesBack:
type: string
leagueGamesBack:
type: string
springLeagueGamesBack:
type: string
sportGamesBack:
type: string
divisionGamesBack:
type: string
conferenceGamesBack:
type: string
divisionChamp:
type: boolean
season:
type: string
streak:
type: string
lastUpdated:
type: string
format: date-time
home:
type: string
away:
type: string
lastTen:
type: string
points:
type: integer
format: int32
clinchIndicator:
type: string
divisionRank:
type: string
conferenceRank:
type: string
springLeagueRank:
type: string
leagueRank:
type: string
sportRank:
type: string
wildCardRank:
type: string
gamesPlayed:
type: integer
format: int32
place:
type: integer
format: int32
wildcardPlace:
type: integer
format: int32
wildcardOdds:
type: number
format: double
divisionOdds:
type: number
format: double
playoffOdds:
type: number
format: double
runsAllowed:
type: integer
format: int32
runsScored:
type: integer
format: int32
hasWildcard:
type: boolean
clinched:
type: boolean
eliminationNumber:
type: string
eliminationNumberWildcard:
type: string
magicNumber:
type: string
hasPlayoffPoints:
type: boolean
vsWest:
type: string
vsCentral:
type: string
vsEast:
type: string
vsInterleague:
type: string
vsRight:
type: string
vsRightHomeWin:
type: string
vsRightHomeLoss:
type: string
vsRightAwayWin:
type: string
vsRightAwayLoss:
type: string
vsLeft:
type: string
vsLeftHomeWin:
type: string
vsLeftHomeLoss:
type: string
vsLeftAwayWin:
type: string
vsLeftAwayLoss:
type: string
vsWinners:
type: string
extraInnings:
type: string
expectedWinLoss:
type: string
expectedWinLossSeason:
type: string
oneRunGames:
type: string
turf:
type: string
grass:
type: string
night:
type: string
day:
type: string
isWildCardTeam:
type: boolean
writeOnly: true
isDivisionLeader:
type: boolean
writeOnly: true
divisionRecords:
type: array
items:
$ref: '#/components/schemas/WinLossRecord'
conferenceRecords:
type: array
items:
$ref: '#/components/schemas/WinLossRecord'
leagueRecords:
type: array
items:
$ref: '#/components/schemas/WinLossRecord'
splitRecords:
type: array
items:
$ref: '#/components/schemas/WinLossRecord'
expectedRecords:
type: array
items:
$ref: '#/components/schemas/WinLossRecord'
overallRecords:
type: array
items:
$ref: '#/components/schemas/WinLossRecord'
conference:
$ref: '#/components/schemas/Conference'
wildCardLeader:
type: boolean
runDifferental:
type: integer
format: int32
winningPercentage:
type: number
format: double
XrefIdRestObject:
type: object
properties:
copyright:
type: string
xrefId:
type: string
xrefType:
type: string
xrefIdTwo:
type: string
season:
type: string
FranchiseRestObject:
type: object
properties:
copyright:
type: string
franchiseId:
type: integer
format: int32
firstSeasonId:
type: integer
format: int32
lastSeasonId:
type: integer
format: int32
mostRecentTeamId:
type: integer
format: int32
teamName:
type: string
locationName:
type: string
link:
type: string
roster:
$ref: '#/components/schemas/RosterRestObject'
VenueRestObject:
type: object
properties:
copyright:
type: string
hydrations:
type: array
items:
type: string
id:
type: integer
format: int32
name:
type: string
link:
type: string
location:
$ref: '#/components/schemas/LocationRestObject'
timeZone:
$ref: '#/components/schemas/TimeZoneRestObject'
fieldInfo:
$ref: '#/components/schemas/FieldInfoRestObject'
relatedApplications:
type: array
items:
$ref: '#/components/schemas/ApplicationRestObject'
images:
type: object
additionalProperties:
$ref: '#/components/schemas/ImageRestObject'
social:
$ref: '#/components/schemas/SocialMediaRestObject'
relatedVenues:
type: array
items:
$ref: '#/components/schemas/VenueRestObject'
parentVenues:
type: array
items:
$ref: '#/components/schemas/VenueRestObject'
residentVenues:
type: array
items:
$ref: '#/components/schemas/VenueRestObject'
menu:
$ref: '#/components/schemas/JsonNode'
schedule:
$ref: '#/components/schemas/ScheduleRestObject'
nextSchedule:
$ref: '#/components/schemas/ScheduleRestObject'
previousSchedule:
$ref: '#/components/schemas/ScheduleRestObject'
metadata:
$ref: '#/components/schemas/VenueMetadataRestObject'
appEnabled:
type: boolean
xrefIds:
type: array
items:
$ref: '#/components/schemas/XrefIdRestObject'
trackingVersion:
$ref: '#/components/schemas/TrackingVersion'
coachingVideo:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/MediaSourceType'
ruleSettings:
type: array
items:
$ref: '#/components/schemas/RuleSettingsRestObject'
active:
type: boolean
season:
type: string
StatType:
type: string
enum:
- PROJECTED
- PROJECTED_ROS
- YEAR_BY_YEAR
- YEAR_BY_YEAR_ADVANCED
- YEAR_BY_YEAR_PLAYOFFS
- SEASON
- STANDARD
- ADVANCED
- CAREER
- CAREER_REGULAR_SEASON
- CAREER_ADVANCED
- SEASON_ADVANCED
- CAREER_STAT_SPLITS
- CAREER_PLAYOFFS
- GAME_LOG
- PLAY_LOG
- PITCH_LOG
- METRIC_LOG
- METRIC_AVERAGES
- PITCH_ARSENAL
- OUTS_ABOVE_AVERAGE
- EXPECTED_STATISTICS
- SABERMETRICS
- SPRAY_CHART
- TRACKING_STATISTICS
- VS_PLAYER
- VS_PLAYER_TOTAL
- VS_PLAYER_5Y
- VS_TEAM
- VS_TEAM_5Y
- VS_TEAM_TOTAL
- LAST_X_GAMES
- BY_DATE_RANGE
- BY_DATE_RANGE_ADVANCED
- BY_MONTH
- BY_MONTH_PLAYOFFS
- BY_DAY_OF_WEEK
- BY_DAY_OF_WEEK_PLAYOFFS
- HOME_AND_AWAY
- HOME_AND_AWAY_PLAYOFFS
- WIN_LOSS
- WIN_LOSS_PLAYOFFS
- RANKINGS
- RANKINGS_BY_YEAR
- STATS_SINGLE_SEASON
- STATS_SINGLE_SEASON_ADVANCED
- HOT_COLD_ZONES
- AVAILABLE_STATS
- OPPONENTS_FACED
- GAME_TYPE_STATS
- FIRST_YEAR_STATS
- LAST_YEAR_STATS
- STAT_SPLITS
- STAT_SPLITS_ADVANCED
- AT_GAME_START
- VS_OPPONENTS
LimitMetadataRestObject:
type: object
properties:
copyright:
type: string
limit:
type: integer
format: int32
offset:
type: integer
format: int32
additionalTies:
type: integer
format: int32
TeamDesignationEnum:
type: string
enum:
- HOMETEAM
- AWAYTEAM
BaseballPitchDataRestObject:
type: object
properties:
copyright:
type: string
startSpeed:
type: number
format: double
endSpeed:
type: number
format: double
nastyFactor:
type: number
format: double
strikeZoneTop:
type: number
format: double
strikeZoneBottom:
type: number
format: double
strikeZoneWidth:
type: number
format: double
strikeZoneDepth:
type: number
format: double
coordinates:
$ref: '#/components/schemas/Coordinates'
breaks:
$ref: '#/components/schemas/Breaks'
zone:
type: integer
format: int32
typeConfidence:
type: number
format: double
plateTime:
type: number
format: double
extension:
type: number
format: double
GameTypeDates:
type: object
properties:
name:
type: string
shortName:
type: string
startDate:
type: string
format: date
endDate:
type: string
format: date
season:
type: string
roundRobin:
type: boolean
playoffs:
type: boolean
playoffRound:
type: integer
format: int32
league:
$ref: '#/components/schemas/League'
sport:
$ref: '#/components/schemas/Sport'
gameType:
$ref: '#/components/schemas/GameTypeEnum'
OrganizationTypeRestObject:
type: object
properties:
copyright:
type: string
orgTypeId:
type: integer
format: int32
orgTypeCode:
type: string
orgTypeText:
type: string
EventType:
type: string
enum:
- game_start
- game_finished
- ball
- intent_ball
- pitchout
- blocked_ball
- automatic_ball
- called_strike
- swinging_strike
- foul
- foul_tip
- foul_bunt
- bunt_foul_tip
- missed_bunt
- swinging_pitchout
- foul_pitchout
- swinging_strike_blocked
- unknown_strike
- automatic_strike
- hit_into_play
- hit_into_play_no_out
- hit_into_play_score
- pitchout_hit_into_play
- pitchout_hit_into_play_no_out
- pitchout_hit_into_play_score
- pickoff_attempt_1b
- pickoff_attempt_2b
- pickoff_attempt_3b
- pickoff_1b
- pickoff_2b
- pickoff_3b
- pitcher_step_off
- pickoff_error_1b
- pickoff_error_2b
- pickoff_error_3b
- batter_timeout
- mound_visit
- no_pitch
- single
- double
- triple
- home_run
- double_play
- field_error
- error
- field_out
- fielders_choice
- fielders_choice_out
- force_out
- grounded_into_double_play
- grounded_into_triple_play
- strikeout
- strike_out
- strikeout_double_play
- strikeout_triple_play
- triple_play
- sac_fly
- catcher_interf
- batter_interference
- fielder_interference
- runner_interference
- fan_interference
- run
- batter_turn
- ejection
- cs_double_play
- defensive_indiff
- sac_fly_double_play
- sac_bunt
- sac_bunt_double_play
- walk
- intent_walk
- hit_by_pitch
- play_by_play
- play_by_play_extra
- injury
- between_innings
- plate_appearance
- os_ruling_pending_prior
- os_ruling_pending_primary
- at_bat_start
- runner_movement
- passed_ball
- other_advance
- runner_double_play
- runner_placed
- left_on_base
- pitching_substitution
- relief_no_out
- offensive_substitution
- defensive_switch
- umpire_substitution
- pitcher_switch
- replay_manager
- replay_umpire
- pitch_challenge
- game_advisory
- stolen_base
- stolen_base_2b
- stolen_base_3b
- stolen_base_home
- caught_stealing
- caught_stealing_2b
- caught_stealing_3b
- caught_stealing_home
- defensive_substitution
- pickoff_caught_stealing_2b
- pickoff_caught_stealing_3b
- pickoff_caught_stealing_home
- balk
- forced_balk
- wild_pitch
- other_out
- ''
StatContainerRestObject:
type: object
properties:
copyright:
type: string
disclaimers:
uniqueItems: true
type: array
items:
type: string
parameters:
type: object
additionalProperties:
type: object
type:
$ref: '#/components/schemas/StatType'
group:
$ref: '#/components/schemas/StatGroup'
totalSplits:
type: integer
format: int32
exemptions:
type: array
items:
$ref: '#/components/schemas/StatExemptionRestObject'
splits:
type: array
items:
$ref: '#/components/schemas/StatSplitsRestObject'
stats:
$ref: '#/components/schemas/StatDataRestObject'
splitsTiedWithOffset:
type: array
items:
$ref: '#/components/schemas/StatSplitsRestObject'
splitsTiedWithLimit:
type: array
items:
$ref: '#/components/schemas/StatSplitsRestObject'
player:
$ref: '#/components/schemas/BaseballPersonRestObject'
team:
$ref: '#/components/schemas/BaseballTeamRestObject'
sport:
$ref: '#/components/schemas/SportRestObject'
season:
type: string
gameType:
$ref: '#/components/schemas/GameTypeEnum'
playerPool:
$ref: '#/components/schemas/PlayerPoolEnum'
WinLossRecordRestObject:
type: object
properties:
copyright:
type: string
wins:
type: integer
format: int32
losses:
type: integer
format: int32
ties:
type: integer
format: int32
type:
type: string
pct:
type: string
ImageTypeEnum:
type: string
enum:
- HEADER
- THUMBNAIL
- SPONSORSHIP
- LIST
- URL
- MAP_THUMBNAIL
- LOGOIMAGE
BaseballPersonRestObject:
type: object
properties:
id:
type: integer
format: int32
fullName:
type: string
link:
type: string
firstName:
type: string
lastName:
type: string
primaryNumber:
type: string
birthDate:
type: string
format: date
currentAge:
type: integer
format: int32
birthCity:
type: string
birthStateProvince:
type: string
birthCountry:
type: string
nationality:
type: string
height:
type: string
weight:
type: integer
format: int32
active:
type: boolean
alternateCaptain:
type: boolean
captain:
type: boolean
rookie:
type: boolean
currentTeam:
$ref: '#/components/schemas/BaseballTeamRestObject'
primaryPosition:
$ref: '#/components/schemas/PositionRestObject'
social:
$ref: '#/components/schemas/SocialMediaRestObject'
copyright:
type: string
hydrations:
type: array
items:
type: string
useName:
type: string
useLastName:
type: string
middleName:
type: string
boxscoreName:
type: string
nickName:
type: string
gender:
type: string
nameMatrilineal:
type: string
isPlayer:
type: boolean
isVerified:
type: boolean
draftYear:
type: integer
format: int32
deathDate:
type: string
format: date
deathCity:
type: string
deathStateProvince:
type: string
deathCountry:
type: string
pronunciation:
type: string
lastPlayedDate:
type: string
format: date
otherNames:
$ref: '#/components/schemas/OtherNamesRestObject'
education:
$ref: '#/components/schemas/EducationRestObject'
photos:
type: array
items:
$ref: '#/components/schemas/PhotoRestObject'
stats:
type: array
items:
$ref: '#/components/schemas/StatContainerRestObject'
awards:
type: array
items:
$ref: '#/components/schemas/AwardRestObject'
draft:
type: array
items:
$ref: '#/components/schemas/PlayerDraftInfoRestObject'
additionalBio:
$ref: '#/components/schemas/AdditionalBioRestObject'
rosterEntries:
type: array
items:
$ref: '#/components/schemas/BaseballRosterEntryRestObject'
jobEntries:
type: array
items:
$ref: '#/components/schemas/BaseballRosterEntryRestObject'
mlbDebutDate:
type: string
format: date
batSide:
$ref: '#/components/schemas/DynamicEnumRestObject'
pitchHand:
$ref: '#/components/schemas/DynamicEnumRestObject'
note:
type: string
nameFirstLast:
type: string
nameTitle:
type: string
namePrefix:
type: string
deprecated: true
nameSuffix:
type: string
nameSlug:
type: string
firstLastName:
type: string
lastFirstName:
type: string
lastInitName:
type: string
initLastName:
type: string
fullFMLName:
type: string
fullLFMName:
type: string
strikeZoneTop:
type: number
format: double
strikeZoneBottom:
type: number
format: double
alumniLastSeason:
type: string
drafts:
type: array
items:
$ref: '#/components/schemas/BaseballDraftProspectRestObject'
transactions:
type: array
items:
$ref: '#/components/schemas/TransactionRestObject'
articles:
type: array
items:
$ref: '#/components/schemas/IFeedRestObject'
videos:
type: array
items:
$ref: '#/components/schemas/IFeedRestObject'
mixedFeed:
type: array
items:
$ref: '#/components/schemas/IFeedRestObject'
relatives:
type: array
items:
$ref: '#/components/schemas/BaseballPersonRestObject'
xrefIds:
type: array
items:
$ref: '#/components/schemas/XrefIdRestObject'
nicknames:
type: array
# --- truncated at 32 KB (232 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/major-league-baseball/refs/heads/main/openapi/major-league-baseball-milestones-api-openapi.yml