---
title: "Stored team + player stats for a match"
method: GET
path: "/v1/stored/matches/{id}/stats"
tags: ["stored"]
---

# Stored team + player stats for a match

`GET /v1/stored/matches/{id}/stats`

## Request

- Base URL: `https://api.bigballsdata.com`
- URL: `https://api.bigballsdata.com/v1/stored/matches/{id}/stats`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Path parameters

- `id` string, uuid, required

## Response `200`

ok. `{ data: { team_stats, players }, meta: { available, team_stats_available, players_available, withheld, coverage_note? } }`, a route-specific meta, not the standard ResponseMeta (no error wrapper). The two `*_available` flags are separate deliberately: a soccer match commonly returns player stats and an empty team-stats array, and a single flag cannot express that. An empty `team_stats` is not a statement that we hold none; check `withheld`. `withheld` counts values we hold for this match that this response does not carry, so an empty array can be told apart from an absence; it is always present, including as zeroes. `coverage_note` is present only when at least one of the two arrays is empty; for soccer it points at `/v1/matches/{id}/statistics`, a second surface that also serves team-level soccer stats.

- object
  - `meta` object, required
    - `available` boolean, required: True when either array is non-empty. It describes THIS RESPONSE, not our holdings: see withheld.
    - `team_stats_available` boolean, required
    - `players_available` boolean, required
    - `withheld` object, required: Values we hold for this match that this response does not carry, because of a sourcing restriction on our side. Always present. `available: false` with a non-zero count here means we have the data and are not returning it, which is a different thing from having none.
      - `team_stats` integer, required: Distinct (team, stat) values held but not returned.
      - `players` integer, required: Distinct (player, stat) values held but not returned.
    - `coverage_note` string: Present only when at least one array is empty.
  - `data` object, required
    - `team_stats` object[], required
      - `team_id` string, uuid
      - `team_name` string
      - `team_logo_url` string, nullable
      - `field` string
      - `label` string, nullable
      - `display_value` string, nullable
      - `fetched_at` string, date-time
    - `players` object[], required

## Other responses

- `400`: Invalid match id.

---

[API](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api.md) · [All operations](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bigballsdata/apis/big-ball-sports-api/revisions/31fb54ac414e?raw)
