Skip to main content
Competitions are the league-level container. From a competition ID you can fetch standings, results, upcoming games, brackets, top scorers, transfers, and news.

Endpoints

EndpointReturns
GET /api/v1/competitions?sportId={id}All competitions for a sport. Optionally &countryId={id}.
GET /api/v1/{sport}/competitionsActive competitions for one sport.
GET /api/v1/{sport}/countriesCountries that host competitions in this sport.
GET /api/v1/competition/{id}/standingsLeague table. ?seasonNum={num} for historical seasons.
GET /api/v1/competition/{id}/resultsRecently completed games (paginated).
GET /api/v1/competition/{id}/gamesUpcoming and recent games.
GET /api/v1/competition/{id}/statsTop scorers, assists, defensive stats (player + team).
GET /api/v1/competition/{id}/bracketsKnockout / playoff bracket tree.
GET /api/v1/competition/{id}/transfersPlayer transfer feed for the competition.
GET /api/v1/competition/{id}/newsCompetition-tagged news.

Standings (real sample)

curl -H "x-api-key: YOUR_API_KEY" \
  https://v1.football.sportsapipro.com/api/v1/competition/11/standings
{
  "standings": [
    {
      "competitionId": 11,
      "seasonNum": 98,
      "stageNum": 1,
      "isCurrentStage": true,
      "displayName": "LaLiga",
      "headers": [
        { "key": "gamePlayed", "name": "P",   "isMajor": true },
        { "key": "goals",      "name": "F:A", "isMajor": true },
        { "key": "ratio",      "name": "+/-", "isMajor": true },
        { "key": "points",     "name": "PTS", "isMajor": true },
        { "key": "gamesWon",   "name": "W" },
        { "key": "gamesEven",  "name": "D" },
        { "key": "gamesLost",  "name": "L" },
        { "key": "recentForm", "name": "Form" }
      ],
      "rows": [
        {
          "competitor": {
            "id": 132, "name": "FC Barcelona", "shortName": "Barcelona",
            "symbolicName": "BAR", "color": "#282E60"
          },
          "position": 1,
          "gamePlayed": 29, "gamesWon": 24, "gamesEven": 1, "gamesLost": 4,
          "for": 78, "against": 28, "ratio": 50.0, "points": 73,
          "recentForm": [1, 1, 1, 1, 1]
        }
      ]
    }
  ]
}
recentForm[] values: 1 win, 0 draw, -1 loss.

Historical seasons

Append ?seasonNum={num} to standings, results, and stats. Discover season numbers from the current standings[].seasonNum and walk back.
curl -H "x-api-key: YOUR_API_KEY" \
  "https://v1.football.sportsapipro.com/api/v1/competition/11/standings?seasonNum=97"

Stats — top scorers and team stats

curl -H "x-api-key: YOUR_API_KEY" \
  https://v1.football.sportsapipro.com/api/v1/competition/11/stats
Returns two arrays under data.stats:
  • athletesStats[]16 player categories (Goals, xG, Assists, xA, Shots on Target, Clean Sheets, Saves, …).
  • competitorsStats[]9 team categories (Goals Scored, Goals Conceded, Possession %, Pass Accuracy %, …).
See Sports & Format for the full category ID table.

Brackets (knockout)

curl -H "x-api-key: YOUR_API_KEY" \
  https://v1.football.sportsapipro.com/api/v1/competition/572/brackets
{
  "brackets": [
    {
      "num": 73,
      "name": "2025/2026",
      "title": "UEFA Champions League 2025/2026 Bracket",
      "competitionId": 572,
      "stages": [
        { "num": 1, "name": "League Phase", "stageType": 1, "hasStandings": true },
        {
          "num": 2,
          "name": "Playoffs",
          "groups": [
            {
              "num": 1, "name": "Group 1",
              "participants": [
                { "name": "Monaco", "competitorId": 471, "symbolicName": "Mon", "isQualified": false },
                { "name": "PSG",    "competitorId": 480, "symbolicName": "PSG", "isQualified": true }
              ],
              "games": [
                { "num": 1, "startTime": "2026-02-17T20:00:00+00:00", "gameId": 4663204 }
              ]
            }
          ]
        }
      ]
    }
  ]
}
Walk brackets[].stages[].groups[].games[].gameId to drive a knockout view.

Transfers

{
  "transfers": [
    {
      "id": 358568,
      "type": 6,
      "origin": 888, "target": 131,
      "time": "2026-06-12T10:41:31.586Z",
      "price": "Appointed",
      "athleteId": 46116,
      "statusId": 2, "statusName": "Confirmed",
      "isArrival": false, "isDeparture": true
    }
  ]
}
type: 1 = Loan, 2 = Permanent, 3 = End of loan, 6 = Staff appointment.
SportIDName
Football11LaLiga
Football7Premier League
Football17Serie A
Football23Ligue 1
Football35Bundesliga
Football572UEFA Champions League
Football573UEFA Europa League
Football5930FIFA World Cup 2026
Basketball53NBA
Hockey110NHL
American Football55NFL
Baseball113MLB
For a fully built-out World Cup integration with hardcoded IDs, see V1 World Cup 2026.
  • Teams — drill from a standings row into team fixtures.
  • Head-to-Head — compare two teams.
  • News — competition-scoped news.
Last modified on June 12, 2026