Borussia Dortmund 0, Werder Bremen 0

soccer game fileFinal
Weserstadion · Bremen · Germany
Boxscore

Key evidence.

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

Borussia Dortmund boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Pascal Gross–0–10–00––0101
Jamie Gittens–0–10–00–––000
Donyell Malen–0–00–00––1110
Alexander Meyer–0–00–00–––000
Gregor Kobel––1––00–11––––
Niklas Süle–0–00–00–––001
Ramy Bensebaini–0–20–00–––001
Waldemar Anton–0–30–00––0201
Julian Ryerson–0–10–00–––001
Nico Schlotterbeck–0–40–01––1111
Filippo Mané–0–00–00–––000
Emre Can–0–10–00–––000
Marcel Sabitzer–0–10–00––1110
Julian Brandt–0–10–00––0200
Felix Nmecha–0–00–00–––000
Karim Adeyemi–0–00–00––1110
Maximilian Beier–0–00–00–––000
Giovanni Reyna–0–00–00–––000
Julien Duranville–0–00–00–––000
Marcel Lotka–0–00–00–––000

Team line

Werder Bremen
Werder Bremen boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Oliver Burke–0–00–00–––000
Michael Zetterer––1––00–15––––
Anthony Jung–0–10–00–––000
Mio Backhaus–0–00–00–––000
Mitchell Weiser–0–10–00–––001
Niklas Stark–0–40–00–––000
Marco Friedl–0–00–00–––001
Felix Agu–0–10–00–––000
Olivier Deman–0–00–00–––000
Julian Malatini–0–00–00–––000
Leonardo Bittencourt–0–00–00–––000
Jens Stage–0–10–00–––000
Romano Schmid–0–10–00––0100
Senne Lynen–0–10–00–––000
Marco Grüll–0–00–00–––000
Keke Topp–0–00–00–––000
Justin Njinmah–0–00–00––0100
Isak Hansen-Aarøen–0–00–00–––000
Skelly Alvero–0–00–00–––000
Marvin Ducksch–0–00–00––0.333310

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