Major League Baseball Game API

Operations pertaining to games

Operations 13

GET /api/v1/game/{game_pk}/playByPlay Get game play By Play #
GET /api/v1/game/{game_pk}/linescore Get game linescore #
GET /api/v1/game/{game_pk}/feed/color Get game color feed. #
GET /api/v1/game/{game_pk}/feed/color/timestamps Retrieve all of the color timestamps for a game. #
GET /api/v1/game/{game_pk}/content Retrieve all content for a game. #
GET /api/v1/game/{game_pk}/boxscore Get game boxscore. #
GET /api/v1/game/{gamePk}/withMetrics Get game info with metrics #
GET /api/v1/game/{gamePk}/winProbability Get the win probability for this game #
GET /api/v1/game/{gamePk}/contextMetrics Get the context metrics for this game based on its current state #
GET /api/v1/game/changes View a game change log #
GET /api/v1.1/game/{game_pk}/feed/live Get live game status. #
GET /api/v1.1/game/{game_pk}/feed/live/timestamps Retrieve all of the play timestamps for a game. #
GET /api/v1.1/game/{game_pk}/feed/live/diffPatch Get live game status. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/major-league-baseball-game-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

major-league-baseball-game-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Stats API Documentation Analytics Game 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: Game
  description: Operations pertaining to games
paths:
  /api/v1/game/{game_pk}/playByPlay:
    get:
      tags:
      - Game
      summary: Get game play By Play
      description: This endpoint allows you to pull the play by play of a game
      operationId: playByPlay
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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: inclusiveTimecode
        in: query
        description: True to include plays that happen before or at the specified timecode
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/BaseballPlayByPlayRestObject'
  /api/v1/game/{game_pk}/linescore:
    get:
      tags:
      - Game
      summary: Get game linescore
      description: This endpoint allows you to pull the linescore for a game
      operationId: linescore
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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: inclusiveTimecode
        in: query
        description: True to include plays that happen before or at the specified timecode
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/BaseballLinescoreRestObject'
  /api/v1/game/{game_pk}/feed/color:
    get:
      tags:
      - Game
      summary: Get game color feed.
      description: 'This API can return very large payloads.  It is STRONGLY recommended that clients ask for diffs and use "Accept-Encoding: gzip" header.'
      operationId: colorFeed
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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:
            application/json;charset=UTF-8:
              schema:
                type: string
  /api/v1/game/{game_pk}/feed/color/timestamps:
    get:
      tags:
      - Game
      summary: Retrieve all of the color timestamps for a game.
      description: This can be used for replaying games.  Endpoint returns all of the timecodes that can be used with diffs for /v1/game/{game_pk}/feed/color
      operationId: colorTimestamps
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                type: array
                items:
                  type: string
  /api/v1/game/{game_pk}/content:
    get:
      tags:
      - Game
      summary: Retrieve all content for a game.
      operationId: content
      parameters:
      - name: game_pk
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: highlightLimit
        in: query
        description: Number of results to return
        required: false
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/GameContentRestObject'
  /api/v1/game/{game_pk}/boxscore:
    get:
      tags:
      - Game
      summary: Get game boxscore.
      description: This endpoint allows you to pull a boxscore
      operationId: boxscore
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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: inclusiveTimecode
        in: query
        description: True to include plays that happen before or at the specified timecode
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/BaseballBoxscoreRestObject'
  /api/v1/game/{gamePk}/withMetrics:
    get:
      tags:
      - Game
      summary: Get game info with metrics
      operationId: getGameWithMetrics
      parameters:
      - name: gamePk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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/BaseballGameRestObject'
  /api/v1/game/{gamePk}/winProbability:
    get:
      tags:
      - Game
      summary: Get the win probability for this game
      operationId: getWinProbability
      parameters:
      - name: gamePk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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: inclusiveTimecode
        in: query
        description: True to include plays that happen before or at the specified timecode
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BaseballPlayRestObject'
  /api/v1/game/{gamePk}/contextMetrics:
    get:
      tags:
      - Game
      summary: Get the context metrics for this game based on its current state
      operationId: getGameContextMetrics
      parameters:
      - name: gamePk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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/BaseballGameContextRestObject'
  /api/v1/game/changes:
    get:
      tags:
      - Game
      summary: View a game change log
      operationId: currentGameStats_3
      parameters:
      - name: updatedSince
        in: query
        description: 'Format: YYYY-MM-DDTHH:MM:SSZ'
        required: false
        schema:
          type: string
          format: date-time
      - name: sportId
        in: query
        description: Top level organization of a sport
        required: false
        schema:
          type: integer
          format: int32
        x-lookup:
          name: Sports
      - name: sportIds
        in: query
        description: Comma delimited list of top level organizations of a sport
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int32
        x-lookup:
          name: Sports
      - name: gameType
        in: query
        description: Type of Game. Available types in /api/v1/gameTypes
        required: false
        schema:
          $ref: '#/components/schemas/GameTypeEnum'
      - name: gameTypes
        in: query
        description: Comma delimited list of type of Game. Available types in /api/v1/gameTypes
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/GameTypeEnum'
      - name: season
        in: query
        description: Season of play
        required: false
        schema:
          type: string
      - name: gamePks
        in: query
        description: Comma delimited list of unique primary keys
        required: false
        schema:
          uniqueItems: true
          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: 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
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ScheduleRestObject'
  /api/v1.1/game/{game_pk}/feed/live:
    get:
      tags:
      - Game
      summary: Get live game status.
      description: 'This API can return very large payloads.  It is STRONGLY recommended that clients ask for diffs and use "Accept-Encoding: gzip" header.'
      operationId: liveGameV1
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: timecode
        in: query
        description: 'Use this parameter to return a snapshot of the data at the specified time. Format: YYYYMMDD_HHMMSS'
        required: false
        schema:
          type: string
      - 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: inclusiveTimecode
        in: query
        description: True to include plays that happen before or at the specified timecode
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                $ref: '#/components/schemas/BaseballGameRestObject'
  /api/v1.1/game/{game_pk}/feed/live/timestamps:
    get:
      tags:
      - Game
      summary: Retrieve all of the play timestamps for a game.
      description: This can be used for replaying games.  Endpoint returns all of the timecodes that can be used with diffs for /v1/game/{game_pk}/feed/live
      operationId: liveTimestampv11
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                type: string
  /api/v1.1/game/{game_pk}/feed/live/diffPatch:
    get:
      tags:
      - Game
      summary: Get live game status.
      description: 'This endpoint allows comparison of game files and shows any differences/discrepancies between the two<br/><br/><b>Diff/Patch System:</b> startTimecode and endTimecode can be used for getting diffs.<br/>Expected usage:  <br/> 1) Request full payload by not passing startTimecode or endTimecode.  This will return the most recent game state.<br/> 2) Find the latest timecode in this response.  <br/> 3) Wait X seconds<br/> 4) Use the timecode from 2 as the startTimecode.  This will give you a diff of everything that has happened since startTimecode.  <br/> 5) If no data is returned, wait X seconds and do the same request.  <br/> 6) If data is returned, get a new timeStamp from the response, and use that for the next call as startTimecode.'
      operationId: liveGameDiffPatchV1
      parameters:
      - name: game_pk
        in: path
        description: Unique Primary Key Representing a Game
        required: true
        schema:
          type: integer
          format: int32
      - name: startTimecode
        in: query
        description: 'Start time code will give you everything since that time. Format: MMDDYYYY_HHMMSS'
        required: false
        schema:
          type: string
      - name: endTimecode
        in: query
        description: 'End time code will give you a snapshot at that specific time. Format: MMDDYYYY_HHMMSS'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json;charset=UTF-8:
              schema:
                type: string
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
    BaseballTeamBoxscore:
      type: object
      properties:
        team:
          $ref: '#/components/schemas/BaseballTeamRestObject'
        teamStats:
          $ref: '#/components/schemas/StatsRestObject'
        players:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BaseballRosterEntryRestObject'
        batters:
          type: array
          items:
            type: integer
            format: int32
        pitchers:
          type: array
          items:
            type: integer
            format: int32
        bench:
          type: array
          items:
            type: integer
            format: int32
        bullpen:
          type: array
          items:
            type: integer
            format: int32
        battingOrder:
          type: array
          items:
            type: integer
            format: int32
        info:
          type: array
          items:
            $ref: '#/components/schemas/BaseballBoxscoreNoteWrapRestObject'
        note:
          type: array
          items:
            $ref: '#/components/schemas/BaseballBoxscoreNoteRestObject'
    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
      - P

# --- truncated at 32 KB (249 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/major-league-baseball/refs/heads/main/openapi/major-league-baseball-game-api-openapi.yml