TSG Hoffenheim 1, Mainz 4

soccer game fileFinal
MEWA ARENA · Mainz · Germany
Boxscore

Key evidence.

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

TSG Hoffenheim boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Anton Stach–0–30–00––0100
Robert Skov–0–00–00–––000
Maximilian Beier–0–10–00––0200
Marius Bulter–0–00–00–––000
Oliver Baumann––0––40–0.5004––––
Luca Philipp–0–00–00–––000
Kevin Akpoguma–0–00–00–––000
Ozan Kabak–0–20–00–––001
Grischa Prömel–0–10–00–––001
Andrej Kramaric–1–00–00––0100
Ihlas Bebou–0–00–00–––000
Umut Tohumcu–0–10–00–––000
Wout Weghorst–0–00–00–––000
David Jurásek–0–20–00–––000
Florian Grillitsch–0–10–00–––000
Tim Drexler–0–10–00–––000
Pavel Kaderábek–0–01–00––1110
Dennis Geiger–0–00–00–––000
Finn Becker–0–00–00–––000
John Brooks–0–10–00–––000

Team line

Mainz
Mainz boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Sepp van den Berg–0–10–00–––000
Brajan Gruda–0–11–00––1110
Jonathan Burkardt–1–21–00––0.333620
Tom Krauss–1–00–00–––000
Daniel Batz–0–00–00–––000
Robin Zentner––0––10–00––––
Silvan Widmer–0–00–00–––000
Andreas Hanche-Olsen–0–20–00––0100
Phillipp Mwene–0–11–00––0.200510
Anthony Caci–1–00–00––0200
Lee Jae-Sung–0–10–00––0.500210
Dominik Kohr–0–20–00––0.333310
Nadiem Amiri–1–00–00––0100
Jessic Ngankam–0–00–00–––000
Ludovic Ajorque–0–10–00–––000
Leandro Barreiro–0–00–00––0100
Karim Onisiwo–0–01–00––1110
Edimilson Fernandes–0–00–00–––000
Merveille Papela–0–00–00–––000
Josuha Guilavogui–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_06fhs49ykdzf12ydv5gyagxke0
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49ykdzf12ydv5gyagxke0" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49ykdzf12ydv5gyagxke0/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49ykdzf12ydv5gyagxke0/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49ykdzf12ydv5gyagxke0/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49ykdzf12ydv5gyagxke0/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49ykdzf12ydv5gyagxke0/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49ykdzf12ydv5gyagxke0/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