Paris Saint-Germain 1, AC Milan 2

soccer game fileFinal
Stadio Giuseppe Meazza · Milano · Italy
Boxscore

Key evidence.

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

Paris Saint-Germain boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Gianluigi Donnarumma––0––20–0.7506––––
Manuel Ugarte–0–20–00–––001
Nordi Mukiele–0–00–00–––000
Randal Kolo Muani–0–20–00––0101
Kylian Mbappé–0–00–00––0.667320
Carlos Soler–0–00–00–––000
Arnau Tenas–0–00–00–––000
Gonçalo Ramos–0–00–00––0100
Vitinha–0–20–00––1111
Lucas Hernández–0–10–00–––001
Warren Zaïre-Emery–0–10–00–––000
Fabián Ruiz–0–00–00–––000
Lee Kang-In–0–00–00––0100
Bradley Barcola–0–00–00–––000
Achraf Hakimi–0–00–00––0200
Ousmane Dembélé–0–10–00––0.400520
Marquinhos–1–00–00––0100
Milan Skriniar–0–41–00––1111
Alexandre Letellier–0–00–00–––000

Team line

AC Milan
AC Milan boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Noah Okafor–0–00–00––0.500210
Tijjani Reijnders–0–10–00––0100
Malick Thiaw–0–20–00–––000
Samuel Chukwueze–0–00–00–––000
Mike Maignan––0––10–0.8335––––
Fikayo Tomori–0–00–00––0100
Davide Bartesaghi–0–00–00–––000
Ruben Loftus-Cheek–0–00–00––0200
Christian Pulisic–0–00–00––0200
Rafael Leão–0–01–00––0.667320
Tommaso Pobega–0–00–00–––000
Yunus Musah–0–10–00––1111
Lapo Nava–0–00–00–––000
Olivier Giroud–0–01–00––0.667320
Theo Hernández–1–00–00––0100
Luka Jovic–0–00–00–––000
Davide Calabria–0–00–00–––000
Yacine Adli–0–00–00–––000
Alessandro Florenzi–0–10–00–––000
Rade Krunic–0–00–00–––000
Antonio Mirante–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_06fhs85jm9ss5b04zk2k883nr8
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85jm9ss5b04zk2k883nr8" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs85jm9ss5b04zk2k883nr8/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85jm9ss5b04zk2k883nr8/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs85jm9ss5b04zk2k883nr8/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85jm9ss5b04zk2k883nr8/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs85jm9ss5b04zk2k883nr8/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhs85jm9ss5b04zk2k883nr8/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