TSG Hoffenheim 3, Borussia Dortmund 2

soccer game fileFinal
SIGNAL IDUNA PARK · Aue · Germany
Boxscore

Key evidence.

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

TSG Hoffenheim boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Anton Stach1100000001000
Robert Skov010000000000
Maximilian Beier012000000.6673200
Marius Bulter000000000000
Oliver Baumann0200.7145
Luca Philipp000000000000
Ozan Kabak010000000000
Andrej Kramaric000000000000
Ihlas Bebou021000000.5002100
Max Moerstedt000000000000
Umut Tohumcu0100000011101
Wout Weghorst000000000000
David Jurásek000000000000
Florian Grillitsch110000000000
Tim Drexler000000000000
Pavel Kaderábek0000000001000
Dennis Geiger000000000001
Finn Becker000000000000
John Brooks0100000011101
Kasim Nuhu000000000000
Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Ian Maatsen0000000001000
Jamie Gittens000000000000
Donyell Malen021000000.5004201
Niclas Füllkrug000000000.3333100
Jadon Sancho000000000000
Alexander Meyer0300.4002
Ramy Bensebaini000000000000
Julian Ryerson000000000000
Nico Schlotterbeck011000000.5002100
Emre Can0000000001000
Marcel Sabitzer010000000.1676101
Julian Brandt000000000000
Salih Özcan000000000000
Karim Adeyemi0100000001000
Marius Wolf000000000000
Julien Duranville010000000000
Youssoufa Moukoko000000000000
Marco Reus200000000.3333100
Marcel Lotka000000000000
Mats Hummels000000000000

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