> ## 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.

# FIFA World Cup 2026

> Dedicated convenience endpoints for the FIFA World Cup 2026: 48 teams, 12 groups, 104 matches across USA, Canada, and Mexico

## 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)**.

To make integration easy, V2 exposes a set of convenience endpoints that hardcode the correct `tournamentId` and `seasonId` so you don't have to discover them.

## Base URL

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

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

<Info>
  **Underlying canonical IDs** — `tournamentId = 16`, `seasonId = 58210`. These resolve to the exact same data as the convenience endpoints below. Store `uniqueTournament.id = 16` if you need a long-term reference; see [Canonical IDs](/api-reference/football-v2/canonical-ids).
</Info>

## Convenience Endpoints

| Endpoint                                       | Description                                                 |
| ---------------------------------------------- | ----------------------------------------------------------- |
| `GET /api/world-cup-2026`                      | Tournament info (name, category, logo)                      |
| `GET /api/world-cup-2026/info`                 | Season info (host countries, 48-team format)                |
| `GET /api/world-cup-2026/teams`                | All 48 qualified teams (IDs, names, short names, logos)     |
| `GET /api/world-cup-2026/groups`               | All 12 groups with current W/D/L/Pts standings              |
| `GET /api/world-cup-2026/matches?page=0`       | Upcoming matches, 30 per page                               |
| `GET /api/world-cup-2026/matches/round/:round` | Matches filtered by round ID (see table below)              |
| `GET /api/world-cup-2026/rounds`               | Full round structure (group matchdays + knockout stages)    |
| `GET /api/world-cup-2026/knockout`             | Bracket / draw tree (populates after group stage concludes) |

<Note>Responses follow the standard V2 schema. Match kickoff times use Unix epoch (`startTimestamp`).</Note>

## Round IDs

Use these with `/api/world-cup-2026/matches/round/:round`.

| ID | Round                    |
| -- | ------------------------ |
| 1  | Group Stage — Matchday 1 |
| 2  | Group Stage — Matchday 2 |
| 3  | Group Stage — Matchday 3 |
| 6  | Round of 32              |
| 25 | Round of 16              |
| 27 | Quarterfinals            |
| 28 | Semifinals               |
| 50 | Match for 3rd Place      |
| 29 | Final                    |

## Groups

| Group | Teams                                            |
| ----- | ------------------------------------------------ |
| A     | Mexico, South Africa, South Korea, Czechia       |
| B     | Canada, Bosnia & Herzegovina, Qatar, Switzerland |
| C     | Brazil, Morocco, Haiti, Scotland                 |
| D     | USA, Paraguay, Australia, Türkiye                |
| E     | Germany, Curaçao, Côte d'Ivoire, Ecuador         |
| F     | Netherlands, Japan, Sweden, Tunisia              |
| G     | Belgium, Egypt, Iran, New Zealand                |
| H     | Spain, Cabo Verde, Saudi Arabia, Uruguay         |
| I     | France, Senegal, Iraq, Norway                    |
| J     | Argentina, Algeria, Austria, Jordan              |
| K     | Portugal, DR Congo, Uzbekistan, Colombia         |
| L     | England, Croatia, Ghana, Panama                  |

## Example Request

```bash theme={null}
curl -X GET "https://api.sportsapipro.com/v2/football/world-cup-2026/groups" \
  -H "x-api-key: YOUR_API_KEY"
```

## Managers & Venues

Manager (head coach), team home venue, and per-match venue (with coordinates) are all reachable from the World Cup data — you just need to know which endpoint exposes which field.

| Data                           | Endpoint                          | Field                      |
| ------------------------------ | --------------------------------- | -------------------------- |
| Team list (IDs only)           | `GET /api/world-cup-2026/teams`   | 48 teams, no manager/venue |
| Manager (name, country, id)    | `GET /api/teams/{teamId}`         | `data.team.manager`        |
| Team home venue                | `GET /api/teams/{teamId}`         | `data.team.venue`          |
| Match venue (with coordinates) | `GET /api/world-cup-2026/matches` | `events[].venue`           |

<Info>
  `/api/world-cup-2026/teams` is intentionally compact (IDs, names, short names, logos). To hydrate manager and home venue, fan out one `/api/teams/{id}` call per team — a single call returns both in one shot.
</Info>

### Team detail: manager + home venue

```bash theme={null}
curl -X GET "https://api.sportsapipro.com/v2/football/teams/4819" \
  -H "x-api-key: YOUR_API_KEY"
```

```json theme={null}
{
  "data": {
    "team": {
      "name": "Brazil",
      "manager": {
        "name": "Carlo Ancelotti",
        "shortName": "C. Ancelotti",
        "country": { "name": "Italy", "alpha2": "IT" },
        "id": 52965
      },
      "venue": {
        "name": "Estádio do Maracanã",
        "capacity": 78838,
        "city": { "name": "Rio de Janeiro" }
      }
    }
  }
}
```

### Match venue (embedded on every event)

No extra request needed — every entry in `/api/world-cup-2026/matches` already includes its venue, complete with capacity, city, country, and coordinates.

```json theme={null}
{
  "venue": {
    "name": "MetLife Stadium",
    "capacity": 82500,
    "city": { "name": "East Rutherford" },
    "country": { "name": "USA" },
    "venueCoordinates": { "latitude": 40.81, "longitude": -74.07 },
    "stadium": { "name": "MetLife Stadium", "capacity": 82500 }
  }
}
```

### Recommended workflow

1. `GET /api/world-cup-2026/teams` once to enumerate the 48 team IDs.
2. Fan out `GET /api/teams/{id}` to hydrate manager + home venue per team (cache aggressively — these rarely change mid-tournament).
3. For per-match venue (kickoff stadium, coordinates, attendance hooks) read `events[].venue` directly off `/api/world-cup-2026/matches` — no second call required.

## Squad & jersey data

<Warning>
  `GET /api/teams/{teamId}/players` returns the team's **broader roster pool** (extended call-ups, recent friendlies, youth/U23 affiliations) — **not** the registered FIFA 26-man tournament squad. Until FIFA squad registration closes (\~7 days before kick-off on June 11 2026), jersey numbers on this endpoint will collide across players because they reflect multiple historical assignments. This is expected upstream behaviour, not a bug.
</Warning>

For clean, FIFA-unique jersey numbers during the tournament, use match-level lineups:

| Need                                | Endpoint                                     | Notes                                                                                        |
| ----------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------- |
| Confirmed jerseys, starters + bench | `GET /api/match/{matchId}/lineups`           | Populated 30–60 min before kick-off. Authoritative for jersey numbers during the tournament. |
| Pre-match prediction                | `GET /api/match/{matchId}/predicted-lineups` | AI-predicted XI before official lineups drop.                                                |
| Match list to iterate               | `GET /api/world-cup-2026/matches`            | Enumerate the 104 fixtures, then loop the two endpoints above.                               |

Once each federation submits its official 26-man squad to FIFA, `/api/teams/{teamId}/players` will reflect the locked tournament squad with unique jerseys 1–26. Until then, treat match lineups as the source of truth for jersey assignments.

## Related

* [Tournament endpoints](/api-reference/football-v2/tournament) — generic season-scoped endpoints work for the World Cup too (use `tournamentId=16`, `seasonId=58210`).
* [Canonical IDs](/api-reference/football-v2/canonical-ids) — why you should store `uniqueTournament.id = 16` rather than per-season IDs.
* [Referee match statistics](/api-reference/football-v2/referee-match-statistics) — derived per-match cards/fouls/penalties for any assigned referee, ready as soon as FIFA publishes appointments.
* [WebSocket](/api-reference/football-v2/websocket) — real-time score updates during matches.
