---
title: "All 30 MLB teams"
method: GET
path: "/v1/mlb/teams"
tags: ["MLB"]
---

# All 30 MLB teams

`GET /v1/mlb/teams`

## Request

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

Returns metadata for all 30 MLB teams including roster depth. Abbreviations are normalized (e.g. NYY, BOS, LAD).

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

## Response `200`

30 MLB teams with roster counts

- object
  - `success` boolean
  - `endpoint` string
  - `count` integer
  - `data` object[]
    - `abbreviation` string
    - `full_name` string
    - `roster_size` integer
    - `active_players` integer
    - `positions` string[]
  - `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
- `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)
