Kansas City Royals 8, St. Louis Cardinals 5

baseball game fileFinal
Busch Stadium · St. Louis
Boxscore

Key evidence.

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

Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Bobby Witt Jr.SS40.500000–0––20–0––0.4000.900–5–11010.5001–2––
Salvador PerezDH30.333000–0––10–1––0.2501.583–4–12011.3331–4––
Michael Massey2B40.500000–0––20–0––0.5001–4–00000.5000–2––
Freddy FerminC40000–0––00–0––00–4–000001–0––
John SchreiberP––––03–000–1010––3–120––––20–00
Michael WachaP––––123–35.4007–0150––15–844––––30–11.600
MJ MelendezLF40.250000–0––10–1––0.2501.250–4–110010–4––
Vinnie Pasquantino1B50.400100–0––20–0––0.4001–5–11000.6000–3––
Kyle IsbelCF30.667001–0––20–1––0.7502.417–4–31101.6671–5––
Kris BubicP––––03–000–1010––3–100––––10–00
Adam Frazier3B40.250000–0––10–0––0.2500.500–4–11000.2501–1––
Maikel Garcia3B10000–0––00–0––00–1–000001–0––
Angel ZerpaP––––05–192–1010––3–221––––10–02
Hunter RenfroeRF40.250000–0––10–0––0.2500.500–4–01000.2500–1––
James McArthurP––––04–001–0010––3–190––––01–01
St. Louis Cardinals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Nolan Arenado3B40000–0––00–0––00–4–000000–0––
Alec BurlesonDH40.250100–0––10–0––0.2500.750–4–11000.5001–2––
Lars NootbaarRF40.500100–0––20–1––0.5002–4–21001.5000–6––
Masyn WinnSS20.500000–0––10–0––0.5001–2–00000.5000–1––
Willson ContrerasC50.200000–0––10–0––0.2000.400–5–11000.2001–1––
Paul Goldschmidt1B40.250000–0––10–0––0.2500.500–4–01000.2501–1––
Andrew KittredgeP––––04–191–0110––3–141––––20–01
John KingP––––06–001–001.6670––5–170––––00–00.600
Gordon GraceffoP––––013–38.1004–013.3331––10–383––––20–01.200
Matthew LiberatoreP––––010–316.2005–011.6670––5–423––––00–03
Nolan Gorman2B40.250100–0––10–0––0.2500.750–4–01000.5003–2––
Ryan FernandezP––––16–16.7501–001.3330––4–261––––20–01.500
Dylan CarlsonCF11000–0––10–0––12–1–100010–1––
Michael SianiCF20000–0––00–0––00–2–000001–0––
Brendan DonovanLF50.400100–0––20–0––0.4001–5–00000.6000–3––
Matt CarpenterPH10000–0––00–0––00–1–000000–0––
Brandon CrawfordSS10001–0––00–0––0.5000.500–2–000000–0––

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