San Francisco Giants 3, Kansas City Royals 1

baseball game fileFinal
Surprise Stadium · Surprise
Boxscore

Key evidence.

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

San Francisco Giants boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Wade MecklerLF11000–0––10–0––12–1–100010–1––
Heliot RamosDH40000–0––00–0––00–4–000001–0––
Jonah CoxCF0–000–0––00–0–––––0–0000–0–0––
Kai-Wei TengP––––03–000–0010––3–130––––11–00
Sam HuffC20001–0––00–0––0.3330.333–3–000000–0––
Tristan BeckP––––15–002–0010––3–250––––00–03
Brett WiselySS30000–0––00–0––00–3–000001–0––
Christian KossSS0–000–0––00–0–––––0–0000–0–0––
Grant McCrayCF30001–0––00–0––0.2500.250–4–001003–0––
Luis MatosRF20001–0––00–0––0.3330.333–3–000000–0––
Tyler Fitzgerald2B40.250000–0––10–1––0.2501.250–4–110013–4––
Jerar EncarnacionLF30000–0––00–0––00–3–000001–0––
Logan PorterC11100–0––10–0––13–1–110020–2––
Lou Trivino IIIP––––03–000–0010––3–120––––20–10
Turner HillRF10000–0––00–0––00–1–000001–0––
Sabin Ceballos3B11000–0––10–0––12–1–010010–1––
David Villar1B40000–0––00–0––00–4–000003–0––
Jake Lamb1B30.333000–0––10–0––0.3330.667–3–00000.3330–1––
Brett Auerbach2B0–000–0––00–0–––––0–0000–0–0––
Jordan HicksP––––020–11.5883–015.6670––17–631––––30–00.529
Antonio JimenezP––––01–000–000.3330––1–40––––00–00
Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Bobby Witt Jr.SS30.333000–0––10–1––0.3331.667–3–11001.3331–4––
Salvador Perez1B30.333000–0––10–0––0.3330.667–3–00000.3330–1––
Lucas ErcegP––––14–000–0010––3–220––––20–01
Freddy FerminC20000–0––00–0––00–2–000000–0––
Daniel Lynch IVP––––06–2183–0011––3–282––––20–03
John SchreiberP––––03–000–0010––3–100––––00–00
Michael WachaP––––219–11.8002–0150––15–801––––80–00.800
Nelson VelazquezPH10000–0––00–0––00–1–000000–0––
MJ MelendezLF20.500000–0––10–0––0.5001–2–00000.5000–1––
Jordan Groshans3B0–000–0––00–0–––––0–0000–0–0––
Joey WiemerPR0–000–1––00–0–––––0–0000–0–0––
Hunter HarveyP––––03–000–0010––3–100––––10–00
Jonathan India2B30.333100–0––10–0––0.3331–3–00000.6671–2––
Vinnie PasquantinoDH30000–0––00–0––00–3–000000–0––
Jack Pineda2B10000–0––00–0––00–1–000000–0––
Drew WatersCF10000–0––00–0––00–1–000001–0––
Nick Pratto1B10000–0––00–0––00–1–000001–0––
Dustin DickersonSS10000–0––00–0––00–1–000001–0––
Cavan BiggioRF0–001–0––00–0––1––1–0000–0–0––
Dairon BlancoCF20000–0––00–0––00–2–000001–0––
Maikel Garcia3B30000–0––00–0––00–3–000000–0––
Kale EmshoffC0–000–0––00–0–––––0–0000–0–0––
Harold CastroLF20.500000–0––10–0––0.5001–2–00000.5000–1––
Luke MaileC0–000–0––01–0––1––1–0000–0–0––
Hunter RenfroeRF20000–0––00–0––00–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_06fhn9dnhdxp132f3y23htsvy4
curl "https://api.statshawk.ai/v1/contests/cst_06fhn9dnhdxp132f3y23htsvy4" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhn9dnhdxp132f3y23htsvy4/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fhn9dnhdxp132f3y23htsvy4/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhn9dnhdxp132f3y23htsvy4/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fhn9dnhdxp132f3y23htsvy4/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fhn9dnhdxp132f3y23htsvy4/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fhn9dnhdxp132f3y23htsvy4/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