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 ID — competitionId = 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
| Endpoint | Description |
|---|
GET /api/v1/world-cup | Combined overview: games + group standings + knockout brackets (parallel fetch) |
GET /api/v1/world-cup/matches | All World Cup matches (scheduled, live, and completed) |
GET /api/v1/world-cup/results | Completed matches only |
GET /api/v1/world-cup/standings | All 12 group tables (optional ?seasonNum=25) |
GET /api/v1/world-cup/brackets | Knockout bracket; populates as the tournament progresses |
GET /api/v1/world-cup/stats | Top scorers, assists, cards, and team statistics |
GET /api/v1/world-cup/news | Tournament news articles |
GET /api/v1/world-cup/odds | Fan prediction polls (winner, totals) for upcoming matches |
GET /api/v1/world-cup/insights | Combined predictions + tournament stats overview |
GET /api/v1/world-cup/history | Past season standings and tournament history |
GET /api/v1/world-cup/transfers | Player 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}/events | Goals, cards, substitutions |
GET /api/v1/world-cup/game/{gameId}/lineups | Starting XI + bench for both teams |
GET /api/v1/world-cup/game/{gameId}/stats | Per-player match statistics |
GET /api/v1/world-cup/game/{gameId}/predictions | Fan voting predictions |
GET /api/v1/world-cup/game/{gameId}/playbyplay | Live 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
| 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: 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
- Landing page — call
/api/v1/world-cup once for a tournament hub (games + standings + brackets in parallel).
- Live ticker — filter
/api/v1/world-cup/matches by statusGroup === 3 (in-progress).
- Group tables — render
/api/v1/world-cup/standings; each group is a rows array sorted by position.
- Fan engagement — display
/api/v1/world-cup/odds vote percentages as progress bars.
- Match detail —
/api/v1/world-cup/game/{id} returns venue, lineups, events, and live commentary.
- 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
| Data | Best version | Endpoint | Field |
|---|
| Manager (name, country, id) | V2 | GET /api/teams/{teamId} | data.team.manager |
| Team home venue | V2 | GET /api/teams/{teamId} | data.team.venue |
| Match venue (with coordinates) | V2 | GET /api/world-cup-2026/matches | events[].venue |
| Match venue (with live attendance) | V1 | GET /api/v1/game/{gameId} | venue |
| Coach ID only | V1 | GET /api/v1/game/{gameId}/lineups | members[] 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.