RESULTS_API

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 scores updated in real time
Full-time scores + half-time scores
Match events: goals, cards, subs, VAR
Possession, shots, corners by half
Filter by status: live, finished, scheduled
10-year historical archive for context

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.

ENDPOINT

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

JavaScript
// 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 timeline

What the World Cup 2026 results API returns

Selected fields from the JSON response. Full schema and example payloads are in the developer docs.

FieldTypeDescription
statusstringscheduled | live | finished | postponed | abandoned.
scoreobject{ home, away, ht_home, ht_away, et_home?, et_away?, pens_home?, pens_away? }.
eventsarrayOrdered timeline of goal | card | substitution | penalty | var.
minuteintegerMatch minute. Injury time encoded as minute+offset.
playerobjectPlayer metadata for the event (scorer, fouler, etc.).
assistobject?Assister metadata when applicable.
periodstring1h | 2h | et1 | et2 | pens.
shootoutarray?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.