Borussia Dortmund 4, Juventus 4

soccer game fileFinal
Allianz Stadium · Torino · Italy
Boxscore

Key evidence.

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

Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespass pctpassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Pascal Gross–0–00–011440–––0000
Alexander Meyer–0–00––0–––0–––00–0
Gregor Kobel––0––4–90––––0.4293–––––
Silas Ostrzinski–0–00––0–––0–––00–0
Ramy Bensebaini–0–11–1900.80075600––11110
Waldemar Anton–0–10–0900.96455530–––0041
Julian Ryerson–0–20–2900.93172670–––0010
Yan Couto–0–01–0900.68635240––11140
Daniel Svensson–0–00–0900.77818140–––0010
Almugera Kabar–0–00––0–––0–––00–0
Filippo Mané–0–00––0–––0–––00–0
Marcel Sabitzer–1–00–0900.95242400–––0050
Julian Brandt–0–10–0190.833650–––0000
Felix Nmecha–0–11–0710.86745390––11130
Carney Chukwuemeka–0–00––0–––0–––00–0
Jobe Bellingham–0–10–0191550–––0010
Serhou Guirassy–1–00–0890.88526230––0.3333100
Karim Adeyemi–1–11–2900.69029200––0.5002120
Maximilian Beier–0–00–0710.4441880––02020
Cole Campbell–0–00––0–––0–––00–0

Team line

Juventus
Juventus boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespass pctpassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Loïs Openda–0–10–0690.7501290––0.5002100
Carlo Pinsoglio–0–00––0–––0–––00–0
Mattia Perin–0–00––0–––0–––00–0
Michele Di Gregorio––0––4–90––––0.2001–––––
Juan Cabal–0–00––0–––0–––00–0
Lloyd Kelly–0–21–0900.84163530––0.3333110
Bremer–0–10–3900.85742360––01000
Pierre Kalulu–1–00–1900.93865610–––0020
Andrea Cambiaso–0–10–0900.95747450––01020
Federico Gatti–0–00––0–––0–––00–0
Filip Kostic–0–00––0–––0–––00–0
Manuel Locatelli–0–00–1210.81822180––01020
Weston McKennie–0–20–0590.83318150–––0020
Teun Koopmeiners–0–10–1690.91736330––01010
Khéphren Thuram–0–10–1900.89859530––11110
Vasilije Adzic–0–00–0210.778970–––0000
Dusan Vlahovic–1–12–0300.889980––12200
Edon Zhegrova–0–00–030.7501290––01000
Jonathan David–0–10–1600.93816150––02000
Francisco Conceição–0–00––0–––0–––00–0
Kenan Yildiz–1–11–0870.91736330––0.5004210
Daniele Rugani–0–00––0–––0–––00–0
João Mário–1–10–0310.95020190–––0000

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_06fhn095h9r650wr1dpeb6azac
curl "https://api.statshawk.ai/v1/contests/cst_06fhn095h9r650wr1dpeb6azac" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhn095h9r650wr1dpeb6azac/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhn095h9r650wr1dpeb6azac/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhn095h9r650wr1dpeb6azac/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhn095h9r650wr1dpeb6azac/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhn095h9r650wr1dpeb6azac/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhn095h9r650wr1dpeb6azac/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