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
| Feed | Purpose |
|---|---|
| Season Competitors | Every team in a season |
| Competitor Profile | One team's record, venue, manager, jerseys, and squad |
| Season Players | Every player in a season |
| Player Profile | One player's bio and current team |
| Player Summaries | The player's ten most recent games with statistics |
| Sport Event Summary | The full box score for one game |
| Sport Event Lineups | Both teams' starting lineups for one game |
| Season Lineups | Lineups for every game of a season |
High-Level Workflow
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:
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
Updated about 6 hours ago
