Matches, every kick.
Every World Cup match in a single table — date, stage, teams, score, attendance, venue. Pick a tournament + stage. Knockout dramatic finishes (AET, penalties) are flagged.
Tournament
18
Matches
group stage
92
Goals
5.11/match
0
Attendance
0/match
2
Dramatic finishes
AET + penalties
| Date | Stage | Match | Score | Venue | Att. | Weather |
|---|---|---|---|---|---|---|
| Jun 16, 1954 | Grp 1 | 5–0 | Charmilles Stadium, Geneva | — | ⛅16° | |
| Jun 16, 1954 | Grp 1 | 1–0 | Stade Olympique de la Pontaise, Lausanne | — | 🌧️15° | |
| Jun 19, 1954 | Grp 1 | 1–1AET | Stade Olympique de la Pontaise, Lausanne | — | ☀️23° | |
| Jun 19, 1954 | Grp 1 | 3–2 | Charmilles Stadium, Geneva | — | ☀️25° | |
| Jun 17, 1954 | Grp 2 | 4–1 | Wankdorf Stadium, Bern | — | ⛅19° | |
| Jun 17, 1954 | Grp 2 | 9–0 | Hardturm Stadium, Zürich | — | ⛅21° | |
| Jun 20, 1954 | Grp 2 | 8–3 | St. Jakob Stadium, Basel | — | ☀️27° | |
| Jun 20, 1954 | Grp 2 | 7–0 | Charmilles Stadium, Geneva | — | ☀️27° | |
| Jun 23, 1954 | Grp 2 | 7–2 | Hardturm Stadium, Zürich | — | ⛅21° | |
| Jun 16, 1954 | Grp 3 | 2–0 | Wankdorf Stadium, Bern | — | 🌧️14° | |
| Jun 16, 1954 | Grp 3 | 1–0 | Hardturm Stadium, Zürich | — | 🌧️17° | |
| Jun 19, 1954 | Grp 3 | 7–0 | St. Jakob Stadium, Basel | — | ⛅25° | |
| Jun 19, 1954 | Grp 3 | 5–0 | Hardturm Stadium, Zürich | — | ☀️25° | |
| Jun 17, 1954 | Grp 4 | 2–1 | Stade Olympique de la Pontaise, Lausanne | — | ⛅17° | |
| Jun 17, 1954 | Grp 4 | 4–4AET | St. Jakob Stadium, Basel | — | ⛅22° | |
| Jun 20, 1954 | Grp 4 | 4–1 | Cornaredo Stadium, Lugano | — | ⛅26° | |
| Jun 20, 1954 | Grp 4 | 2–0 | Wankdorf Stadium, Bern | — | ☀️25° | |
| Jun 23, 1954 | Grp 4 | 4–1 | St. Jakob Stadium, Basel | — | 🌧️22° |
GET /matches?year=1954 · client-side stage filter: group
Team logistics — 1954
16 teams · sorted by distanceDistance is stadium-to-stadium between consecutive matches, great-circle (haversine). First match counts 0 km — we don't guess a pre-tournament anchor. Rest days = full days between consecutive kickoffs (so a Mon → Fri turnaround is 3 days of rest). TZ shift = max hours offset between any venue's country and the team's home country. Multi-zone countries (USA, Brazil, Russia) use their capital city as proxy. DST ignored.
| Team | Matches | Distance | TZ shift | Avg rest | Min rest | Cities visited |
|---|---|---|---|---|---|---|
| 6 | 610 km | 0h | 2.4d | 2d | Bern → Basel → Zürich → Geneva | |
| 3 | 386 km | 0h | 2.0d | 2d | Lausanne → Lugano → Basel | |
| 5 | 376 km | 0h | 3.3d | 2d | Zürich → Lausanne → Basel | |
| 5 | 373 km | 4h | 3.3d | 2d | Bern → Basel → Lausanne → Zürich | |
| 3 | 356 km | 2h | 2.0d | 2d | Bern → Geneva → Zürich | |
| 5 | 294 km | 0h | 3.3d | 2d | Zürich → Basel → Bern → Lausanne | |
| 4 | 281 km | 0h | 2.0d | 2d | Lausanne → Bern → Basel | |
| 2 | 224 km | 8h | 2.0d | 2d | Zürich → Geneva | |
| 2 | 197 km | 0h | 2.0d | 2d | Basel → Lugano | |
| 3 | 133 km | 4h | 4.5d | 2d | Geneva → Lausanne → Bern | |
| 3 | 131 km | 1h | 3.5d | 2d | Basel → Bern | |
| 2 | 92 km | — | 2.0d | 2d | Bern → Zürich | |
| 2 | 69 km | 1h | 2.0d | 2d | Zürich → Basel | |
| 3 | 52 km | 0h | 4.5d | 2d | Lausanne → Geneva | |
| 2 | 52 km | 0h | 2.0d | 2d | Lausanne → Geneva | |
| 2 | 0 km | 7h | 2.0d | 2d | Geneva |
Derived client-side from GET /matches?year=1954 + GET /stadiums
Coming next: goals-by-minute bucket, captain per match, and penalty-shootout granularity. Subscribe to the API to get the extra fields as they ship.