2026 FIFA World Cup Results API
Live scores, full-time results, and complete match event timelines for every 2026 FIFA World Cup fixture. Get goals, cards, substitutions, VAR decisions, and possession by half in one consistent JSON shape.
Live and final results in one endpoint
The matches endpoint returns scheduled, in-play, and finished matches. Use the status filter to fetch just live matches for ticker apps, or just finished matches for archives.
Match event timelines
Every finished match returns an ordered event timeline: goals (scorer + assist), yellow and red cards, substitutions, penalties, own-goals, and VAR decisions. Useful for building match-centre views and notification systems.
Half-time and possession breakdowns
Half-time scores, shots on/off target by half, corners by half, possession %, and aerial duels are returned in the match summary object alongside the result.
Knockout-stage extras
Extra-time goals are tagged with period=et1/et2. Penalty shoot-outs return shooter, order, outcome, and goalkeeper, so you can render a full shootout view.
/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.
// Live and finished World Cup 2026 results
const response = await fetch(
'https://api.thestatsapi.com/api/football/matches?competition_id={COMPETITION_ID}&status=finished',
{ headers: { 'Authorization': 'Bearer YOUR_API_KEY' } }
);
const { data } = await response.json();
// Each match includes final score and full event timelineWhat the World Cup 2026 results API returns
Selected fields from the JSON response. Full schema and example payloads are in the developer docs.
| Field | Type | Description |
|---|---|---|
| status | string | scheduled | live | finished | postponed | abandoned. |
| score | object | { home, away, ht_home, ht_away, et_home?, et_away?, pens_home?, pens_away? }. |
| events | array | Ordered timeline of goal | card | substitution | penalty | var. |
| minute | integer | Match minute. Injury time encoded as minute+offset. |
| player | object | Player metadata for the event (scorer, fouler, etc.). |
| assist | object? | Assister metadata when applicable. |
| period | string | 1h | 2h | et1 | et2 | pens. |
| shootout | array? | Per-kick outcome for knockout penalty shootouts. |
What developers build with the World Cup 2026 results API
Live tickers & notification bots
Push goals, cards, and full-time results to Slack, Discord, or mobile push channels.
Match-centre dashboards
Render a full match timeline, lineups, stats, and possession in one view.
News site auto-publishing
Trigger article-template auto-publish when a match ends, using events + xG.
Voice assistant skills
"Hey Siri, what was the World Cup score?" — back the skill with /matches?status=live.
Implementation notes
- Use webhook subscriptions for live events to avoid burning your rate limit on hot paths.
- Render injury-time minutes correctly: 45+2 means minute=45, offset=2.
- Treat the events array as append-only — VAR-rescinded goals are kept and flagged, not removed.
- Pull the full match summary on the final whistle for an authoritative snapshot.
Frequently Asked Questions
How fast do live World Cup scores update?
Live scores typically update within seconds of an event in our source feed. The API returns the latest known state on every request — there is no polling delay you have to account for client-side.
Can I get historical World Cup results?
Yes. Historical match results for every FIFA World Cup edition from 1930 onward are accessible via the same matches endpoint with the relevant season parameter (e.g. season=2022 for the previous edition).
What events are returned per match?
Goals (with scorer and assist), yellow and red cards, substitutions, penalties, own-goals, and VAR decisions. The timeline is ordered by minute and includes injury time (+1, +2, etc.).
Are penalty shootouts included?
Yes. Knockout-stage penalty shootouts are returned with shooter-by-shooter outcomes and goalkeeper details in the events timeline.
How do I subscribe to live score updates?
Two options: poll /matches?status=live every 5–10 seconds, or subscribe to the match.events webhook to receive a push when any event happens.
Does the API return xG (expected goals) for finished matches?
Yes. Total team xG and per-shot xG are returned on the match summary object. See /world-cup/xg for the dedicated xG endpoint.
How are forfeits or abandoned matches handled?
Match status returns abandoned or forfeit with the official FIFA result if one is declared. Events up to the point of abandonment are preserved in the timeline.
Start building with the World Cup 2026 API
7-day free trial. All endpoints included on every plan.