Mainz 1, Borussia Dortmund 1

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

Mainz
Mainz boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Sepp van den Berg–0–01–00––1110
Brajan Gruda–0–20–00––1110
Jonathan Burkardt–0–10–00––0101
Tom Krauss–0–30–00–––001
Daniel Batz––0––10–0.8576––––
Lasse Rieß–0–00–00–––000
Stefan Bell–0–10–00–––001
Danny da Costa–0–00–00–––000
Silvan Widmer–0–00–00–––000
Phillipp Mwene–1–10–00––1220
Lee Jae-Sung–0–00–00––0100
Dominik Kohr–0–30–00–––000
Ludovic Ajorque–0–00–00–––000
Karim Onisiwo–0–10–00––0100
Aymen Barkok–0–10–00–––001
Marco Richter–0–00–00––0.333310
Merveille Papela–0–00–00––0100
David Mamutovic–0–00–00–––000
Marcus Müller–0–00–00–––000
Lasse Wilhelm–0–00–00–––000
Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Jamie Gittens–0–10–00––0400
Donyell Malen–0–00–00––0.750430
Niclas Füllkrug–0–10–00––1110
Mateu Morey–0–00–00–––000
Alexander Meyer–0–00–00–––000
Gregor Kobel––0––10–0.8576––––
Niklas Süle–0–10–00––0100
Ramy Bensebaini–0–00–00––0100
Nico Schlotterbeck–0–00–00––0100
Emre Can–0–10–00––0100
Marcel Sabitzer–0–10–00––0.500420
Julian Brandt–0–11–00––0.500210
Salih Özcan–0–00–00–––000
Giovanni Reyna–0–00–00––0100
Marius Wolf–0–00–00–––000
Thomas Meunier–0–10–00––0200
Marco Reus–0–00–00–––000
Sébastien Haller–0–10–00–––000
Samuel Bamba–0–10–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_06fhs49gn5sy709rq7g4fe8sk4
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49gn5sy709rq7g4fe8sk4" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49gn5sy709rq7g4fe8sk4/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49gn5sy709rq7g4fe8sk4/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49gn5sy709rq7g4fe8sk4/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49gn5sy709rq7g4fe8sk4/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49gn5sy709rq7g4fe8sk4/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49gn5sy709rq7g4fe8sk4/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