---
title: "Batch player lookup — up to 50 players in one call (Growth+)"
method: POST
path: "/v1/batch/players"
tags: ["Multi"]
---

# Batch player lookup — up to 50 players in one call (Growth+)

`POST /v1/batch/players`

## Request

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

Fetch profile, stats, and optional injury/anomaly data for up to 50 players in a single API call. Reduces round-trips for clients that need to hydrate a lineup, compare a watchlist, or build a dashboard.

**Tier access:** Growth, Pro Insights, Syndicate Alpha

## Request body

- object
  - `player_ids` string[], required
  - `include` string[]: Which data to include alongside each player

## Response `200`

Batch player results

- object
  - `success` boolean
  - `endpoint` string
  - `requested` integer
  - `found` integer
  - `not_found` string[]
  - `data` object[]
    - `player_id` string
    - `full_name` string
    - `position` string
    - `team` string
    - `sport` string
    - `status` string
    - `adp` number, nullable
    - `season_stats` object, nullable
    - `injury_status` object, nullable
    - `anomaly` object, nullable
  - `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

- `400`: Invalid request (empty array or >50 player_ids)
- `401`: Missing or invalid API key
- `402`: Growth tier or higher required
- `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)
