Bayer Leverkusen 1, VfL Bochum 1

soccer game fileFinal
Vonovia Ruhrstadion · Bochum · Germany
Boxscore

Key evidence.

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

Bayer Leverkusen boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Jeremie Frimpong–0–10–00––1110
Florian Wirtz–1–00–00––0200
Granit Xhaka–0–10–00–––000
Piero Hincapié–0–10–00––0100
Niklas Lomb–0–00–00–––000
Alejandro Grimaldo–0–00–00––0200
Edmond Tapsoba–0–10–00–––000
Arthur–0–00–00–––000
Jonas Hofmann–0–00–00–––000
Robert Andrich–0–40–00–––000
Aleix García–0–00–00–––000
Exequiel Palacios–0–00–00–––000
Patrik Schick–0–01–00––0.500421
Nathan Tella–0–10–00–––000
Jonathan Tah–0–00–00–––000
Victor Boniface–0–00–00––0100
Lukas Hradecky––0––10–0.6672––––
Matej Kovár–0–00–00–––000
Kerim Alajbegovic–0–00–00–––000
Francis-Ikechukwu Onyeka–0–00–00–––000

Team line

VfL Bochum
VfL Bochum boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededminutesredsave pctsavesshot accuracyshotssotyellow
Tim Oermann–0–00–00––0100
Patrick Drewes––0––10–0.7503––––
Ibrahima Sissoko–0–10–00––0100
Matús Bero–0–00–00––0200
Erhan Masovic–0–00–00–––000
Jakov Medic–0–00–00–––000
Maximilian Wittek–0–10–00––0100
Felix Passlack–0–10–00–––000
Lukas Daschner–0–00–00–––000
Anthony Losilla–0–10–00––0100
Moritz Broschinski–0–20–00––0.400520
Philipp Hofmann–0–10–00–––000
Timo Horn–0–00–00–––000
Cristian Gamboa–0–00–00––0100
Agon Elezi–0–00–00–––000
Mats Pannewig–0–00–00–––000
Dani de Wit–0–00–00––0100
Koji Miyoshi–0–11–00––1110
Ivan Ordets–0–00–00–––000
Gerrit Holtmann–0–20–00––0100

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