Manchester City 2, FC Porto 0

soccer game fileFinal
Estádio do Dragão · Porto · Portugal
Boxscore

Key evidence.

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

Manchester City boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespass pctpassespasses cmpredsavesshot accuracyshotssottacklesyellow
Enzo Fernández–1–30–1900.92883770–0.3333110
Iliman Ndiaye–0–00–0280.667960–0.5002100
Marcus Bettinelli–0–00––0–––0––00–0
Gianluigi Donnarumma––1––0–90––––0–––––
Rúben Dias–0–20–1900.93389830––0010
Marc Guéhi–0–20–3900.94978740–01010
Rayan Aït-Nouri–1–00–0151660–02020
Josko Gvardiol–0–10–1480.87841360––0011
Rico Lewis–0–00––0–––0––00–0
Abdukodir Khusanov–0–00–0420.90922200––0010
Mateo Kovacic–0–00–015113130––0010
Phil Foden–0–10–0750.95242400–0.5002110
Rayan Cherki–0–00–0620.96050480–11110
Matheus Nunes–0–00–0900.92251470––0000
Erling Haaland–0–42–0900.5711480–0.6676401
Antoine Semenyo–0–30–0620.87524210–11130
Elliot Anderson–0–00–1280.95824230–11120
Ryan McAidoo–0–00––0–––0––00–0
Vitor Reis–0–00––0–––0––00–0
Gerónimo Rulli–0–00––0–––0––00–0
Ayyoub Bouaddi–0–10–1750.98255540–01030
Allan Elias–0–00––0–––0––00–0

Team line

FC Porto
FC Porto boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespass pctpassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Souza–0–00––0–––0–––00–0
Jakub Kiwior–0–00–0900.88762550–––0010
André Silva–0–00–0730.5631690–––0020
Santiago Gimenez–0–00–0170.500420–––0010
Seko Fofana–0–00–070.333310––01000
Pablo Rosario–0–40–0900.83324200–––0011
Diogo Costa––0––2–90––––0.8008–––––
Hwang In-Beom–0–00–0220.778970–––0000
Alan Varela–0–00–0680.87023200––01010
Nehuén Pérez–0–00–0900.87131270–––0020
Alberto Costa–0–20–1900.70020140–––0020
Gabri Veiga–0–20–0830.75833250––01040
Cláudio Ramos–0–00––0–––0–––00–0
Pepê–0–10–1900.73126190––01000
João Costa–0–00––0–––0–––00–0
Moura–0–00–0170.857760–––0010
Martim Fernandes–0–00–0730.94134320–––0020
Tiago Silva–0–00––0–––0–––00–0
Borja Sainz–0–00–0220.833650–––0000
William Gomes–0–10–0680.714750––01020
Duarte Cunha–0–00––0–––0–––00–0
Luís Gomes–0–00––0–––0–––00–0
João Teixeira–0–00––0–––0–––00–0

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