Borussia Dortmund 1, Mainz 3

soccer game fileFinal
MEWA ARENA · Mainz · Germany
Boxscore

Key evidence.

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

Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Pascal Gross000000000000
Jamie Gittens000000000000
Donyell Malen000000000000
Alexander Meyer0300.6676
Julian Ryerson010000000000
Nico Schlotterbeck0100000001001
Yan Couto010000000000
Almugera Kabar000000000000
Filippo Mané000000000000
Emre Can010000010000
Marcel Sabitzer000000000000
Julian Brandt0000000001000
Felix Nmecha000000000000
Serhou Guirassy0110000011100
Maximilian Beier000000000000
Cole Campbell000000000000
Yannik Lührs000000000000
Marcel Lotka000000000000
Jordi Paulina000000000000
Ayman Azhil000000000000

Team line

Mainz
Mainz boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Jonathan Burkardt021000000.6673200
Robin Zentner01000
Lasse Rieß000000000000
Stefan Bell010000000000
Danny da Costa100000000000
Silvan Widmer000000000000
Phillipp Mwene1200000011100
Anthony Caci120000000000
Nikolas Veratschnig000000000000
Lee Jae-Sung011000000.6005300
Dominik Kohr020000000001
Nadiem Amiri030000000.3333100
Paul Nebel0210000011101
Kaishu Sano020000000000
Daniel Gleiber000000000000
Armindo Sieb000000000000
Nelson Weiper000000000000
Hong Hyun-Seok000000000000
Karim Onisiwo000000000000
Aymen Barkok000000000000

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