Matches, every kick.
Every Euro match in a single table — date, stage, teams, score, attendance, venue. Pick a tournament + stage. Knockout dramatic finishes (AET, penalties) are flagged.
4
Matches
quarterfinals
4
Goals
1.00/match
183,149
Attendance
45,787/match
2
Dramatic finishes
AET + penalties
| Date | Stage | Match | Score | Venue | Att. | Weather |
|---|---|---|---|---|---|---|
| Jun 22, 1996 | QF | 0–0AET | 75,440 | — | ||
| Jun 22, 1996 | QF | 0–0AET | 37,465 | — | ||
| Jun 23, 1996 | QF | 2–1 | 43,412 | — | ||
| Jun 23, 1996 | QF | 1–0 | 26,832 | — |
GET /matches?year=1996 · client-side stage filter: qf
Team logistics — 1996
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 |
|---|---|---|---|---|---|---|
| 5 | 0 km | — | 3.5d | 2d | ||
| 3 | 0 km | — | 4.0d | 4d | ||
| 4 | 0 km | — | 3.0d | 2d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 4 | 0 km | — | 3.3d | 2d | ||
| 3 | 0 km | — | 3.5d | 3d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 5 | 0 km | — | 3.0d | 2d | ||
| 6 | 0 km | — | 3.2d | 2d | ||
| 6 | 0 km | — | 3.2d | 2d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 3 | 0 km | — | 4.0d | 2d | ||
| 4 | 0 km | — | 3.7d | 3d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 4 | 0 km | — | 3.0d | 2d |
Derived client-side from GET /matches?year=1996 + 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.