Borussia Dortmund 2, Werder Bremen 1

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 concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Ian Maatsen000000000000
Jamie Gittens000000000000
Donyell Malen0010000011100
Niclas Füllkrug0200000001000
Jadon Sancho0010000011100
Alexander Meyer000000000000
Gregor Kobel0100.8004
Niklas Süle010000000000
Ramy Bensebaini0000000001000
Julian Ryerson010000000000
Nico Schlotterbeck020000000001
Emre Can0000000003000
Marcel Sabitzer0100000101000
Julian Brandt1000000011100
Salih Özcan0000000011100
Felix Nmecha000000000000
Karim Adeyemi0100000011101
Youssoufa Moukoko000000000000
Marco Reus000000000000
Mats Hummels0000000011100

Team line

Werder Bremen
Werder Bremen boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Nick Woltemade000000000000
Michael Zetterer0200.6674
Anthony Jung000000000000
Mitchell Weiser000000000.4005200
Niklas Stark030000000000
Felix Agu000000000000
Julian Malatini000000000000
Leonardo Bittencourt0100000001000
Jens Stage000000000000
Romano Schmid1100000001001
Senne Lynen010000000000
Justin Njinmah001000000.3333100
Isak Hansen-Aarøen000000000000
Skelly Alvero000000000000
Milos Veljkovic000000000000
Marvin Ducksch000000000.2504100
Dawid Kownacki0000000002000
Christian Groß000000000000
Jirí Pavlenka000000000000
Naby Keïta000000000000

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