---
title: "MLB team roster"
method: GET
path: "/v1/mlb/teams/{team}/roster"
tags: ["MLB"]
---

# MLB team roster

`GET /v1/mlb/teams/{team}/roster`

## Request

- Base URL: `https://api.playcallerapp.com`
- URL: `https://api.playcallerapp.com/v1/mlb/teams/{team}/roster`
- Auth: API key in header `X-PlayCaller-Key`

Returns the active roster for a specific team. Filter by position to pull only starting pitchers or corner infielders for lineup construction.

**Tier access:** Developer Sandbox, Build, Growth, Pro Insights, Syndicate Alpha

## Path parameters

- `team` string, required

## Query parameters

- `position` 'SP' | 'RP' | 'C' | '1B' | '2B' | '3B' | 'SS' | 'OF' | 'DH'

## Response `200`

Team roster

- object
  - `success` boolean
  - `team` string
  - `count` integer
  - `data` MLBPlayer[]
    - `id` string, required: PlayCaller MLB player ID
    - `full_name` string, required
    - `first_name` string
    - `last_name` string
    - `position` 'SP' | 'RP' | 'C' | '1B' | '2B' | '3B' | 'SS' | 'OF' | 'DH', required
    - `team` string, required
    - `status` 'active' | 'injured' | 'inactive', required
  - `meta` ResponseMeta
    - `sport` string
    - `league` string: Present on multi-sport (ESPN-backed) endpoints; mirrors sport unless a sport has sub-leagues (e.g. soccer: epl/mls).
    - `tier` string
    - `calls_remaining_this_month` integer
    - `documentation_url` string, uri

## Other responses

- `401`: Missing or invalid API key
- `404`: Team abbreviation not found
- `429`: Rate limit or monthly quota exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/playcallerapp/apis/playcaller-data-api.md) · [All operations](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/revisions/100c0a3ffbfe?raw)
