St. Louis Cardinals 1, Kansas City Royals 2

baseball game fileFinal
Kauffman Stadium · Kansas City
Boxscore

Key evidence.

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

St. Louis Cardinals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Nolan Arenado3B50.400000–0––20–0––0.4000.800–5–00000.4001–2––
Ivan HerreraDH30.667000–0––21–0––0.7501.417–4–00000.6670–2––
Alec BurlesonLF40.250000–0––10–1––0.2501.250–4–110010–4––
Lars NootbaarRF50.200000–0––10–0––0.2000.400–5–00000.2002–1––
Masyn WinnSS50000–0––00–0––00–5–000000–0––
Pedro PagesC0–000–0––00–0–––––0–0000–0–0––
JoJo RomeroP––––15–001–0010––3–110––––10–02
Willson Contreras1B50000–0––00–0––00–5–000002–0––
Matthew LiberatoreP––––126–11.5006–0060––18–921––––50–01.167
Jose BarreroPR0–000–0––00–0–––––0–0000–0–0––
Yohel PozoC40.500000–0––20–0––0.5001–4–00000.5000–2––
Chris RoycroftP––––04–192–0011––3–71––––00–02
Victor Scott IICF10001–0––01–0––0.6670.667–4–000001–0––
Brendan Donovan2B50.800100–0––40–0––0.8001.800–5–000011–5––
Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Bobby Witt Jr.SS40000–0––00–0––00–4–000000–0––
Salvador Perez1B40.500000–0––20–0––0.5001–4–00000.5000–2––
Michael Massey2B40.250000–0––10–0––0.2500.500–4–00000.2500–1––
Lucas ErcegP––––17–001–001.6670––5–260––––10–11.200
Freddy FerminC30001–0––00–0––0.2500.250–4–000001–0––
Daniel Lynch IVP––––04–001–000.6670––2–140––––00–01.500
John SchreiberP––––03–001–000.6670––2–110––––00–01.500
Michael WachaP––––023–11.8008–0150––15–831––––60–01.600
Vinnie PasquantinoDH40.250000–0––10–0––0.2500.500–4–00000.2501–1––
Kyle IsbelCF10000–0––00–0––00–1–000001–0––
Drew WatersLF11010–0––10–0––14–1–100030–3––
Mark CanhaLF20.500000–0––11–0––0.6671.167–3–00000.5001–1––
Cavan BiggioDH0–000–0––00–0–––––0–0000–0–0––
Dairon BlancoCF20.500100–0––10–0––0.5001.500–2–011011–2––
Carlos EstévezP––––04–001–0010––3–120––––01–01
Maikel Garcia3B30.333001–1––10–0––0.5000.833–4–01000.3331–1––
Hunter RenfroeRF40.250100–0––10–0––0.2500.750–4–10000.5000–2––

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