VfL Bochum 2, 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

VfL Bochum
VfL Bochum boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Tim Oermann–0–10–00–––000
Patrick Drewes––0––40–0.5004––––
Ibrahima Sissoko–0–00–00–––000
Myron Boadu–0–00–00––0200
Matús Bero–0–01–00––1110
Jakov Medic–0–00–00–––000
Maximilian Wittek–0–00–00––0.500210
Felix Passlack–0–20–00––1110
Anthony Losilla–0–10–00–––000
Moritz Broschinski–0–00–00–––000
Philipp Hofmann–1–00–00––0100
Noah Loosli–0–00–00–––000
Timo Horn–0–00–00–––000
Cristian Gamboa–0–00–00–––000
Aliou Baldé–0–00–00–––000
Samuel Bamba–0–00–00–––000
Mats Pannewig–0–00–00–––000
Dani de Wit–0–31–00––0.500210
Koji Miyoshi–0–00–00–––000
Moritz-Broni Kwarteng–0–00–00–––000
Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Pascal Gross–0–20–00––0.500211
Jamie Gittens–0–00–00––0200
Donyell Malen–0–00–00–––000
Alexander Meyer–0–00–00–––000
Gregor Kobel––0––20–0.6003––––
Niklas Süle–0–00–00––0100
Ramy Bensebaini–0–00–00––0100
Waldemar Anton–0–00–00–––000
Julian Ryerson–0–10–00––0100
Nico Schlotterbeck–0–00–00–––000
Yan Couto–0–10–00–––001
Emre Can–0–21–00––0.333310
Julian Brandt–1–00–00––0.500210
Felix Nmecha–0–01–00––1110
Serhou Guirassy–0–12–00––0.500630
Karim Adeyemi–2–30–00––0.333310
Maximilian Beier–0–10–00–––000
Julien Duranville–0–00–00––0100
Kjell-Arik Wätjen–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_06fhq10abntt356bqm976zb56m
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10abntt356bqm976zb56m" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhq10abntt356bqm976zb56m/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10abntt356bqm976zb56m/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhq10abntt356bqm976zb56m/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10abntt356bqm976zb56m/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhq10abntt356bqm976zb56m/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhq10abntt356bqm976zb56m/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