Kansas City Royals 4, Oakland Athletics 2

baseball game fileFinal
Sutter Health Park · Sacramento
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.SS50.400000–0––20–0––0.4000.800–5–01100.4000–2––
Carter JensenDH20002–0––00–0––0.5000.500–4–000001–0––
Salvador PerezC30001–0––00–0––0.2500.250–4–000002–0––
Michael Massey2B40.250000–0––10–0––0.2500.500–4–10000.2501–1––
Tyler TolbertCF0–000–0––00–0–––––0–1010–0–0––
Mike YastrzemskiRF40.500101–0––20–0––0.6001.350–5–20000.7500–3––
Randal GrichukPH11000–0––10–0––12–1–000010–1––
John SchreiberP––––04–113.5002–100.6670––2–151––––00–03
Michael WachaP––––322–002–0060––18–830––––50–10.833
John RaveCF30000–0––00–0––00–3–000001–0––
Jonathan BowlanP––––01–000–100.6670––2–60––––00–00
Vinnie Pasquantino1B50.200100–0––10–0––0.2000.600–5–02000.4000–2––
Adam FrazierLF30.333001–0––10–0––0.5000.833–4–00000.3330–1––
Carlos EstévezP––––04–000–0010––3–210––––21–00
Maikel Garcia3B40000–0––00–0––00–4–000002–0––
Angel ZerpaP––––04–113.5002–100.6670––2–111––––00–03
Oakland Athletics boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
JJ BledayPH10000–0––00–0––00–1–000000–0––
Tyler FergusonP––––15–001–0010––3–230––––20–02
Shea LangeliersC40.750100–0––30–0––0.7501.750–4–010010–4––
Nick Kurtz1B30.333001–0––10–0––0.5000.833–4–10000.3330–1––
Carlos CortesRF40.250100–0––10–0––0.2500.750–4–01000.5000–2––
Elvis AlvaradoP––––15–000–001.3330––4–180––––00–00.750
Max Schuemann2B20000–0––00–0––00–2–000001–0––
Hogan HarrisP––––04–192–0010––3–151––––00–02
Darell Hernaiz2B40.250000–0––10–0––0.2500.500–4–10000.2501–1––
Tyler SoderstromLF40000–0––00–0––00–4–000001–0––
Brett Harris3B0–000–0––00–0–––––0–0000–0–0––
Brent RookerDH30001–0––00–0––0.2500.250–4–000002–0––
Luis MoralesP––––221–23.8575–004.6671––14–1013––––50–01.500
Lawrence ButlerCF30001–0––00–0––0.2500.250–4–000001–0––
Jacob WilsonSS30000–0––01–0––0.2500.250–4–000001–0––
Jacob Wilson–30000–0––00–0––00–3–000001–0––
Michael KellyP––––14–000–0010––3–190––––00–01

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