Integration GuidesDocs
Coverage MatrixDocumentationChange LogLog InContact Us
Integration Guides

Retrieving Team and Player Details

This scenario assembles team pages, rosters, player pages, box scores, and starting lineups.

This scenario is commonly used to:

  • Build team profile pages with venue, manager, and roster
  • Build player pages with bio and recent game lines
  • Render post-game box scores and pre-game starting lineups


Relevant Feeds

FeedPurpose
Season CompetitorsEvery team in a season
Competitor ProfileOne team's record, venue, manager, jerseys, and squad
Season PlayersEvery player in a season
Player ProfileOne player's bio and current team
Player SummariesThe player's ten most recent games with statistics
Sport Event SummaryThe full box score for one game
Sport Event LineupsBoth teams' starting lineups for one game
Season LineupsLineups for every game of a season


High-Level Workflow

The Discovery WalkSeason to team, team to player, player to game lines
TeamsSeason Competitors→Competitor Profilevenue, manager, jerseys, squad
PlayersSeason Players→Player Profile→Player Summariesbio, then the last ten game lines
Game daySport Event LineupsSport Event Summarystarters and batting order, then the box score
Cadences come from the Best Practices section at the end of this page.


Integration Steps


1. Teams

Season Competitors lists every team in a season. For depth on one team, Competitor Profile returns the team record, home venue, manager, jersey definitions, and current squad. Trimmed to one jersey and two squad members:

GET https://api.sportradar.com/baseball/trial/v2/en/competitors/sr:competitor:3650/profile.json
x-api-key: YOUR_API_KEY
{
  "generated_at": "2026-07-21T17:50:19+00:00",
  "competitor": {
    "id": "sr:competitor:3650",
    "name": "Cleveland Guardians",
    "country": "USA",
    "country_code": "USA",
    "abbreviation": "CLE",
    "gender": "male"
  },
  "venue": {
    "id": "sr:venue:8087",
    "name": "Progressive Field",
    "capacity": 34788,
    "city_name": "Cleveland, OH",
    "city_id": "sr:city:4092",
    "country_name": "USA",
    "map_coordinates": "41.4957048, -81.6852732",
    "country_code": "USA",
    "timezone": "America/New_York"
  },
  "manager": {
    "id": "sr:player:843319",
    "name": "Vogt, Stephen",
    "date_of_birth": "1984-11-01",
    "nationality": "United states",
    "country_code": "USA",
    "gender": "male"
  },
  "jerseys": [
    {
      "type": "home",
      "base": "ffffff",
      "sleeve": "ffffff",
      "number": "ff0000",
      "squares": false,
      "stripes": false,
      "horizontal_stripes": false,
      "split": false,
      "shirt_type": "short_sleeves",
      "sleeve_detail": "0000a0"
    }
  ],
  "players": [
    {
      "id": "sr:player:843229",
      "name": "Hedges, Austin",
      "type": "C",
      "date_of_birth": "1992-08-18",
      "nationality": "United states",
      "country_code": "USA",
      "height": 185,
      "weight": 101,
      "jersey_number": 27,
      "gender": "male"
    },
    {
      "id": "sr:player:855936",
      "name": "Armstrong, Shawn",
      "type": "P",
      "date_of_birth": "1990-09-11",
      "nationality": "United states",
      "country_code": "USA",
      "height": 188,
      "weight": 102,
      "jersey_number": 43,
      "gender": "male"
    }
  ]
}

Squad entries carry the fields a roster page needs inline: position type (P, C, IF, OF and similar), date of birth, height, weight, and jersey_number. Squads are maintained for seasons whose coverage declares team_squads.


2. Players

Season Players lists every player in a season (paged at up to 800). Player Profile returns one player's bio with the team they currently play for; this is the full response:

{
  "generated_at": "2026-07-21T17:52:43+00:00",
  "player": {
    "id": "sr:player:1721884",
    "name": "Kwan, Steven",
    "type": "OF",
    "date_of_birth": "1997-09-05",
    "nationality": "United states",
    "country_code": "USA",
    "height": 173,
    "weight": 79,
    "jersey_number": 38,
    "gender": "male"
  },
  "competitors": [
    {
      "id": "sr:competitor:3650",
      "name": "Cleveland Guardians",
      "country": "USA",
      "country_code": "USA",
      "abbreviation": "CLE",
      "gender": "male"
    }
  ]
}

A roles array carries team history as it accumulates; it can be empty for players without recorded moves.


3. Per-game player statistics

Player Summaries returns the player's ten most recent games; within each game, the player's line sits in the statistics block under their team. Trimmed to Steven Kwan's line from one game:

{
  "generated_at": "2026-07-21T17:52:46+00:00",
  "summaries": [
    {
      "sport_event": {
        "id": "sr:sport_event:63301121",
        "start_time": "2026-07-20T22:40:00+00:00",
        "competitors": [
          {
            "id": "sr:competitor:3650",
            "name": "Cleveland Guardians",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "CLE",
            "qualifier": "home",
            "gender": "male"
          },
          {
            "id": "sr:competitor:3649",
            "name": "Minnesota Twins",
            "country": "USA",
            "country_code": "USA",
            "abbreviation": "MIN",
            "qualifier": "away",
            "gender": "male"
          }
        ]
      },
      "sport_event_status": {
        "status": "closed",
        "match_status": "ended",
        "home_score": 13,
        "away_score": 4,
        "winner_id": "sr:competitor:3650"
      },
      "statistics": {
        "totals": {
          "competitors": [
            {
              "id": "sr:competitor:3650",
              "name": "Cleveland Guardians",
              "abbreviation": "CLE",
              "qualifier": "home",
              "players": [
                {
                  "statistics": {
                    "at_bats": 3,
                    "earned_runs": 0,
                    "errors": 0,
                    "hits": 0,
                    "hits_allowed": 0,
                    "home_runs": 0,
                    "innings_pitched": 0,
                    "runs": 1,
                    "runs_batted_in": 0,
                    "saves": 0,
                    "stolen_bases": 0,
                    "strikeouts": 0,
                    "walks": 1,
                    "walks_allowed": 0
                  },
                  "id": "sr:player:1721884",
                  "name": "Kwan, Steven",
                  "type": "batter"
                }
              ]
            }
          ]
        }
      }
    }
  ]
}

A player page renders that row directly; this card is the same line, laid out:

Player Game LineOne player's row from the game statistics
Kwan, Stevenbatter · Cleveland Guardians vs Minnesota Twins · 2026-07-20AB3R1H0HR0RBI0SB0BB1SO0
The stat line is this player's row from the statistics block; the headshot slot uses a neutral silhouette, filled by your own or licensed assets.

4. Box scores

The same statistics structure appears in Sport Event Summary for a whole game: team totals plus every participating player. One team's totals and one player line from a completed game:

{
  "statistics": {
    "totals": {
      "competitors": [
        {
          "id": "sr:competitor:3650",
          "name": "Cleveland Guardians",
          "abbreviation": "CLE",
          "qualifier": "home",
          "statistics": {
            "at_bats": 43,
            "earned_runs": 4,
            "errors": 0,
            "hits": 19,
            "hits_allowed": 10,
            "home_runs": 7,
            "innings_pitched": 9,
            "runs": 13,
            "runs_batted_in": 13,
            "saves": 0,
            "stolen_bases": 1,
            "strikeouts": 9,
            "walks": 2,
            "walks_allowed": 3
          },
          "players": [
            {
              "statistics": {
                "at_bats": 3,
                "earned_runs": 0,
                "errors": 0,
                "hits": 0,
                "hits_allowed": 0,
                "home_runs": 0,
                "innings_pitched": 0,
                "runs": 1,
                "runs_batted_in": 0,
                "saves": 0,
                "stolen_bases": 0,
                "strikeouts": 0,
                "walks": 1,
                "walks_allowed": 0
              },
              "id": "sr:player:1721884",
              "name": "Kwan, Steven",
              "type": "batter"
            }
          ]
        }
      ]
    }
  }
}

The statistics object is one flat set of 14 keys shared by team totals and player lines, covering batting and pitching together: at_bats, hits, home_runs, runs, runs_batted_in, stolen_bases, strikeouts (batting), walks (batting), errors, and the pitching figures earned_runs, hits_allowed, innings_pitched, saves, walks_allowed. For position players the pitching keys sit at zero, and vice versa; render the columns relevant to the player's role.


5. Starting lineups

The Sport Event Lineups feed returns both teams' lineups for one game; Season Lineups returns them for every game of a season (paged at up to 100). In the OpenAPI specification, these two endpoints carry generated operation identifiers rather than the global-baseball- names the other feeds use; clients generated from the specification will reflect that naming. Starters carry starter: true, and batters add their batting order. Trimmed to the starting pitcher and the top of the order:

{
  "generated_at": "2026-07-21T17:50:12+00:00",
  "sport_event": {
    "id": "sr:sport_event:63301121",
    "start_time": "2026-07-20T22:40:00+00:00",
    "competitors": [
      {
        "id": "sr:competitor:3650",
        "name": "Cleveland Guardians",
        "country": "USA",
        "country_code": "USA",
        "abbreviation": "CLE",
        "qualifier": "home",
        "gender": "male"
      },
      {
        "id": "sr:competitor:3649",
        "name": "Minnesota Twins",
        "country": "USA",
        "country_code": "USA",
        "abbreviation": "MIN",
        "qualifier": "away",
        "gender": "male"
      }
    ]
  },
  "lineups": {
    "competitors": [
      {
        "id": "sr:competitor:3650",
        "name": "Cleveland Guardians",
        "abbreviation": "CLE",
        "qualifier": "home",
        "players": [
          {
            "id": "sr:player:2283375",
            "name": "Bibee, Tanner",
            "type": "P",
            "date_of_birth": "1999-03-05",
            "nationality": "United states",
            "country_code": "USA",
            "height": 188,
            "weight": 93,
            "jersey_number": 28,
            "starter": true
          },
          {
            "id": "sr:player:2044231",
            "name": "Bailey, Patrick",
            "type": "C",
            "date_of_birth": "1999-05-29",
            "nationality": "United states",
            "country_code": "USA",
            "height": 183,
            "weight": 102,
            "jersey_number": 16,
            "starter": true,
            "order": 8
          },
          {
            "id": "sr:player:1721888",
            "name": "Fry, David",
            "type": "C",
            "date_of_birth": "1995-11-20",
            "nationality": "United states",
            "country_code": "USA",
            "height": 185,
            "weight": 98,
            "jersey_number": 6,
            "starter": true,
            "order": 7
          },
          {
            "id": "sr:player:2801195",
            "name": "Bazzana, Travis",
            "type": "IF",
            "date_of_birth": "2002-08-28",
            "nationality": "Australia",
            "country_code": "AUS",
            "height": 183,
            "weight": 91,
            "jersey_number": 37,
            "starter": true,
            "order": 2
          }
        ]
      }
    ]
  }
}

Lineups appear as they are announced, so poll close to first pitch; a game's lineups can also change through substitutions recorded in the timeline (see Tracking Live Games).



Common Use Cases

Typical builds on this workflow include:

  • Team profile pages with roster, venue, and jersey styling
  • Player pages combining bio, current team, and recent game lines
  • Post-game box scores with batting and pitching splits
  • Pre-game lineup cards with batting order and the starting pitcher


Best Practices

  • Refresh profiles and squads daily; they move on transactions, not in-game
  • Refresh Player Summaries and box scores after games close; statistics can settle for a few minutes after the final out
  • Poll lineups in the hour before first pitch and re-check at game start
  • Render statistics columns by player role; the flat statistics object carries both batting and pitching keys for everyone

Did this page help you?