Skip to main content

Overview

The FIFA World Cup 2026 runs across the United States, Canada, and Mexico from June 11, 2026 (Mexico vs South Africa) through the Final. It is the first 48-team edition, with 104 matches played across 12 groups (A–L). V1 ships a dedicated set of World Cup convenience endpoints that hardcode the correct competition filter so you don’t have to look up IDs. They combine match data, group standings, knockout brackets, fan prediction polls, and tournament news in single calls.

Base URL

https://api.sportsapipro.com/v1/football
All endpoints require the x-api-key header. See Authentication.
Underlying canonical IDcompetitionId = 5930. These convenience routes resolve to the same data as the generic /api/v1/competition/5930/... endpoints; they’re shorter and pre-scoped to the tournament.

Convenience Endpoints

EndpointDescription
GET /api/v1/world-cupCombined overview: games + group standings + knockout brackets (parallel fetch)
GET /api/v1/world-cup/matchesAll World Cup matches (scheduled, live, and completed)
GET /api/v1/world-cup/resultsCompleted matches only
GET /api/v1/world-cup/standingsAll 12 group tables (optional ?seasonNum=25)
GET /api/v1/world-cup/bracketsKnockout bracket; populates as the tournament progresses
GET /api/v1/world-cup/statsTop scorers, assists, cards, and team statistics
GET /api/v1/world-cup/newsTournament news articles
GET /api/v1/world-cup/oddsFan prediction polls (winner, totals) for upcoming matches
GET /api/v1/world-cup/insightsCombined predictions + tournament stats overview
GET /api/v1/world-cup/historyPast season standings and tournament history
GET /api/v1/world-cup/transfersPlayer transfers related to World Cup teams
GET /api/v1/world-cup/game/{gameId}Full match detail (events, lineups, venue, officials)
GET /api/v1/world-cup/game/{gameId}/eventsGoals, cards, substitutions
GET /api/v1/world-cup/game/{gameId}/lineupsStarting XI + bench for both teams
GET /api/v1/world-cup/game/{gameId}/statsPer-player match statistics
GET /api/v1/world-cup/game/{gameId}/predictionsFan voting predictions
GET /api/v1/world-cup/game/{gameId}/playbyplayLive commentary feed
Responses follow the standard V1 schema. Match kickoff times are ISO 8601 strings (startTime). The overview endpoint returns partial data if a sub-query is briefly unavailable.

Groups

GroupTeams
AMexico, South Africa, South Korea, Czechia
BCanada, Bosnia & Herzegovina, Qatar, Switzerland
CBrazil, Morocco, Haiti, Scotland
DUSA, Paraguay, Australia, Türkiye
EGermany, Curaçao, Côte d’Ivoire, Ecuador
FNetherlands, Japan, Sweden, Tunisia
GBelgium, Egypt, Iran, New Zealand
HSpain, Cabo Verde, Saudi Arabia, Uruguay
IFrance, Senegal, Iraq, Norway
JArgentina, Algeria, Austria, Jordan
KPortugal, DR Congo, Uzbekistan, Colombia
LEngland, Croatia, Ghana, Panama

Example: Matches

curl -X GET "https://api.sportsapipro.com/v1/world-cup/matches" \
  -H "x-api-key: YOUR_API_KEY"
{
  "success": true,
  "type": "world-cup-matches",
  "competitionId": 5930,
  "data": {
    "games": [
      {
        "id": 4697696,
        "competitionId": 5930,
        "startTime": "2026-06-12T02:00:00Z",
        "statusGroup": 4,
        "statusText": "Ended",
        "homeCompetitor": { "id": 5040, "name": "South Korea", "score": 2 },
        "awayCompetitor": { "id": 2383, "name": "Czechia", "score": 1 },
        "venue": { "name": "MetLife Stadium", "city": "East Rutherford" }
      }
    ],
    "competitions": [],
    "countries": []
  }
}

Example: Standings

{
  "success": true,
  "type": "world-cup-standings",
  "data": {
    "standings": [
      {
        "competitionId": 5930,
        "seasonNum": 25,
        "rows": [
          {
            "position": 1,
            "competitor": { "id": 5040, "name": "South Korea" },
            "gamePlayed": 1,
            "wins": 1,
            "draws": 0,
            "losses": 0,
            "goalsFor": 2,
            "goalsAgainst": 1,
            "points": 3,
            "group": { "name": "Group H" }
          }
        ]
      }
    ]
  }
}

Example: Fan Prediction Odds

{
  "success": true,
  "type": "world-cup-odds",
  "data": {
    "games": [
      {
        "gameId": 4697699,
        "homeTeam": "Canada",
        "awayTeam": "Bosnia & Herzegovina",
        "startTime": "2026-06-12T19:00:00Z",
        "statusText": "Scheduled",
        "predictions": {
          "predictions": [
            {
              "title": "Who Will Win?",
              "totalVotes": 65237,
              "options": [
                { "name": "Canada", "vote": { "percentage": 73 } },
                { "name": "Draw", "vote": { "percentage": 11 } },
                { "name": "Bosnia & Herzegovina", "vote": { "percentage": 16 } }
              ]
            },
            {
              "title": "Total Goals In Match (2.5)",
              "options": [
                { "name": "Under", "vote": { "percentage": 48 } },
                { "name": "Over", "vote": { "percentage": 52 } }
              ]
            }
          ]
        }
      }
    ],
    "totalGames": 1
  }
}

Integration Tips

  1. Landing page — call /api/v1/world-cup once for a tournament hub (games + standings + brackets in parallel).
  2. Live ticker — filter /api/v1/world-cup/matches by statusGroup === 3 (in-progress).
  3. Group tables — render /api/v1/world-cup/standings; each group is a rows array sorted by position.
  4. Fan engagement — display /api/v1/world-cup/odds vote percentages as progress bars.
  5. Match detail/api/v1/world-cup/game/{id} returns venue, lineups, events, and live commentary.
  6. Real-time updates — pair REST data with the V1 WebSocket for sub-second score deltas during matches.

Managers & Venues

V1 exposes full venue detail on game detail, and a partial coach signal on lineups (ID only, no name).

Venue (full detail with attendance)

GET /api/v1/game/{gameId} returns a complete venue object — including live attendance once the gate count is published.
{
  "venue": {
    "id": 8248,
    "name": "Estadio AKRON (Guadalajara)",
    "shortName": "estadio-akron-(guadalajara)",
    "capacity": 49850,
    "attendance": 44985
  }
}

Manager / Coach (partial — ID only)

Coaches surface in GET /api/v1/game/{gameId}/lineups as the last entry in each team’s members[] array. The marker is formation.name === "Coach" with status: 4 and statusText: "Management".
{
  "status": 4,
  "statusText": "Management",
  "position": { "id": 0, "name": "Management" },
  "formation": { "id": 16, "name": "Coach", "shortName": "Coach" },
  "id": 515052
}
V1 does not return a coach name — only an athlete id. The /api/v1/competitor/{id} endpoint also does not expose a coach field. If you need the coach’s name, country, or career, use the V2 team detail endpoint (see recommendation below).

Cross-version recommendation

DataBest versionEndpointField
Manager (name, country, id)V2GET /api/teams/{teamId}data.team.manager
Team home venueV2GET /api/teams/{teamId}data.team.venue
Match venue (with coordinates)V2GET /api/world-cup-2026/matchesevents[].venue
Match venue (with live attendance)V1GET /api/v1/game/{gameId}venue
Coach ID onlyV1GET /api/v1/game/{gameId}/lineupsmembers[] where formation.name === "Coach"
V2’s /api/teams/{teamId} is the single richest call: manager (with full name) plus home venue (with coordinates and capacity) in one response. See V2 World Cup — Managers & Venues.
Last modified on June 29, 2026