API Access
Access dataset files directly from scripts, code, or AI agents.
Browse dataset files
API Access
Access dataset files directly from scripts, code, or AI agents.
Each file has a stable URL (r-link) that you can use directly in scripts, apps, or AI agents. These URLs are permanent and safe to hardcode.
Start with these files — they give you everything you need to understand and access the dataset.
- 1. Fetch datapackage.json to inspect schema and resources
- 2. Download data resources listed in datapackage.json
- 3. Read README.md for full context
Data Views
Data Files
Explore with AItournaments
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| year | year |
| start_date | date |
| end_date | date |
| host_country | string |
| winner | string |
| host_won | integer |
| count_teams | integer |
| group_stage | integer |
| second_group_stage | integer |
| final_round | integer |
| round_of_16 | integer |
| quarter_finals | integer |
| semi_finals | integer |
| third_place_match | integer |
| final | integer |
Download
Download CSVAbout
- One row per tournament. Covers all 22 men's (1930–2022) and 8 women's (1991–2019) editions.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 3.29 kB
matches
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| stage_name | string |
| group_name | string |
| group_stage | integer |
| knockout_stage | integer |
| replayed | integer |
| replay | integer |
| match_date | date |
| match_time | string |
| stadium_id | string |
| stadium_name | string |
| city_name | string |
| country_name | string |
| home_team_id | string |
| home_team_name | string |
| home_team_code | string |
| away_team_id | string |
| away_team_name | string |
| away_team_code | string |
| score | string |
| home_team_score | integer |
| away_team_score | integer |
| home_team_score_margin | integer |
| away_team_score_margin | integer |
| extra_time | integer |
| penalty_shootout | integer |
| score_penalties | string |
| home_team_score_penalties | integer |
| away_team_score_penalties | integer |
| result | string |
| home_team_win | integer |
| away_team_win | integer |
| draw | integer |
Download
Download CSVAbout
- One row per match. Includes stage, group, date, teams, full-time and half-time scores, extra time, penalty shootout scores, and result.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 299 kB
goals
| Field | Type |
|---|---|
| key_id | integer |
| goal_id | string |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| match_date | date |
| stage_name | string |
| group_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| home_team | integer |
| away_team | integer |
| player_id | string |
| family_name | string |
| given_name | string |
| shirt_number | integer |
| player_team_id | string |
| player_team_name | string |
| player_team_code | string |
| minute_label | string |
| minute_regulation | integer |
| minute_stoppage | integer |
| match_period | string |
| own_goal | integer |
| penalty | integer |
Download
Download CSVAbout
- One row per goal. Includes scorer, team, minute, match period, own goal flag, and penalty flag.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 734 kB
bookings
| Field | Type |
|---|---|
| key_id | integer |
| booking_id | string |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| match_date | date |
| stage_name | string |
| group_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| home_team | integer |
| away_team | integer |
| player_id | string |
| family_name | string |
| given_name | string |
| shirt_number | integer |
| minute_label | string |
| minute_regulation | integer |
| minute_stoppage | integer |
| match_period | string |
| yellow_card | integer |
| red_card | integer |
| second_yellow_card | integer |
| sending_off | integer |
Download
Download CSVAbout
- One row per booking (yellow or red card). Includes player, team, minute, and card type.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 598 kB
penalty_kicks
| Field | Type |
|---|---|
| key_id | integer |
| penalty_kick_id | string |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| match_date | date |
| stage_name | string |
| group_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| home_team | integer |
| away_team | integer |
| player_id | string |
| family_name | string |
| given_name | string |
| shirt_number | integer |
| converted | integer |
Download
Download CSVAbout
- One row per penalty kick in a shootout. Includes player, team, kick order, and outcome.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 65.1 kB
substitutions
| Field | Type |
|---|---|
| key_id | integer |
| substitution_id | string |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| match_date | date |
| stage_name | string |
| group_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| home_team | integer |
| away_team | integer |
| player_id | string |
| family_name | string |
| given_name | string |
| shirt_number | integer |
| minute_label | string |
| minute_regulation | integer |
| minute_stoppage | integer |
| match_period | string |
| going_off | integer |
| coming_on | integer |
Download
Download CSVAbout
- One row per substitution. Includes player on, player off, team, and minute.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 1.88 MB
squads
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| player_id | string |
| family_name | string |
| given_name | string |
| shirt_number | integer |
| position_name | string |
| position_code | string |
Download
Download CSVAbout
- One row per player per tournament squad. Includes position, shirt number, and club.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 1.33 MB
players
| Field | Type |
|---|---|
| key_id | integer |
| player_id | string |
| family_name | string |
| given_name | string |
| birth_date | date |
| female | integer |
| goal_keeper | integer |
| defender | integer |
| midfielder | integer |
| forward | integer |
| count_tournaments | integer |
| list_tournaments | string |
| player_wikipedia_link | string |
Download
Download CSVAbout
- One row per player. Master list of all players who have appeared in a World Cup squad.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 1.11 MB
teams
| Field | Type |
|---|---|
| key_id | integer |
| team_id | string |
| team_name | string |
| team_code | string |
| mens_team | integer |
| womens_team | integer |
| federation_name | string |
| region_name | string |
| confederation_id | string |
| confederation_name | string |
| confederation_code | string |
| mens_team_wikipedia_link | string |
| womens_team_wikipedia_link | string |
| federation_wikipedia_link | string |
Download
Download CSVAbout
- One row per national team. Includes team name, code, and confederation.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 24.8 kB
group_standings
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| stage_number | integer |
| stage_name | string |
| group_name | string |
| position | integer |
| team_id | string |
| team_name | string |
| team_code | string |
| played | integer |
| wins | integer |
| draws | integer |
| losses | integer |
| goals_for | integer |
| goals_against | integer |
| goal_difference | integer |
| points | integer |
| advanced | integer |
Download
Download CSVAbout
- One row per team per group. Includes played, won, drawn, lost, goals for, goals against, and points.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 62.5 kB
tournament_standings
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| position | integer |
| team_id | string |
| team_name | string |
| team_code | string |
Download
Download CSVAbout
- Final standings per tournament (winner, runner-up, third place, etc.).
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 6.96 kB
award_winners
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| award_id | string |
| award_name | string |
| shared | integer |
| player_id | string |
| family_name | string |
| given_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
Download
Download CSVAbout
- One row per award per tournament. Covers Golden Boot, Golden Ball, Golden Glove, Best Young Player, and Fair Play Award.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 19.8 kB
awards
| Field | Type |
|---|---|
| key_id | integer |
| award_id | string |
| award_name | string |
| award_description | string |
| year_introduced | integer |
Download
Download CSVAbout
- Reference table of award types.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 397 B
stadiums
| Field | Type |
|---|---|
| key_id | integer |
| stadium_id | string |
| stadium_name | string |
| city_name | string |
| country_name | string |
| stadium_capacity | integer |
| stadium_wikipedia_link | string |
| city_wikipedia_link | string |
Download
Download CSVAbout
- One row per stadium. Includes name, city, country, and capacity.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 34.3 kB
referees
| Field | Type |
|---|---|
| key_id | integer |
| referee_id | string |
| family_name | string |
| given_name | string |
| female | integer |
| country_name | string |
| confederation_id | string |
| confederation_name | string |
| confederation_code | string |
| referee_wikipedia_link | string |
Download
Download CSVAbout
- Master list of referees who have officiated at a World Cup.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 63.5 kB
managers
| Field | Type |
|---|---|
| key_id | integer |
| manager_id | string |
| family_name | string |
| given_name | string |
| female | integer |
| country_name | string |
| manager_wikipedia_link | string |
Download
Download CSVAbout
- Master list of managers who have managed a team at a World Cup.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 39.9 kB
confederations
| Field | Type |
|---|---|
| key_id | integer |
| confederation_id | string |
| confederation_name | string |
| confederation_code | string |
| confederation_wikipedia_link | string |
Download
Download CSVAbout
- Reference table of FIFA confederations.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 715 B
host_countries
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| performance | string |
Download
Download CSVAbout
- One row per host country per tournament (tournaments with multiple hosts have multiple rows).
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 2.16 kB
qualified_teams
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| count_matches | integer |
| performance | string |
Download
Download CSVAbout
- One row per team per tournament they qualified for.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 44.3 kB
groups
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| stage_number | integer |
| stage_name | string |
| group_name | string |
| count_teams | integer |
Download
Download CSVAbout
- One row per group per tournament.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 10 kB
tournament_stages
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| stage_number | integer |
| stage_name | string |
| group_stage | integer |
| knockout_stage | integer |
| unbalanced_groups | integer |
| start_date | date |
| end_date | date |
| count_matches | integer |
| count_teams | integer |
| count_scheduled | integer |
| count_replays | integer |
| count_playoffs | integer |
| count_walkovers | integer |
Download
Download CSVAbout
- One row per stage per tournament (group stage, round of 16, quarter-finals, etc.).
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 14.6 kB
team_appearances
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| stage_name | string |
| group_name | string |
| group_stage | integer |
| knockout_stage | integer |
| replayed | integer |
| replay | integer |
| match_date | date |
| match_time | string |
| stadium_id | string |
| stadium_name | string |
| city_name | string |
| country_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| opponent_id | string |
| opponent_name | string |
| opponent_code | string |
| home_team | integer |
| away_team | integer |
| goals_for | integer |
| goals_against | integer |
| goal_differential | integer |
| extra_time | integer |
| penalty_shootout | integer |
| penalties_for | integer |
| penalties_against | integer |
| result | string |
| win | integer |
| lose | integer |
| draw | integer |
Download
Download CSVAbout
- One row per team per match. Includes side (home/away), score, and result.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 558 kB
player_appearances
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| match_date | date |
| stage_name | string |
| group_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| home_team | integer |
| away_team | integer |
| player_id | string |
| family_name | string |
| given_name | string |
| shirt_number | integer |
| position_name | string |
| position_code | string |
| starter | integer |
| substitute | integer |
Download
Download CSVAbout
- One row per player per match. Includes position played, minutes on pitch, and starter flag.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 4.68 MB
manager_appearances
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| match_date | date |
| stage_name | string |
| group_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| home_team | integer |
| away_team | integer |
| manager_id | string |
| family_name | string |
| given_name | string |
| country_name | string |
Download
Download CSVAbout
- One row per manager per match.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 393 kB
manager_appointments
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| team_id | string |
| team_name | string |
| team_code | string |
| manager_id | string |
| family_name | string |
| given_name | string |
| country_name | string |
Download
Download CSVAbout
- One row per manager per tournament they managed at.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 55 kB
referee_appearances
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| match_id | string |
| match_name | string |
| match_date | date |
| stage_name | string |
| group_name | string |
| referee_id | string |
| family_name | string |
| given_name | string |
| country_name | string |
| confederation_id | string |
| confederation_name | string |
| confederation_code | string |
Download
Download CSVAbout
- One row per referee per match.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 233 kB
referee_appointments
| Field | Type |
|---|---|
| key_id | integer |
| tournament_id | string |
| tournament_name | string |
| referee_id | string |
| family_name | string |
| given_name | string |
| country_name | string |
| confederation_id | string |
| confederation_name | string |
| confederation_code | string |
Download
Download CSVAbout
- One row per referee per tournament they officiated at.
- Last updated
- 14 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 81.5 kB
Average Goals Per Game by Tournament (Summary)
| Field | Type | Description |
|---|---|---|
| year | year | Tournament year |
| tournament_name | string | Full tournament name |
| avg_goals_per_game | number | Average goals per match |
Download
Download CSVAbout
- Pre-aggregated average goals per game for each men's World Cup tournament (1930–2022).
- Last updated
- 20 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 852 B
Goals by Match Minute (Summary)
| Field | Type | Description |
|---|---|---|
| minute_start | integer | Start of minute interval |
| minute_end | integer | End of minute interval |
| goal_count | integer | Goals scored in this minute |
Download
Download CSVAbout
- Total goals scored at each match minute (1–90) across all men's World Cup tournaments, excluding own goals.
- Last updated
- 20 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 918 B
Top 15 All-Time World Cup Scorers (Summary)
| Field | Type | Description |
|---|---|---|
| player | string | Player name |
| team_name | string | Country |
| goals | integer | Total World Cup goals |
Download
Download CSVAbout
- Players with the most goals across all men's World Cup tournaments (1930–2022), excluding own goals.
- Last updated
- 20 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 417 B
World Cup Appearances by Nation (Summary)
| Field | Type | Description |
|---|---|---|
| team_name | string | Nation |
| appearances | integer | Number of tournaments appeared in |
Download
Download CSVAbout
- Top 20 nations by number of men's World Cup tournaments appeared in (1930–2022).
- Last updated
- 20 May 2026
- Total rows
- ...
- Format
- CSV
- File size
- 276 B
Goal Timing by Tournament (Summary)
| Field | Type | Description |
|---|---|---|
| year | year | Tournament year |
| tournament_name | string | Full tournament name |
| matches | integer | Matches played in the tournament |
| goals | integer | Total goals scored (including own goals) |
| goals_per_match | number | Goals per match |
| regulation_goals | integer | Goals scored with no stoppage time added (minute_stoppage = 0) |
| stoppage_goals | integer | Goals scored in stoppage time (minute_stoppage > 0) |
| pct_goals_in_stoppage | number | Percentage of goals scored in stoppage time |
| avg_goal_minute | number | Average goal minute (regulation minute + stoppage minute; extra-time goals included) |
Download
Download CSVAbout
- Per-tournament goal timing for each men's World Cup (1930–2022): total goals, goals scored in stoppage time, the share of goals arriving in stoppage time, and the average goal minute. Stoppage-time goals were rarely logged before 1998 and now account for more than one in ten. Includes own goals.
- Last updated
- 9 June 2026
- Total rows
- ...
- Format
- CSV
- File size
- 1.39 kB
Discipline by Tournament (Summary)
| Field | Type | Description |
|---|---|---|
| year | year | Tournament year |
| tournament_name | string | Full tournament name |
| matches | integer | Matches played in the tournament |
| yellow_cards | integer | Total yellow cards shown (every caution, including both yellows of a two-yellow dismissal) |
| second_yellow_cards | integer | Cautions that were a player's second yellow (resulting in dismissal) |
| straight_red_cards | integer | Straight (direct) red cards |
| red_cards | integer | Total dismissals (straight reds + second yellows) |
| total_cards | integer | Total cards shown (yellow cards + straight red cards) |
| cards_per_match | number | Total cards divided by matches |
Download
Download CSVAbout
- Cards shown at each men's World Cup since cards were introduced at Mexico 1970 (1970–2022): yellow cards, second yellows, straight reds, total dismissals, and cards per match. Germany 2006 is the most-carded tournament on record at 5.23 cards per match.
- Last updated
- 9 June 2026
- Total rows
- ...
- Format
- CSV
- File size
- 864 B
Most-Carded Matches (Summary)
| Field | Type | Description |
|---|---|---|
| year | year | Tournament year |
| tournament_name | string | Full tournament name |
| match_name | string | Match (home team vs away team) |
| stage_name | string | Tournament stage |
| match_date | date | Match date |
| yellow_cards | integer | Yellow cards shown in the match |
| red_cards | integer | Players sent off in the match |
| total_cards | integer | Total cards shown (yellow cards + straight red cards) |
Download
Download CSVAbout
- The 15 most-carded matches in men's World Cup history, ranked by total cards. Netherlands vs Argentina (2022 quarter-final) tops the list — the most-carded match the database records.
- Last updated
- 9 June 2026
- Total rows
- ...
- Format
- CSV
- File size
- 1.34 kB
attendance
| Field | Type | Description |
|---|---|---|
| year | year | World Cup edition year (1930–2022) |
| stage | string | Detailed stage label as recorded by the source (e.g. 'Group A', 'Round of 16', 'Final') |
| phase | string | Coarse phase derived from stage: 'Group' or 'Knockout' |
| date | date | Match date (ISO 8601) |
| team1 | string | First team (home/listed-first); historical names preserved (e.g. West Germany, Yugoslavia) |
| team2 | string | Second team |
| score | string | Full-time/AET score as 'team1-team2' (penalty shootouts not encoded here) |
| attendance | integer | Official/announced spectators at the match |
| stadium | string | Stadium name |
| city | string | Host city |
| source | string | Provenance of the attendance figure for this row |
Download
Download CSVAbout
- Per-match attendance for all 964 men's World Cup matches (1930–2022) — the figure the Fjelstul match tables do not include. Compiled from Kaggle/FIFA records (1930–2010, cross-checked to the exact person against an independent reference) and Wikipedia match reports (2014/2018/2022, totals matching FIFA). Joins to matches on (year, teams, date).
- Last updated
- 9 June 2026
- Total rows
- ...
- Format
- CSV
- File size
- 168 kB
Average Attendance per Edition (Summary)
| Field | Type | Description |
|---|---|---|
| year | year | Tournament year |
| tournament_name | string | Full tournament name |
| matches | integer | Matches played in the tournament |
| total_attendance | integer | Total spectators across all matches in the tournament |
| avg_attendance | integer | Average attendance per match |
Download
Download CSVAbout
- Pre-aggregated attendance for each men's World Cup (1930–2022): matches played, total spectators, and average attendance per match. Aggregated from the attendance resource.
- Last updated
- 9 June 2026
- Total rows
- ...
- Format
- CSV
- File size
- 1.13 kB
About this dataset
Comprehensive data on every FIFA World Cup tournament — men's (1930–2022) and women's (1991–2019) — covering matches, goals, squads, bookings, penalty shootouts, awards, and more. Sourced from the Fjelstul World Cup Database by Joshua C. Fjelstul, Ph.D.
Dataset Overview
27 interlinked CSV tables spanning the full history of the World Cup, from Uruguay 1930 to Qatar 2022.
Coverage
- Men's: all 22 tournaments (1930–2022), 900+ matches, 3,600+ goals
- Women's: all 8 tournaments (1991–2019)
Updated automatically whenever the upstream Fjelstul database is updated.
Derived summary tables
Alongside the 27 core Fjelstul tables, the package ships small pre-aggregated summary tables (men's tournaments only) that power the charts and data stories:
| Resource | What it covers |
|---|---|
tournament-goals-summary | Average goals per game, by tournament (1930–2022) |
goals-by-minute-summary | Goals scored at each match minute (1–90), all tournaments |
top-scorers-summary | Top 15 all-time men's World Cup scorers |
tournament-appearances | Top 20 nations by tournaments played |
goal-timing-by-tournament-summary | Stoppage-time goals, share of goals in stoppage time, and average goal minute, by tournament (1930–2022) |
discipline-by-tournament-summary | Yellow/red cards and cards per match, by tournament (1970–2022, since cards were introduced) |
dirtiest-matches-summary | The 15 most-carded matches in men's World Cup history |
The goal-timing and discipline tables are derived directly from the goals and bookings resources; regenerating them needs only those source tables.
License
This dataset is derived from the Fjelstul World Cup Database and is published under the Creative Commons Attribution-ShareAlike 4.0 International (CC-BY-SA 4.0) license.
Attribution: Joshua C. Fjelstul, Ph.D. — © 2023 Joshua C. Fjelstul, Ph.D.
You are free to share and adapt this data for any purpose as long as you provide proper attribution and distribute any derivative works under the same license.