Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

238 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What's news?

thanks to Simon Porritt for highlighting and putting together a simple javascript wrapper API around the worldcup.json datatsets file for easier queries (e.g. getMatches(year: number), getSquads(year: number), etc) and visualizations, see https://github.com/visuallyjs/open-football-worldcup-datasource.

ps: the idea and plan here is to add more (and fill-in the missing) match details in the upcoming weeks (that is, xi starter line-ups, bookings (yellow, red, yellow-red cards), substitutions, etc). if you have any request or comments on the .json format, let us know. cheers.


Congrats to Spain! World Cup champs 2026! Special thanks to Dr. Chester Ismay (maker of World Cup Viewer) for the upstream (auto-filler) updates getting close to post-match live score updates here
and thanks for your updates & corrections (old school) by hand. See you in 2030.
Or maybe at the Euro 2028, see 2028/euro.json @ euro.json.

worldcup.json

Free open public domain football data for the world cups (national teams and clubs) in the JSON (JavaScript Object Notation) data interchange format incl. Canada/USA/Mexico 2026, USA 2025, Qatar 2022, Russia 2018 and more - No API key required ;-).

Tip

You can use the fbtxt2json command-line tool to convert any file in the Football.TXT format to JSON (or use fbtxt2csv to convert to CSV).

National Teams

Example - World Cup in Canada/USA/Mexico 2026 Match Schedule (Fixtures and Results) - 2026/worldcup.json:

{
 "name": "World Cup 2026",
 "matches": [
   {"round": "Matchday 1",
    "date": "2026-06-11",
    "time": "13:00 UTC-6",
    "team1": "Mexico",
    "team2": "South Africa",
    "score": {"ft": [2, 0], "ht": [1, 0]},
    "goals1": [{"name": "Julián Quiñones", "minute": "9"},
               {"name": "Raúl Jiménez", "minute": "67"}],
    "goals2": [],
    "group": "Group A",
    "ground": "Mexico City"
   },
   {"round": "Matchday 1",
    "date": "2026-06-11",
    "time": "20:00 UTC-6",
    "team1": "South Korea",
    "team2": "Czech Republic",
    "score": {"ft": [2, 1], "ht": [0, 0]},
    "goals1": [{"name": "Hwang In-Beom", "minute": "67"},
               {"name": "Oh Hyeon-Gyu", "minute": "80"}],
    "goals2": [{"name": "Ladislav Krejcí", "minute": "59"}],
    "group": "Group A",
    "ground": "Guadalajara (Zapopan)"
   },
   ...
   {"round": "Match for third place",
    "date": "2026-07-18",
    "time": "17:00 UTC-4",
    "team1": "France",
    "team2": "England",
    "score": {"ft": [4, 6], "ht": [0, 4]},
    "goals1": 
     [{"name": "Kylian Mbappé", "minute": "48"},
      {"name": "Bradley Barcola", "minute": "54"},
      {"name": "Kylian Mbappé", "minute": "66"},
      {"name": "Ousmane Dembélé", "minute": "90+6"}],
    "goals2": 
     [{"name": "Declan Rice", "minute": "3"},
      {"name": "Ezri Konsa", "minute": "18"},
      {"name": "Bukayo Saka", "minute": "37"},
      {"name": "Bukayo Saka", "minute": "45+1"},
      {"name": "Bukayo Saka", "minute": "87", "penalty": true},
      {"name": "Jude Bellingham", "minute": "90+8"}],
    "ground": "Miami (Miami Gardens)"},
   {"round": "Final",
    "num": 104,
    "date": "2026-07-19",
    "time": "15:00 UTC-4",
    "team1": "Spain",
    "team2": "Argentina",
    "score": {"et": [1, 0], "ft": [0, 0], "ht": [0, 0]},
    "goals1": [{"name": "Ferran Torres", "minute": "106"}],
    "goals2": [],
    "ground": "New York/New Jersey (East Rutherford)"}
]}

Example - World Cup in Qatar 2022 Match Schedule (Fixtures and Results) - 2022/worldcup.json:

{
 "name": "World Cup 2022",
 "matches":
  [{"round": "Matchday 1",
    "date": "2022-11-20",
    "time": "19:00",
    "team1": "Qatar",
    "team2": "Ecuador",
    "score": {"ft": [0, 2], "ht": [0, 2]},
    "goals1": [],
    "goals2":
     [{"name": "Enner Valencia", "minute": "16", "penalty": true},
      {"name": "Enner Valencia", "minute": "31"}],
    "group": "Group A",
    "ground": "Al Bayt Stadium, Al Khor"
   },
   {"round": "Matchday 2",
    "date": "2022-11-21",
    "time": "19:00",
    "team1": "Senegal",
    "team2": "Netherlands",
    "score": {"ft": [0, 2], "ht": [0, 0]},
    "goals1": [],
    "goals2":
     [{"name": "Cody Gakpo", "minute": "84"},
      {"name": "Davy Klaassen", "minute": "90+9"}],
    "group": "Group A",
    "ground": "Al Thumama Stadium, Doha"
  },
  ...
  {"round": "Final",
    "date": "2022-12-18",
    "time": "18:00",
    "team1": "Argentina",
    "team2": "France",
    "score": {"p": [4, 2], "et": [3, 3], "ft": [2, 2], "ht": [2, 0]},
    "goals1":
     [{"name": "Lionel Messi", "minute": "23", "penalty": true},
      {"name": "Lionel Messi", "minute": "108"},
      {"name": "Ángel Di María", "minute": "36"}],
    "goals2":
     [{"name": "Kylian Mbappé", "minute": "80", "penalty": true},
      {"name": "Kylian Mbappé", "minute": "81"},
      {"name": "Kylian Mbappé", "minute": "118", "penalty": true}],
    "ground": "Lusail Iconic Stadium, Lusail"
  }
]}

Clubs

Example - Club World Cup in USA 2025 Match Schedule (Fixtures and Results) - 2025/clubworldcup.json:

{
 "name": "Club World Cup 2025",
 "matches":
  [{"round": "Group A",
    "date": "2025-06-14",
    "time": "20:00",
    "team1": "Al Ahly SC (EGY)",
    "team2": "Inter Miami CF (USA)",
    "score": {"ft": [0, 0]}
   },
   {"round": "Group A",
    "date": "2025-06-15",
    "time": "18:00",
    "team1": "Palmeiras (BRA)",
    "team2": "FC Porto (POR)",
    "score": {"ft": [0, 0]}
  },
  ...
  {"round": "Final",
   "date": "2025-07-13",
   "time": "15:00",
   "team1": "Chelsea FC (ENG)",
   "team2": "Paris Saint-Germain (FRA)",
   "score": {"ft": [3, 0], "ht": [3, 0]}
  }
]}

How to Use the Public JSON HTTP API (Micro) Web Service - No API Key Required ;-)

Use the "raw" links served by GitHub (otherwise you get the complete "formatted" GitHub web page). Example:

$ curl https://raw.githubusercontent.com/openfootball/worldcup.json/master/2026/worldcup.json

Updates / Contributions Welcome - Please Update the Upstream (Source) Text Files

Note: The JSON files get (auto-)generated using the football.db datasets, thus, please do NOT edit the JSON files here but the upstream (source) text files in the /worldcup (and friends) repos e.g.:

National Teams:

Note: For the World Cup 2026 please update the source text file /worldcup/2026--usa/cup.txt for the group stage and /worldcup/2026--usa/cup_finals.txt for the knockout (quarter-finals, semi-finals, etc.) stage.

Clubs:

Note: For the Club World Cup 2025 please update the source text file /club-worldcup/2025/clubworldcup.txt

Contributions Welcome - Add Your Leagues and Tournaments!

Any leagues or tournaments missing? Contributions welcome! For starting your own repo from scratch see the League Quick Starter Kit.

License

The worldcup.json schema, data and scripts are dedicated to the public domain. Use as you please with no restrictions whatsoever.

Projects in the Real-World Using worldcup.json

Yes, you're more than welcome to send a pull request (PR) with your project!

World Cup 2026

Feel free to add your project here!

Questions? Comments?

Yes, you can. More than welcome. See Help & Support »

About

Free open public domain football data for the world cups (national teams & clubs) in JSON incl. Canada/USA/Mexico 2026, USA 2025, Qatar 2022, Russia 2018 and more - No API key required ;-)

Topics

Resources

Stars

Watchers

Forks

Contributors