Major League Baseball Draft API
Operations pertaining to MLB BaseballDraft
Operations pertaining to MLB BaseballDraft
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-draft-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 Draft 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: Draft
description: Operations pertaining to MLB BaseballDraft
paths:
/api/v1/draft/{year}/latest:
get:
tags:
- Draft
summary: Get the last drafted player and the next 5 teams up to pick
operationId: latestDraftPicks
parameters:
- name: year
in: path
description: 'Year the player was drafted. Format: 2000'
required: true
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/BaseballDraftLatestRestObject'
/api/v1/draft/prospects:
get:
tags:
- Draft
summary: View MLB Draft Prospects
operationId: draftProspects
parameters:
- name: year
in: path
description: 'Year the player was drafted. Format: 2000'
required: true
schema:
type: integer
format: int32
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: offset
in: query
description: The pointer to start for a return set; used for pagination
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
- name: order
in: query
description: The order of sorting, ascending or descending
required: false
schema:
$ref: '#/components/schemas/SortOrderEnum'
- name: sortBy
in: query
description: Sort the set of data by the specified field
required: false
schema:
type: string
- name: drafted
in: query
description: Whether or not the players been drafted
required: false
schema:
type: boolean
- name: round
in: query
description: Round in which a player was drafted
required: false
schema:
type: string
- name: name
in: query
description: Filter players by the first letter of their name using using the specific character
required: false
schema:
type: string
- name: school
in: query
description: Filter players by the first letter of their school using using the specific character
required: false
schema:
type: string
- name: position
in: query
description: 'Position number. Format: 1, 2, 3, etc'
required: false
schema:
$ref: '#/components/schemas/BaseballPosition'
- name: team
in: query
description: 'Unique Team Code. Format: tor, nya, etc'
required: false
schema:
type: string
- name: teamId
in: query
description: 'Unique Team Identifier. Format: 141, 147, etc'
required: false
schema:
type: integer
format: int32
- name: state
in: query
description: 'State where the venue is located. Format: Ohio'
required: false
schema:
type: string
- name: country
in: query
description: Filter players by their home country
required: false
schema:
type: string
- name: playerId
in: query
description: A unique identifier for a player
required: false
schema:
type: integer
format: int32
- name: bisPlayerId
in: query
description: A unique identifier for a player in the EBIS system
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ProspectListRestObject'
/api/v1/draft/prospects/{year}:
get:
tags:
- Draft
summary: View MLB Draft Prospects
operationId: draftProspects_1
parameters:
- name: year
in: path
description: 'Year the player was drafted. Format: 2000'
required: true
schema:
type: integer
format: int32
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: offset
in: query
description: The pointer to start for a return set; used for pagination
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
- name: order
in: query
description: The order of sorting, ascending or descending
required: false
schema:
$ref: '#/components/schemas/SortOrderEnum'
- name: sortBy
in: query
description: Sort the set of data by the specified field
required: false
schema:
type: string
- name: drafted
in: query
description: Whether or not the players been drafted
required: false
schema:
type: boolean
- name: round
in: query
description: Round in which a player was drafted
required: false
schema:
type: string
- name: name
in: query
description: Filter players by the first letter of their name using using the specific character
required: false
schema:
type: string
- name: school
in: query
description: Filter players by the first letter of their school using using the specific character
required: false
schema:
type: string
- name: position
in: query
description: 'Position number. Format: 1, 2, 3, etc'
required: false
schema:
$ref: '#/components/schemas/BaseballPosition'
- name: team
in: query
description: 'Unique Team Code. Format: tor, nya, etc'
required: false
schema:
type: string
- name: teamId
in: query
description: 'Unique Team Identifier. Format: 141, 147, etc'
required: false
schema:
type: integer
format: int32
- name: state
in: query
description: 'State where the venue is located. Format: Ohio'
required: false
schema:
type: string
- name: country
in: query
description: Filter players by their home country
required: false
schema:
type: string
- name: playerId
in: query
description: A unique identifier for a player
required: false
schema:
type: integer
format: int32
- name: bisPlayerId
in: query
description: A unique identifier for a player in the EBIS system
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/ProspectListRestObject'
/api/v1/draft:
get:
tags:
- Draft
summary: View MLB Drafted Players
operationId: draftPicks
parameters:
- name: year
in: path
description: 'Year the player was drafted. Format: 2000'
required: true
schema:
type: integer
format: int32
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: offset
in: query
description: The pointer to start for a return set; used for pagination
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
- name: order
in: query
description: The order of sorting, ascending or descending
required: false
schema:
$ref: '#/components/schemas/SortOrderEnum'
- name: sortBy
in: query
description: Sort the set of data by the specified field
required: false
schema:
type: string
- name: drafted
in: query
description: Whether or not the players been drafted
required: false
schema:
type: boolean
- name: round
in: query
description: Round in which a player was drafted
required: false
schema:
type: string
- name: name
in: query
description: Filter players by the first letter of their name using using the specific character
required: false
schema:
type: string
- name: school
in: query
description: Filter players by the first letter of their school using using the specific character
required: false
schema:
type: string
- name: position
in: query
description: 'Position number. Format: 1, 2, 3, etc'
required: false
schema:
$ref: '#/components/schemas/BaseballPosition'
- name: team
in: query
description: 'Unique Team Code. Format: tor, nya, etc'
required: false
schema:
type: string
- name: teamId
in: query
description: 'Unique Team Identifier. Format: 141, 147, etc'
required: false
schema:
type: integer
format: int32
- name: state
in: query
description: 'State where the venue is located. Format: Ohio'
required: false
schema:
type: string
- name: country
in: query
description: Filter players by their home country
required: false
schema:
type: string
- name: playerId
in: query
description: A unique identifier for a player
required: false
schema:
type: integer
format: int32
- name: bisPlayerId
in: query
description: A unique identifier for a player in the EBIS system
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/BaseballDraftListRestObject'
/api/v1/draft/{year}:
get:
tags:
- Draft
summary: View MLB Drafted Players
operationId: draftPicks_1
parameters:
- name: year
in: path
description: 'Year the player was drafted. Format: 2000'
required: true
schema:
type: integer
format: int32
- name: limit
in: query
description: Number of results to return
required: false
schema:
type: integer
format: int32
- name: offset
in: query
description: The pointer to start for a return set; used for pagination
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
- name: order
in: query
description: The order of sorting, ascending or descending
required: false
schema:
$ref: '#/components/schemas/SortOrderEnum'
- name: sortBy
in: query
description: Sort the set of data by the specified field
required: false
schema:
type: string
- name: drafted
in: query
description: Whether or not the players been drafted
required: false
schema:
type: boolean
- name: round
in: query
description: Round in which a player was drafted
required: false
schema:
type: string
- name: name
in: query
description: Filter players by the first letter of their name using using the specific character
required: false
schema:
type: string
- name: school
in: query
description: Filter players by the first letter of their school using using the specific character
required: false
schema:
type: string
- name: position
in: query
description: 'Position number. Format: 1, 2, 3, etc'
required: false
schema:
$ref: '#/components/schemas/BaseballPosition'
- name: team
in: query
description: 'Unique Team Code. Format: tor, nya, etc'
required: false
schema:
type: string
- name: teamId
in: query
description: 'Unique Team Identifier. Format: 141, 147, etc'
required: false
schema:
type: integer
format: int32
- name: state
in: query
description: 'State where the venue is located. Format: Ohio'
required: false
schema:
type: string
- name: country
in: query
description: Filter players by their home country
required: false
schema:
type: string
- name: playerId
in: query
description: A unique identifier for a player
required: false
schema:
type: integer
format: int32
- name: bisPlayerId
in: query
description: A unique identifier for a player in the EBIS system
required: false
schema:
type: integer
format: int32
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/BaseballDraftListRestObject'
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
WeatherRestObject:
type: object
properties:
copyright:
type: string
condition:
type: string
temp:
type: string
wind:
type: string
BaseballDraftLatestRestObject:
type: object
properties:
copyright:
type: string
pick:
$ref: '#/components/schemas/BaseballDraftProspectRestObject'
number:
type: integer
format: int32
nextUp:
type: array
items:
$ref: '#/components/schemas/BaseballDraftProspectRestObject'
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
SortOrderEnum:
type: string
enum:
- ASC
- DESC
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
# --- truncated at 32 KB (238 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/major-league-baseball/refs/heads/main/openapi/major-league-baseball-draft-api-openapi.yml