Mainz 0, TSG Hoffenheim 2

soccer game fileFinal
PreZero Arena · Sinsheim · 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
Daniel Batz–0–00–00–––000
Robin Zentner––0––20–0.6003––––
Lasse Rieß–0–00–00–––000
Danny da Costa–0–00–00–––000
Silvan Widmer–0–00–00–––000
Andreas Hanche-Olsen–0–00–00–––000
Phillipp Mwene–0–10–00–––000
Anthony Caci–0–10–00––0100
Nikolas Veratschnig–0–00–00––0100
Lee Jae-Sung–0–10–00––0100
Dominik Kohr–0–10–00–––000
Lennard Maloney–0–00–00–––000
Paul Nebel–0–10–01––0101
Kaishu Sano–0–00–00––0100
Daniel Gleiber–0–00–00–––000
Armindo Sieb–0–00–00––0200
Nelson Weiper–0–30–00––0500
Moritz Jenz–0–20–00––0100
Arnaud Nordin–0–10–00–––000
Hong Hyun-Seok–0–00–00–––000
TSG Hoffenheim boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Anton Stach–0–20–00––0.500210
Stanley N'Soki–0–20–00–––001
Tom Bischof–0–20–00–––001
Haris Tabakovic–0–30–00––0100
Arthur Chaves–0–20–00––1111
Marius Bulter–0–10–00––1110
Oliver Baumann––1––00–11––––
Luca Philipp–0–00–00–––000
Kevin Akpoguma–0–00–00–––000
Valentin Gendrey–0–10–00–––000
Andrej Kramaric–0–02–00––1220
Adam Hlozek–0–00–00––0100
Bazoumana Touré–2–30–00–––000
Umut Tohumcu–0–00–00–––000
Gift Orban–0–00–00–––000
David Jurásek–0–00–00–––000
Pavel Kaderábek–0–00–00–––000
Dennis Geiger–0–20–00–––000
Erencan Yardimci–0–00–00–––000
Finn Becker–0–00–00–––000

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