FIFA publishes free 52-page World Cup match reports that parse into structured scouting data

Stack of match reports organized into a research binder.

FIFA is publishing a free 52-page post-match summary for every 2026 World Cup group-stage game, each PDF carrying formations, pressing phases, line breaks, and player-by-player physical data.

FIFA’s Training Centre hosts the hub. As of June 16th, 2026, 12 completed group-stage matches have linked PDFs. Each report follows the same structure – team sheets, formations, key statistics, phases of play in and out of possession, line-break tables per player, defensive pressure maps, and physical data down to sprint zones. Because those sections sit in the same order every time, you can parse them across all 12 matches instead of reading each PDF on its own.

Defensive-block comparison across 11 matches

FIFA’s reports break out-of-possession time into high block, mid block, and low block. The table below covers all 22 team-matches from the first 11 extractable PDFs, sorted by low-block percentage.

Team Match Low block Mid block High block Result
Australia M06 vs Turkiye 56% 18% 1% W 2-0
Japan M11 vs Netherlands 50% 33% 1% D 2-2
Qatar M08 vs Switzerland 47% 17% 4% D 1-1
Scotland M05 vs Haiti 34% 25% 4% W 1-0
Bosnia and Herzegovina M03 vs Canada 31% 14% 1% D 1-1
Paraguay M04 vs USA 28% 14% 3% L 1-4
Czechia M02 vs Korea Republic 26% 13% 6% L 1-2
Sweden M12 vs Tunisia 25% 24% 2% W 5-1
Mexico M01 vs South Africa 25% 11% 9% W 2-0
Ecuador M09 vs Cote d’Ivoire 24% 19% 4% L 0-1
Cote d’Ivoire M09 vs Ecuador 24% 27% 11% W 1-0
Tunisia M12 vs Sweden 21% 24% 2% L 1-5
Haiti M05 vs Scotland 21% 25% 6% L 0-1
Korea Republic M02 vs Czechia 20% 18% 5% W 2-1
Morocco M07 vs Brazil 19% 16% 3% D 1-1
Netherlands M11 vs Japan 18% 25% 2% D 2-2
Brazil M07 vs Morocco 16% 39% 6% D 1-1
South Africa M01 vs Mexico 14% 30% 5% L 0-2
USA M04 vs Paraguay 14% 8% 7% W 4-1
Canada M03 vs Bosnia and Herzegovina 11% 5% 5% D 1-1
Turkiye M06 vs Australia 9% 7% 6% L 0-2
Switzerland M08 vs Qatar 8% 13% 10% D 1-1

Australia against Turkiye spent 56% of their out-of-possession time in a low block and still won 2-0 – the most extreme low-block share in the tournament so far. Qatar sat in a low block for 47% against Switzerland, conceded 3.14 xG, and survived with a 1-1 draw. Japan spent 50% in a low block and 33% in a mid block against the Netherlands, conceding just 0.63 xG by compressing space centrally. At the other end, Turkiye (9% low block) and Korea Republic (10% low block) both played higher but with opposite results – Korea Republic won, Turkiye lost.

Australia and Japan both sat deep and still held opponents to low xG, so sitting deep did not by itself cost them. Australia took 27% possession and generated only 0.99 xG but scored twice, both times breaking forward the moment they won the ball. Turkiye, by contrast, had 63% possession and 1.66 xG but never broke Australia’s 5-4-1 low block, and all that territory produced nothing on the counter.

The pattern worth tracking through the rest of the group stage is whether the deep-block winners keep converting on the counter the way Australia did, or whether sitting deep and creating nothing the other way – the Paraguay and Czechia outcome – becomes the more common result.

Worked extraction – M01 Mexico 2-0 South Africa

Match context. June 11th, 2026, Mexico City Stadium, 13:00 kick-off. Mexico lined up with a back four and front three, South Africa with a back five and front two.

Key statistics.

  Mexico South Africa
Possession 57.1% 36.1%
xG 1.78 0.10
Attempts (on target) 16 (4) 3 (2)
Passes (completed) 547 (495) 351 (290)
Pass completion 90% 83%
Completed line breaks 105 57
Defensive line breaks 10 3
Final-third receptions 117 36
Crosses 13 8
Ball progressions 23 8
Defensive pressures (direct) 170 (26) 306 (45)
Forced turnovers 31 32
Total distance 107.3 km 97.1 km

In-possession phases (% of match time).

Phase Mexico South Africa
Build-up unopposed 47% 43%
Build-up opposed 13% 13%
Progression 16% 14%
Final third 11% 7%
Long ball 3% 6%
Attacking transition 10% 12%
Counter attack 1% 2%
Set piece 5% 5%

Out-of-possession phases (% of match time).

Phase Mexico South Africa
High press 9% 6%
Mid press 3% 3%
Low press 0% 1%
High block 7% 5%
Mid block 25% 30%
Low block 11% 14%
Recovery 5% 2%
Defensive transition 12% 10%
Counter-press 8% 7%

Tactical read. Mexico dominated territory (117 final-third receptions vs 36) and generated 1.78 xG against 0.10. South Africa spent 30% of the match in a mid block and 14% in a low block but only managed 3 attempts. Mexico created 105 completed line breaks, nearly double South Africa’s 57. South Africa struggled to progress – 8 ball progressions across 90 minutes – so the back five rarely connected to the front two through the middle. Mexico forward Julian Quinones completed all 12 of his attempted line breaks (100%), the highest rate of any outfield starter.

Every match, parsed and searchable on our dashboard

We have already extracted every completed group-stage match into our World Cup 2026 dashboard. Open the Results tab to get the full breakdown for any match: possession, xG, shots on target, passes, pass accuracy, line breaks, threat, take-ons, offers and receptions in behind, defensive pressures, forced turnovers, crosses, corners, sprints, top speed, distance, fouls, and cards – all as side-by-side comparison bars. Below that, phases of play (in-possession and out-of-possession percentage splits), a shot-by-shot timeline with player, outcome, body part, and delivery type, top passing connections, and per-player tables with every stat down to individual xG and sprint counts. Each match links directly to the original FIFA PDF.

How to extract the data yourself

Every report follows the same page sequence.

  1. Team sheets (pages 1-2). Starting XI, substitutes, shirt numbers, positions, minute markers for goals, cards, and subs.
  2. Formations (page 3). Listed as “FORMATION X-X-X” for each team.
  3. Key statistics (page 4). Possession, xG, attempts, passes, line breaks, final-third receptions, crosses, ball progressions, defensive pressures, forced turnovers, second balls, distance.
  4. Phases of play (pages 5-6). In-possession and out-of-possession time shares as percentages. Eight in-possession categories and nine out-of-possession categories, including the high/mid/low block splits used in the comparison above.
  5. Line-height and team-length diagrams (pages 7-8). Build-up low, build-up mid, and final-third phase with distances in metres.
  6. Line breaks per player (pages 9-14). Attempted, completed, completion percentage, broken down by unit count, direction, and distribution type.
  7. Defensive pressures and duels (pages 15-30). Individual pressure counts, success rates, aerial duels, ground duels.
  8. Passing networks and distribution (pages 31-40). Pass maps, distribution in final third, offers made.
  9. Physical data (pages 41-52). Per-player total distance, speed zones, high-speed run count, sprint count, top speed.

Text extraction with PyMuPDF (pip install pymupdf) works on 11 of 12 current PDFs.

import fitz

doc = fitz.open("PMSR-M01 MEX V RSA.pdf")
text = "".join(page.get_text() for page in doc)

The phases-of-play block starts after the line IN POSSESSION and ends after Counter-press. Regex or line-offset parsing works because the section order is consistent across reports. The defensive-block comparison above took less than an hour to compile from the raw extractions.

Two open-source repos do most of the heavy lifting. Bustami/efi-fifa-data-wc-2026 scrapes per-player Enhanced Football Intelligence metrics from FIFA’s platform after each match – 124 columns covering xG, shots, passes, line breaks, pressures, and physical data. shufinskiy/sport_analytics_tools provides both a deterministic Python parser (PyMuPDF) and a Claude prompt that convert the 52-page PDFs into structured JSON.

2026

August

July

June

May

March

January

2025

December

November

October

September

August

July

June

May

April

March

February

January

2024

December

November

October

September

August

July

June

May

April

March

February

January

2023

December

November

October

September

August

July

June

May

April

March

February

January

Receive every new post in your inbox.