Major League Baseball Draft API
Operations pertaining to MLB BaseballDraft
Operations pertaining to MLB BaseballDraft
openapi: 3.0.1
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
AdditionalBio:
type: object
properties:
id:
type: integer
format: int32
homeTown:
type: string
SortOrderEnum:
type: string
enum:
- ASC
- DESC
GameStatusRestObject:
type: object
properties:
copyright:
type: string
isCurrentBatter:
type: boolean
isCurrentPitcher:
type: boolean
isOnBench:
type: boolean
isSubstitute:
type: boolean
DraftTypeEnum:
type: string
enum:
- JR
- JS
- NS
- NR
- RV
- AL
- RA
- RT
- JD
- AD
WeatherRestObject:
type: object
properties:
copyright:
type: string
condition:
type: string
temp:
type: string
wind:
type: string
DraftTypeEnumRestObject:
type: object
properties:
copyright:
type: string
code:
type: string
description:
type: string
BaseballDefenseRestObject:
type: object
properties:
copyright:
type: string
pitcher:
$ref: '#/components/schemas/BaseballPersonRestObject'
catcher:
$ref: '#/components/schemas/BaseballPersonRestObject'
first:
$ref: '#/components/schemas/BaseballPersonRestObject'
second:
$ref: '#/components/schemas/BaseballPersonRestObject'
third:
$ref: '#/components/schemas/BaseballPersonRestObject'
shortstop:
$ref: '#/components/schemas/BaseballPersonRestObject'
left:
$ref: '#/components/schemas/BaseballPersonRestObject'
center:
$ref: '#/components/schemas/BaseballPersonRestObject'
right:
$ref: '#/components/schemas/BaseballPersonRestObject'
batter:
$ref: '#/components/schemas/BaseballPersonRestObject'
onDeck:
$ref: '#/components/schemas/BaseballPersonRestObject'
inHole:
$ref: '#/components/schemas/BaseballPersonRestObject'
battingOrder:
type: integer
format: int32
team:
$ref: '#/components/schemas/BaseballTeamRestObject'
EducationRestObject:
type: object
properties:
copyright:
type: string
highschools:
type: array
items:
$ref: '#/components/schemas/SchoolRestObject'
colleges:
type: array
items:
$ref: '#/components/schemas/SchoolRestObject'
StatContainer:
type: object
properties:
type:
$ref: '#/components/schemas/StatType'
group:
$ref: '#/components/schemas/StatGroup'
splits:
type: array
items:
$ref: '#/components/schemas/StatSplits'
splitsTiedWithOffset:
type: array
items:
$ref: '#/components/schemas/StatSplits'
splitsTiedWithLimit:
type: array
items:
$ref: '#/components/schemas/StatSplits'
stats:
$ref: '#/components/schemas/StatData'
totalSplits:
type: integer
format: int32
player:
$ref: '#/components/schemas/BaseballPerson'
team:
$ref: '#/components/schemas/BaseballTeam'
sport:
$ref: '#/components/schemas/Sport'
season:
type: string
gameType:
$ref: '#/components/schemas/GameTypeEnum'
playerPool:
$ref: '#/components/schemas/PlayerPoolEnum'
exemptions:
type: array
items:
$ref: '#/components/schemas/PlayerListPerson'
parameters:
type: object
additionalProperties:
type: object
disclaimers:
uniqueItems: true
type: array
items:
type: string
totalSplitsIfNotSet:
type: integer
format: int32
writeOnly: true
FieldInfoRestObject:
type: object
properties:
copyright:
type: string
capacity:
type: integer
format: int32
turfType:
type: string
roofType:
type: string
leftLine:
type: integer
format: int32
left:
type: integer
format: int32
leftCenter:
type: integer
format: int32
center:
type: integer
format: int32
rightCenter:
type: integer
format: int32
right:
type: integer
format: int32
rightLine:
type: integer
format: int32
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
RunnerDetailType:
type: string
enum:
- START_BASE
- SEQUENCE
- RUNNER_GOING
- END_BASE
- RUNNER_OUT
- FORCED_OUT
- ADVANCED_ON_FORCE
- ADVANCED_ON_THROW
- ADVANCED_ON_PLAY
- DOUBLED_OFF
- THROWN_OUT
- TAGGED_OUT
- OUT_STRETCHING
- LEFT_EARLY
- FIELDERS_CHOICE
- OUT_ON_APPEAL
- OUT_ADVANCING
- DEFENSIVE_INDIFFERENCE
- INTERFERENCE
- HIT_BY_BATTED_BALL
- OUT_OVER_RUNNING
- OUT_RETURNING
- RUNDOWN
- CAUGHT_STEALING_2B
- CAUGHT_STEALING_3B
- CAUGHT_STEALING_HOME
- PICKOFF_CAUGHT_STEALING_2B
- PICKOFF_CAUGHT_STEALING_3B
- PICKOFF_CAUGHT_STEALING_HOME
- STOLEN_BASE_2B
- STOLEN_BASE_3B
- STOLEN_BASE_HOME
- PICKOFF_1B
- PICKOFF_2B
- PICKOFF_3B
- PICKOFF_ERROR_1B
- PICKOFF_ERROR_2B
- PICKOFF_ERROR_3B
- UNKNOWN
VenueMetadata:
type: object
properties:
active:
type: boolean
capacity:
type: integer
format: int32
startYear:
type: integer
format: int32
endYear:
type: integer
format: int32
types:
type: array
items:
$ref: '#/components/schemas/VenueTypeEnum'
Image:
type: object
properties:
images:
type: object
additionalProperties:
type: string
caption:
type: string
imageType:
$ref: '#/components/schemas/ImageTypeEnum'
url:
type: string
imageTypeAsString:
type: string
SportTypeEnum:
type: string
enum:
- ALL
- BASEBALL
- HOCKEY
- GOLF
- UNKNOWN
- BASKETBALL
IFeed:
type: object
properties:
date:
type: string
format: date-time
ScheduleDateRestObject:
type: object
properties:
copyright:
type: string
date:
type: string
format: date
totalItems:
type: integer
format: int32
totalEvents:
type: integer
format: int32
totalGames:
type: integer
format: int32
totalGamesInProgress:
type: integer
format: int32
games:
type: array
items:
$ref: '#/components/schemas/BaseballScheduleItemRestObject'
events:
type: array
items:
$ref: '#/components/schemas/ScheduleEventRestObject'
Venue:
type: object
properties:
requestingUserRole:
$ref: '#/components/schemas/Role'
id:
type: integer
format: int32
name:
type: string
city:
type: string
location:
$ref: '#/components/schemas/Location'
timeZone:
$ref: '#/components/schemas/TimeZone'
fieldInfo:
$ref: '#/components/schemas/FieldInfo'
sportType:
$ref: '#/components/schemas/SportTypeEnum'
relatedVenues:
type: array
items:
$ref: '#/components/schemas/Venue'
parentVenues:
type: array
items:
$ref: '#/components/schemas/Venue'
residentVenues:
type: array
items:
$ref: '#/components/schemas/Venue'
relatedApplications:
type: array
items:
$ref: '#/components/schemas/RelatedApplication'
relatedImages:
type: array
items:
$ref: '#/components/schemas/Image'
socialMediaInfo:
$ref: '#/components/schemas/SocialMediaInfo'
menu:
$ref: '#/components/schemas/VenueCms'
metadata:
$ref: '#/components/schemas/VenueMetadata'
schedule:
$ref: '#/components/schemas/BaseballSchedule'
nextSchedule:
$ref: '#/components/schemas/BaseballSchedule'
# --- 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