Mainz 0, Borussia Dortmund 4

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 concededintcminutespass pctpassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Sheraldo Becker–0–00–0300.833650––11100
Daniel Batz––0––4–90––––0.5004–––––
Lasse Rieß–0–00––0–––0–––00–0
Stefan Bell–0–10–0270.750860–––0000
Danny da Costa–0–00–1900.59327160–––0010
Silvan Widmer–0–20–0610.77431240–––0001
Maxim Leitsch–0–00––0–––0–––00–0
Stefan Posch–0–00–0900.84846390––11111
Phillipp Mwene–0–00–0290.6001060–––0020
Nikolas Veratschnig–0–00––0–––0–––00–0
Kacper Potulski–0–00–0630.75052390––03030
Lee Jae-Sung–0–00–1600.95723220–––0020
Dominik Kohr–0–10–2900.88762550–––0020
Nadiem Amiri–0–00–3900.86050430––0.5002110
Paul Nebel–0–00–0300.8001080–––0010
Kaishu Sano–0–00–3900.76146350–––0020
Phillip Tietz–0–10–0730.70617120–––0000
Silas Katompa-Mvumpa–0–00–0601660––01000
William Bøving–0–00––0–––0–––00–0
Nelson Weiper–0–00–0170.714750––12210
Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespass pctpassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Alexander Meyer–0–00––0–––0–––00–0
Gregor Kobel––1––0–90––––15–––––
Niklas Süle–0–00–0450.96932310––01001
Ramy Bensebaini–0–31–1900.88377680––11100
Waldemar Anton–0–20–1900.93966620–––0010
Julian Ryerson–4–20–2900.73037270–––0020
Yan Couto–0–00––0–––0–––00–0
Daniel Svensson–0–00–1900.75036270–––0000
Luca Reggiani–0–00–0450.93043400––01030
Marcel Sabitzer–0–00–1160.92914130–––0000
Julian Brandt–0–00–0610.65529190––11100
Salih Özcan–0–00––0–––0–––00–0
Felix Nmecha–0–00–0740.87933290––0.5002100
Carney Chukwuemeka–0–10–0290.80015120–––0001
Jobe Bellingham–0–10–4900.83655460––01000
Serhou Guirassy–0–02–0740.80015120––0.6673200
Karim Adeyemi–0–00–0161550–––0000
Maximilian Beier–0–01–0610.4671570––12220
Fábio Silva–0–10–0290.556950––0.5002101
Samuele Inácio–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_06fhmx1131sf75s8aj7e6b34d0
curl "https://api.statshawk.ai/v1/contests/cst_06fhmx1131sf75s8aj7e6b34d0" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhmx1131sf75s8aj7e6b34d0/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhmx1131sf75s8aj7e6b34d0/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhmx1131sf75s8aj7e6b34d0/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhmx1131sf75s8aj7e6b34d0/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhmx1131sf75s8aj7e6b34d0/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhmx1131sf75s8aj7e6b34d0/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