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.
2
Matches
semifinals
3
Goals
1.50/match
98,000
Attendance
49,000/match
2
Dramatic finishes
AET + penalties
| Date | Stage | Match | Score | Venue | Att. | Weather |
|---|---|---|---|---|---|---|
| Jun 28, 2000 | SF | 2–1AET | 48,000 | — | ||
| Jun 29, 2000 | SF | 0–0AET | 50,000 | — |
GET /matches?year=2000 · client-side stage filter: sf
Team logistics — 2000
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 |
|---|---|---|---|---|---|---|
| 3 | 0 km | — | 3.0d | 2d | ||
| 4 | 0 km | — | 3.0d | 2d | ||
| 5 | 0 km | — | 3.0d | 2d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 3 | 0 km | — | 3.5d | 3d | ||
| 3 | 0 km | — | 3.5d | 3d | ||
| 4 | 0 km | — | 3.3d | 3d | ||
| 6 | 0 km | — | 3.2d | 2d | ||
| 4 | 0 km | — | 3.0d | 2d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 4 | 0 km | — | 3.0d | 2d | ||
| 3 | 0 km | — | 3.0d | 2d | ||
| 6 | 0 km | — | 3.2d | 2d | ||
| 3 | 0 km | — | 4.0d | 4d | ||
| 5 | 0 km | — | 3.5d | 3d | ||
| 3 | 0 km | — | 4.0d | 4d |
Derived client-side from GET /matches?year=2000 + 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.