> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sportsapipro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Referee Match Statistics

> Per-match referee statistics derived from incident data — cards, fouls, and penalties attributable to a specific referee in a specific match

## Overview

The upstream feed exposes career-level referee aggregates only. To unblock per-game
referee reporting (cards issued, fouls recorded, penalties awarded), V2 publishes
three derived endpoints that compute referee statistics on the fly from match
incident data.

Every response includes `"source": "derived"` so you can distinguish computed
values from upstream-native fields.

## Base URL

```
https://api.sportsapipro.com/v2/football
```

All endpoints require the `x-api-key` header. See [Authentication](/authentication).

## Endpoints

### Referee statistics for a specific match

```
GET /api/referee/{refereeId}/match/{matchId}/statistics
```

Returns card and foul totals attributable to the referee in that match, plus a
per-card breakdown with player, team side, minute, and reason.

### Match officials statistics

```
GET /api/match/{matchId}/officials/statistics
```

Same payload, accessed via match ID. Useful when you already have the match
context and want the officiating breakdown without resolving the referee ID first.

### Upcoming referee assignments

```
GET /api/referee/{refereeId}/events/next/{page}
```

Returns the referee's upcoming fixture list, 30 per page (page is zero-indexed).
Pairs with the per-match statistics endpoints to power "next assignment" panels.

## Example Request

```bash theme={null}
curl -X GET "https://api.sportsapipro.com/v2/football/referee/79884/match/14023948/statistics" \
  -H "x-api-key: YOUR_API_KEY"
```

## Example Response

```json theme={null}
{
  "success": true,
  "data": {
    "referee": { "name": "Andy Madley", "id": 79884 },
    "match": {
      "id": 14023948,
      "homeTeam": "Fulham",
      "awayTeam": "Crystal Palace"
    },
    "statistics": {
      "yellowCards": 6,
      "redCards": 2,
      "yellowRedCards": 0,
      "totalCards": 8,
      "penalties": 0,
      "foulsRecorded": 2
    },
    "cards": [
      {
        "player": "Joshua King",
        "team": "home",
        "type": "yellow",
        "minute": 82,
        "reason": "Foul"
      }
    ]
  },
  "source": "derived"
}
```

## Notes

* Works for any finished match where incident data is available.
* `foulsRecorded` reflects fouls captured in the incident stream and may
  undercount free kicks that did not generate a discrete incident event.
* The `cards` array is ordered by minute and includes both yellow and red
  cards. `yellowRedCards` counts second-yellow dismissals separately from
  straight reds.
* For World Cup 2026 fixtures, the underlying `event.referee` field is
  populated upstream once FIFA publishes appointments (typically 2–3 days
  before kickoff). Once that happens, these derived endpoints work
  automatically for WC matches as well. See [FIFA World Cup 2026](/api-reference/football-v2/world-cup-2026).

## Related

* [Match endpoints](/api-reference/football-v2/match) — full match payload including the `referee` field when available.
* [FIFA World Cup 2026](/api-reference/football-v2/world-cup-2026) — convenience endpoints for the tournament.
