World Cup 2026 — JSON API
Free, public JSON API for the FIFA World Cup 2026: matches, live scores, goals & cards, official FIFA stats, top scorers and group standings. No key, no signup.
*
📦 application/json
🕐 ~60s cache
🆓 No signup
Base URL
Every call is a simple GET. No headers, no token.
// Every response is an envelope { "ok": true, "action": "today", "updated": 1718600000, "matches": [ … ] }
Endpoints
Pass an action. Amber params are required.
| Action | Params | Returns |
|---|---|---|
today | — | Matches scheduled today |
live | — | Matches in play right now |
upcoming | limit | Upcoming fixtures |
results | limit | Finished matches with scores |
all | — | All 104 matches |
match | id | One match, full detail — goals, cards, FIFA stats |
scorers | — | Top scorers / golden-boot race |
standings | — | All 12 group tables |
group | g | One group's table (Group A) |
physical | — | Per-player running data from FIFA reports |
Quick start
Use it straight from a browser, mobile app (React Native / Flutter) or any backend.
# curl 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"
// JavaScript const res = await fetch( 'https://wcup2026.org/api/data.php?action=scorers'); const data = await res.json(); console.log(data.scorers); // [{ name, team, goals }, …]
Try it live
This box calls the real API from your browser right now.
GET ?action=scorers → top 5
Response shapes
Match object
{
"id": 12, "round": "Matchday 7", "group": "Group C",
"team1": "Brazil", "team2": "Morocco",
"team1_ar": "البرازيل", "team2_ar": "المغرب",
"flag1": "https://flagcdn.com/w80/br.png",
"status": "finished", // upcoming | live | finished
"score": [1, 1], // [team1, team2] or null
"live_minute": null,
"date": "2026-06-14", "time": "20:00", "datetime": 1718390000,
"ground": "Dallas (Arlington)"
}
?action=match&id=N adds detail
{
"ht": [0, 1], // half-time
"goals1": [{ "name":"Vinícius Júnior", "minute":"32", "penalty":true }],
"goals2": [ … ],
"cards": [{ "team":1, "minute":61, "name":"…", "type":"yellow" }],
"stats": { "possession":[…], "shots":[…], "xg":[…] }
}
Scorer
{ "name":"Lionel Messi",
"team":"Argentina",
"goals":3 }
Standings row
{ "team":"Mexico", "pts":3,
"played":1, "w":1, "d":0, "l":0,
"gf":2, "ga":0, "gd":2 }
Plain text (football.txt)
The whole tournament is also exported in the openfootball football.txt.
https://wcup2026.org/football.php # schedule + results https://wcup2026.org/football.php?results # results only https://wcup2026.org/football.php?reports # + scorers + bookings
Fair use
Read-only and free. Please cache where you can (data refreshes ~every minute). Attribution appreciated — link back to wcup2026.org. Schedule data is openfootball (Public Domain); match metrics are FIFA official data.