2026 FIFA World Cup Fixtures API
Every fixture in the 2026 FIFA World Cup - all 104 matches across 12 groups and 7 knockout stages - delivered as clean JSON via REST. Includes kickoff times in UTC, venues, host cities, and the team or qualification placeholder for each side.
Complete schedule from day one
The fixtures endpoint returns the full schedule the moment the draw is announced. Use it to populate calendars, build match-day reminders, or seed your prediction game with the full bracket from kickoff to the final.
Knockout placeholders
Knockout fixtures are returned with positional placeholders (e.g. "Winner Group A" or "Winner Match 73") until the group stage resolves. The API automatically updates them with the qualified team as soon as results are confirmed.
Filter by group, stage, team, date, or venue
Query parameters cover every realistic use case: group=A through L, stage=group-stage|round-of-32|round-of-16|quarter-finals|semi-finals|third-place|final, team=<id>, date=<YYYY-MM-DD>, date_from/date_to, and host_city=<slug>. Combine filters server-side instead of pulling the whole schedule and filtering client-side.
Built for bracket apps and prediction games
Every fixture exposes match_number, stage, group, and qualification_path so you can render a complete 48-team bracket from a single API call. Update fixture statuses live as the group stage resolves and knockout slots are filled.
/football/matches
Use competition_id={COMPETITION_ID} to scope this endpoint to the 2026 FIFA World Cup. The same endpoint works for 1,195 other competitions.
// Fetch all 104 World Cup 2026 fixtures
const response = await fetch(
'https://api.thestatsapi.com/api/football/matches?competition_id={COMPETITION_ID}&season=2026&per_page=104',
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const { data } = await response.json();
// data is an array of 104 fixture objectsWhat the World Cup 2026 fixtures API returns
Selected fields from the JSON response. Full schema and example payloads are in the developer docs.
| Field | Type | Description |
|---|---|---|
| match_number | integer | FIFA fixture number (1–104). |
| kickoff_utc | ISO 8601 | UTC kickoff time. Convert client-side as needed. |
| stage | string | group-stage | round-of-32 | round-of-16 | quarter-finals | semi-finals | third-place | final. |
| group | string? | A–L for group-stage fixtures; null for knockouts. |
| home / away | object | { type: "team" | "placeholder", slug?, label }. Placeholder strings are filled in as the bracket resolves. |
| host_city_slug | string | Slug of the host city (one of 16). |
| stadium | string | Official venue name. |
| status | string | scheduled | live | finished | postponed. |
What developers build with the World Cup 2026 fixtures API
Bracket challenge apps
Render the full 48-team bracket and accept predictions for every match.
Calendar & reminder bots
Subscribe users to UTC kickoff reminders in Telegram, Slack, or Discord.
Match-day landing pages
Build SEO-friendly fixture detail pages from the matches endpoint alone.
Live tickers & widgets
Combine fixtures + lineups + events to power broadcaster-grade match centre experiences.
Fantasy game seeding
Seed your fantasy gameweeks with the full World Cup schedule before kickoff.
Travel & ticket sites
Cross-reference fixtures with host city pages to surface match-day travel packages.
Implementation notes
- Cache the full fixture list and refresh once per hour during the tournament — kickoff times rarely change after the draw.
- Treat home / away as ordered slots, not always literal home advantage; in knockouts these are positional only.
- Render UTC client-side using the user's browser timezone for a localised experience without a server round-trip.
- When the group stage finishes, refetch knockout fixtures to pick up the resolved teams.
- Use webhook subscriptions if you need push notifications instead of polling the matches endpoint.
Related World Cup data
Odds API
Bet365, Pinnacle, Betfair, and Kambi odds for every World Cup fixture.
Standings
Live group standings and tiebreaker calculations.
Results
Final scores and match events for completed fixtures.
Predictions
Win probability models from historical data.
Top scorers
Golden Boot tracker and player goal counts.
Squads
All 48 team squads, captains, and managers.
Frequently Asked Questions
How many matches are in the 2026 World Cup?
104 matches total: 72 group-stage matches across 12 groups, plus 32 knockout matches (16 Round of 32, 8 Round of 16, 4 quarter-finals, 2 semi-finals, 1 third-place playoff, and the Final).
When do World Cup 2026 fixtures start and end?
The tournament kicks off on June 11, 2026 at the Estadio Azteca in Mexico City. The Final is on July 19, 2026 at MetLife Stadium in New York/New Jersey. The tournament window spans 39 days.
How do I get only group stage fixtures?
Filter the matches endpoint by stage=group-stage or by date range June 11–27, 2026. You can also iterate per-group by filtering by group=A through L.
Are knockout fixtures available before the group stage finishes?
Yes — knockout fixtures are pre-seeded with the positional placeholder (e.g. "Winner Group A"). The team is filled in automatically once each group is decided.
How fresh is fixture data when kickoff times change?
Schedule changes (postponements, kickoff-time shifts, venue swaps) propagate to the API within minutes of the official FIFA announcement.
What timezone are kickoff times in?
All kickoff timestamps are returned in UTC (ISO 8601). Convert to any local timezone client-side, or use our free /tools/match-kickoff-time-converter to compare across cities.
Can I get fixtures as iCalendar (.ics) for a personal calendar?
Yes — append ?format=ics to the matches endpoint to receive an .ics feed you can subscribe to in Google Calendar, Apple Calendar, or Outlook.
Does the API include FIFA broadcast partner information?
Per-territory broadcast partners are returned alongside the fixture when available. Coverage varies by FIFA licensing agreements per region.
Start building with the World Cup 2026 API
7-day free trial. All endpoints included on every plan.