Borussia Dortmund 3, AC Milan 1

soccer game fileFinal
Stadio Giuseppe Meazza · Milano · Italy
Boxscore

Key evidence.

Every reported player line, kept in the API’s sport-specific stat vocabulary.

Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Jamie Gittens–0–01–00––0.500210
Donyell Malen–0–00–00––0100
Niclas Füllkrug–0–00–00––0400
Alexander Meyer–0–00–00–––000
Gregor Kobel––0––10–0.6672––––
Ramy Bensebaini–0–10–00–––000
Julian Ryerson–0–00–00––0100
Nico Schlotterbeck–0–00–00–––000
Emre Can–0–10–00–––001
Marcel Sabitzer–1–10–00––0.500210
Julian Brandt–0–00–00–––000
Salih Özcan–0–00–00–––000
Karim Adeyemi–0–11–00––1110
Giovanni Reyna–0–00–00–––000
Marius Wolf–0–00–00–––000
Youssoufa Moukoko–0–00–00–––000
Marco Reus–1–11–00––1110
Sébastien Haller–0–00–00–––000
Marcel Lotka–0–00–00–––000
Mats Hummels–0–00–00–––000
Hendry Blank–0–00–00–––000

Team line

AC Milan
AC Milan boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Tijjani Reijnders–0–10–00–––000
Malick Thiaw–0–00–00–––000
Samuel Chukwueze–0–01–00––0.250410
Mike Maignan––0––30–0.2501––––
Fikayo Tomori–0–00–00––0101
Davide Bartesaghi–0–00–00–––000
Ruben Loftus-Cheek–0–10–00––0100
Christian Pulisic–0–10–00––0.500210
Tommaso Pobega–0–00–00–––000
Lapo Nava–0–00–00–––000
Olivier Giroud–0–10–00––0100
Theo Hernández–0–20–00–––000
Luka Jovic–0–10–00––0.500210
Davide Calabria–1–20–00––0100
Yacine Adli–0–10–00––0200
Alessandro Florenzi–0–00–00–––000
Rade Krunic–0–00–00–––000
Antonio Mirante–0–00–00–––000
Chaka Traorè–0–00–00–––000

Comparison

Side by side.

Final

Analysis preview// illustrative example, not this page's real data
sample · team comparisonexample only
a:"Team A"b:"Team B"
Offensive ratingA 114.2 · B 108.9
Recent form (L10)A 6-4 · B 6-4
Head-to-headB leads 3-1
GET /v1/analysis/compare-teams?a=…&b=…Run this yourself via the API
Built on the StatHawk API

The page is the demo.

These requests and request patterns show how this page gets data from the same REST API and MCP server you can use in your own app or agent.

View this page's API recipe

Use the authenticated requests or fill in the labeled request templates, then adapt the response in your own product.

Authenticated request · GET /v1/contests/cst_06fhs85na9t9395atpyjy6b90m
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85na9t9395atpyjy6b90m" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs85na9t9395atpyjy6b90m/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85na9t9395atpyjy6b90m/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs85na9t9395atpyjy6b90m/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85na9t9395atpyjy6b90m/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs85na9t9395atpyjy6b90m/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85na9t9395atpyjy6b90m/play-by-play?detail=full" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Try with MCP

Connect StatHawk to your agent, then ask it to explain and extend the data shown on this page.

Build this view in the API reference
$claude mcp add statshawk https://mcp.statshawk.ai/mcp