Skip to main content

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.

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

curl -X GET "https://api.sportsapipro.com/v2/football/referee/79884/match/14023948/statistics" \
  -H "x-api-key: YOUR_API_KEY"

Example Response

{
  "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.
Last modified on June 29, 2026