1. FC Union Berlin 0, Werder Bremen 2

soccer game fileFinal
Weserstadion · Bremen · Germany
Boxscore

Key evidence.

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

1. FC Union Berlin boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Brenden Aaronson–0–10–00–––000
Sheraldo Becker–0–10–00––0100
Mikkel Kaufmann–0–00–00–––000
Frederik Ronnow––0––10–0.7503––––
Christopher Trimmel–0–00–00––1110
Diogo Leite–0–20–00–––001
Rani Khedira–0–10–01–––000
Janik Haberer–0–10–00––0100
Alex Král–0–00–00––0100
Benedict Hollerbach–0–10–00–––001
Robin Gosens–0–20–00––0101
Lucas Tousart–0–00–00–––000
Alexander Schwolow–0–00–00–––000
Paul Jaeckel–0–00–00–––000
Kevin Behrens–0–10–00––0100
Jérôme Roussillon–0–00–00–––000
Kevin Volland–0–00–00–––000
Robin Knoche–0–10–00––1110
Aïssa Laïdouni–0–20–00––1111
Leonardo Bonucci–0–00–00–––000

Team line

Werder Bremen
Werder Bremen boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Nick Woltemade–0–10–00–––000
Michael Zetterer––1––00–12––––
Anthony Jung–0–00–00–––000
Mitchell Weiser–0–00–00–––000
Marco Friedl–0–20–00–––000
Amos Pieper–0–00–00–––000
Felix Agu–0–00–00–––000
Olivier Deman–0–10–00–––000
Leonardo Bittencourt–0–20–00––0300
Jens Stage–0–50–00–––001
Romano Schmid–0–00–00––0.500210
Senne Lynen–0–10–00––1110
Justin Njinmah–0–00–00––1110
Leon Opitz–0–00–00–––000
Milos Veljkovic–1–00–00–––000
Marvin Ducksch–0–01–00––0.500210
Dawid Kownacki–0–00–00–––000
Rafael Borré–0–00–00––0100
Dudu–0–00–00–––000
Cimo Röcker–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_06fhs49arsxn76fy69q6cxpje8
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49arsxn76fy69q6cxpje8" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49arsxn76fy69q6cxpje8/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49arsxn76fy69q6cxpje8/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49arsxn76fy69q6cxpje8/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49arsxn76fy69q6cxpje8/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49arsxn76fy69q6cxpje8/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49arsxn76fy69q6cxpje8/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