Borussia Dortmund 2, 1. FC Union Berlin 0

soccer game fileFinal
Stadion An der Alten Försterei · Berlin · 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
Ian Maatsen–0–11–00––1220
Jamie Gittens–0–00–00––0200
Niclas Füllkrug–1–10–00––0.500210
Jadon Sancho–0–10–00––0100
Alexander Meyer––1––00–14––––
Niklas Süle–0–10–00–––000
Ramy Bensebaini–0–00–00–––000
Julian Ryerson–0–10–00–––001
Nico Schlotterbeck–0–00–00––1110
Emre Can–0–00–00–––000
Marcel Sabitzer–0–00–00––0.500210
Julian Brandt–0–00–00––1110
Salih Özcan–0–00–00–––000
Karim Adeyemi–0–21–00––0.500210
Marius Wolf–0–00–00–––000
Julien Duranville–0–00–00–––000
Youssoufa Moukoko–0–00–00–––000
Marco Reus–0–00–00–––000
Marcel Lotka–0–00–00–––000
Mats Hummels–0–00–00–––000
1. FC Union Berlin boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Brenden Aaronson–0–10–00––0100
Frederik Ronnow––0––20–0.7145––––
Christopher Trimmel–0–00–00–––000
Josip Juranovic–0–00–00–––000
Danilho Doekhi–0–00–00–––000
Diogo Leite–0–10–00––0200
Rani Khedira–0–10–00–––000
Janik Haberer–0–10–00–––001
Alex Král–0–00–00–––000
András Schäfer–0–10–00––0.500210
Benedict Hollerbach–0–10–00––0200
Lucas Tousart–0–20–00––0100
Kevin Vogt–0–00–00––0200
Yorbe Vertessen–0–10–00––0101
Alexander Schwolow–0–00–00–––000
Jérôme Roussillon–0–00–00–––000
Kevin Volland–0–10–00––0.667320
Robin Knoche–0–00–00–––000
Aïssa Laïdouni–0–00–00–––000
Chris Bedia–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_06fhs49sb5sh55zcc07ax0yg1g
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49sb5sh55zcc07ax0yg1g" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49sb5sh55zcc07ax0yg1g/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49sb5sh55zcc07ax0yg1g/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49sb5sh55zcc07ax0yg1g/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49sb5sh55zcc07ax0yg1g/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhs49sb5sh55zcc07ax0yg1g/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhs49sb5sh55zcc07ax0yg1g/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