Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Global Baseball API Overview

The Global Baseball API v2 delivers schedules, live scores, play-by-play, standings, team and player profiles, game statistics, and lineups for baseball competitions worldwide: MLB, NPB, KBO League, the World Baseball Classic, NCAA baseball, and dozens of professional and development leagues. A companion Probabilities package adds pre-match and live win probabilities, probability timelines, and season outright probabilities.

The API provides:

  • Schedules and results by competition, season, team, or calendar day
  • Live data: real-time scores for every covered game, with pitch-level play-by-play and a delta feed for competitions with play-by-play coverage
  • Standings with baseball-specific columns (games behind, winning percentage, last-ten form, home and away splits), including division, league, and pool views
  • Team and player detail: profiles, rosters, per-game statistics, and starting lineups
  • Change feeds (created, updated, removed) to keep a local store reconciled
  • Probabilities (add-on package): pre-match and in-play win probabilities, per-game probability timelines, and season outrights

Data is available in JSON and XML on every feed, in six fully supported languages. Softball competitions, including NCAA Women's softball, are served by the same API by switching the sport segment of the URL; see Global Baseball API Basics.



Covered Competitions

The Competitions feed returns every covered competition. The response below is trimmed to four headline competitions from the 80 in the full response:

{
  "generated_at": "2026-07-21T17:45:04+00:00",
  "competitions": [
    {
      "id": "sr:competition:109",
      "name": "MLB",
      "gender": "men",
      "category": {
        "id": "sr:category:16",
        "name": "USA",
        "country_code": "USA"
      }
    },
    {
      "id": "sr:competition:640",
      "name": "World Baseball Classic",
      "gender": "men",
      "category": {
        "id": "sr:category:225",
        "name": "International"
      }
    },
    {
      "id": "sr:competition:1036",
      "name": "NPB",
      "gender": "men",
      "category": {
        "id": "sr:category:211",
        "name": "Japan",
        "country_code": "JPN"
      }
    },
    {
      "id": "sr:competition:2541",
      "name": "KBO League",
      "gender": "men",
      "category": {
        "id": "sr:category:384",
        "name": "Republic of Korea",
        "country_code": "KOR"
      }
    }
  ]
}

Coverage depth varies by competition (for example, whether standings recalculate in play and whether play-by-play is collected). MLB, NPB, and KBO League seasons all declare live scores and pitch-level play-by-play in their coverage blocks; each season's coverage block is the authoritative statement, and the Coverage Matrix gives the per-competition view. See Fundamentals.



How the Guides Are Organized

The map below shows the three tiers; each pill links to its guide.

Global Baseball Integration Guide MapThree tiers, top to bottom
Start with API Basics and Fundamentals, then pick the scenario that matches your product. The Probabilities package is licensed separately.


A 60-Second Look at the Data

One call to Live Summaries returns every game in progress. A pull while a Northwoods League game was in its second inning:

{
  "generated_at": "2026-07-21T17:47:14+00:00",
  "summaries": [
    {
      "sport_event": {
        "id": "sr:sport_event:71755404",
        "start_time": "2026-07-21T17:05:00+00:00",
        "competitors": [
          {
            "id": "sr:competitor:419483",
            "name": "Mankato Moondogs",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "MAN",
            "qualifier": "home",
            "gender": "male"
          },
          {
            "id": "sr:competitor:419465",
            "name": "Bismarck Larks",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "BIS",
            "qualifier": "away",
            "gender": "male"
          }
        ]
      },
      "sport_event_status": {
        "status": "live",
        "match_status": "2nd_inning",
        "home_score": 5,
        "away_score": 0,
        "period_scores": [
          {
            "home_score": 4,
            "away_score": 0,
            "type": "regular_period",
            "number": 1
          },
          {
            "home_score": 1,
            "away_score": 0,
            "type": "regular_period",
            "number": 2
          }
        ]
      }
    }
  ]
}

The sport_event identifies the game and the teams; sport_event_status carries the score, the inning (match_status), and per-inning period_scores. The same three-part shape (sport_event, sport_event_status, and, where collected, statistics) repeats across the summary feeds, so code written for one feed reads them all; see Fundamentals.


Did this page help you?