⚽ World Cup 2026

July 3, 2026 · View on GitHub

A free, public, read-only JSON API for the FIFA World Cup 2026 — matches, results, live scores, match details (goals, cards, official FIFA stats), top scorers, group standings and per‑player physical data.

  • No API key, no signup, no rate sign‑up — just call it.
  • CORS enabled (Access-Control-Allow-Origin: *) → use it directly from a browser, mobile app (React Native / Flutter), or any backend.
  • ✅ Responses are application/json; charset=utf-8, cached ~60s.
  • 📊 Data source: openfootball (schedule, Public Domain) + official FIFA post‑match reports + live results.

Live site: wcup2026.org · Open data also in football.txt format.


Base URL

https://wcup2026.org/api/data.php?action=<ACTION>

Every response is an envelope:

{ "ok": true, "action": "today", "updated": 1718600000, "matches": [ ... ] }

ok is false with an error field on bad requests (unknown_action, not_found).


Endpoints

ActionParamsReturns
todaymatches scheduled today (matches)
livematches in play right now (matches)
upcomingupcoming fixtures (matches)
resultsfinished matches with scores (matches)
allall 104 matches (matches)
matchidone match, full detail (match) — score, goals, cards, FIFA stats
scorerstop scorers / golden‑boot race (scorers)
standingsall 12 group tables (standings)
groupg (e.g. Group A)one group's table (standings)
physicalper‑player running data from FIFA reports (players)

Examples

curl "https://wcup2026.org/api/data.php?action=results"
curl "https://wcup2026.org/api/data.php?action=match&id=12"
curl "https://wcup2026.org/api/data.php?action=scorers"
curl "https://wcup2026.org/api/data.php?action=group&g=Group%20A"
// React Native / browser — no backend needed
const res  = await fetch('https://wcup2026.org/api/data.php?action=scorers');
const data = await res.json();
console.log(data.scorers); // [{ name, team, goals }, ...]

Response shapes

Match object (matches[] and match)

{
  "id": 12,
  "round": "Matchday 7",
  "group": "Group C",
  "team1": "Brazil",          "team2": "Morocco",
  "team1_ar": "البرازيل",      "team2_ar": "المغرب",
  "flag1": "https://flagcdn.com/w80/br.png",
  "flag2": "https://flagcdn.com/w80/ma.png",
  "status": "finished",        // upcoming | live | finished
  "score": [1, 1],             // [team1, team2] full-time (incl. extra time), or null
  "penalties": [4, 2],         // shoot-out [team1, team2] — only if decided on penalties, else null
  "winner": "team1",           // team1 | team2 | draw | null (not finished)
  "live_minute": null,
  "date": "2026-06-14", "time": "20:00", "datetime": 1718390000,
  "ground": "Dallas (Arlington)"
}

action=match&id=N adds richer detail:

{
  "ht": [0, 1],                                   // half-time score
  "goals1": [ { "name": "Vinícius Júnior", "minute": "32", "penalty": true } ],
  "goals2": [ ... ],                              // scorers per team (+ penalty/og flags)
  "cards":  [ { "team": 1, "minute": 61, "name": "...", "type": "yellow" } ],
  "stats":  { "possession": [..], "shots": [..], "xg": [..], "line_breaks": [..], ... }
}

Scorer object (scorers[])

{ "name": "Lionel Messi", "team": "Argentina", "goals": 3 }

Standings row (standings, grouped by Group AGroup L)

{ "team": "Mexico", "pts": 3, "gd": 2, "played": 1, "w": 1, "d": 0, "l": 0, "gf": 2, "ga": 0 }

Physical player (players[])

{ "name": "...", "team": "...", "num": 8, "m": 1,
  "dist": 11700, "sprints": 44, "hsr": 176, "top": 32.8, "photo": "https://..." }

📄 Plain text (football.txt)

The whole tournament is also exported in the openfootball football.txt format (human‑ and machine‑readable plain text):

https://wcup2026.org/football.php            # schedule + results
https://wcup2026.org/football.php?results    # results only
https://wcup2026.org/football.php?reports    # results + scorers + bookings

🚀 Built with our API

Apps & projects developers have built using this API:

Built something with our API? Tell us and we'll feature it here — info@wcup2026.org (or open a discussion / issue on this repo).


Notes & fair use

  • Read‑only and free. Please cache where you can (data updates roughly every minute).
  • Attribution appreciated: link back to wcup2026.org.
  • Schedule data is openfootball (Public Domain); FIFA post‑match metrics are FIFA's official data, presented here.
  • This is a community project — built with ❤️ for football. Questions / ideas: info@wcup2026.org.