TSG Hoffenheim 2, SC Freiburg 3

soccer game fileFinal
Europa-Park Stadion · Freiburg im Breisgau · 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–00–00––0200
Stanley N'Soki–0–10–00–––001
Tom Bischof–0–40–00––0101
Haris Tabakovic–0–30–00––0200
Arthur Chaves–0–00–00–––000
Marius Bulter–0–01–00––0.667320
Oliver Baumann––0––30–0.5003––––
Luca Philipp–0–00–00–––000
Kevin Akpoguma–0–10–00––0100
Valentin Gendrey–0–00–00–––000
Robin Hranác–0–00–00–––000
Andrej Kramaric–0–11–00––0.800540
Adam Hlozek–0–00–00––0100
Bazoumana Touré–0–20–00––0100
Umut Tohumcu–0–00–00–––000
Gift Orban–0–00–00–––000
David Jurásek–0–00–00–––000
Pavel Kaderábek–0–10–00––0100
Dennis Geiger–0–10–00––0200
Finn Becker–0–00–00–––000

Team line

SC Freiburg
SC Freiburg boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Merlin Röhl–0–10–00–––000
Ritsu Doan–0–21–00––1111
Michael Gregoritsch–0–00–00–––000
Florian Müller––0––20–0.6674––––
Jannik Huth–0–00–00–––000
Matthias Ginter–0–00–00––0200
Lukas Kübler–0–00–00––1110
Christian Günter–0–00–00–––000
Philipp Lienhart–0–00–00–––000
Niklas Beste–0–10–00–––000
Max Rosenfelder–0–00–00–––000
Jordy Makengo–0–20–00–––000
Nicolas Höfler–0–00–00–––000
Vincenzo Grifo–2–00–00–––000
Maximilian Eggestein–0–00–00––0.500210
Patrick Osterhage–0–20–00––0101
Johan Manzambi–1–00–00––0.500420
Lucas Höler–0–42–00––1221
Kiliann Sildillia–0–10–00–––000
Florent Muslija–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_06fhq10v7xya16vs4ndyt3pvyw
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10v7xya16vs4ndyt3pvyw" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhq10v7xya16vs4ndyt3pvyw/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10v7xya16vs4ndyt3pvyw/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhq10v7xya16vs4ndyt3pvyw/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10v7xya16vs4ndyt3pvyw/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhq10v7xya16vs4ndyt3pvyw/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10v7xya16vs4ndyt3pvyw/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