PSV Eindhoven 0, Borussia Dortmund 2

soccer game fileFinal
SIGNAL IDUNA PARK · Aue · Germany
Boxscore

Key evidence.

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

Team line

PSV Eindhoven
PSV Eindhoven boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Olivier Boscagli–0–00–00––0100
Walter Benítez––0––20–0.7145––––
Malik Tillman–0–00–00–––000
Johan Bakayoko–0–00–00––0.667320
Armel Bella-Kotchap–0–00–00–––000
Jordan Teze–0–00–00––0.500210
Armando Obispo–0–00–00–––000
Mauro Júnior–0–30–00–––000
Sergiño Dest–0–10–00––0100
Jerdy Schouten–0–10–00–––000
Joey Veerman–0–00–00–––000
Guus Til–0–10–00––1110
Ricardo Pepi–0–00–00–––000
Hirving Lozano–0–00–00––0.333310
Shurandy Sambo–0–00–00–––000
Joel Drommel–0–00–00–––000
Richard Ledezma–0–00–00–––000
Luuk de Jong–0–20–00––0.333620
Tygo Land–0–00–00–––000
Isaac Babadi–0–00–00–––000
Patrick van Aanholt–0–00–00–––000
André Ramalho–0–00–00–––000
Boy Waterman–0–00–00–––000
Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Ian Maatsen–0–00–00––1110
Jamie Gittens–0–00–00–––000
Donyell Malen–0–10–00––0.500420
Niclas Füllkrug–1–10–00––0.200510
Jadon Sancho–0–01–00––1110
Alexander Meyer–0–00–00–––000
Gregor Kobel––1––00–17––––
Niklas Süle–0–10–00–––001
Ramy Bensebaini–0–00–00–––000
Emre Can–0–00–00–––000
Marcel Sabitzer–0–00–00–––000
Julian Brandt–1–00–00––1110
Salih Özcan–0–00–00––0100
Felix Nmecha–0–10–00–––001
Karim Adeyemi–0–10–00–––000
Marius Wolf–0–00–00–––000
Julien Duranville–0–00–00–––000
Youssoufa Moukoko–0–00–00–––000
Marco Reus–0–01–00––1110
Marcel Lotka–0–00–00–––000
Kjell-Arik Wätjen–0–00–00–––000
Mats Hummels–0–10–00––0100

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