Pittsburgh Pirates 2, Baltimore Orioles 3

baseball game fileFinal
Oriole Park at Camden Yards · Baltimore
Boxscore

Key evidence.

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

Pittsburgh Pirates boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Bryan ReynoldsRF40001–0––00–0––0.2000.200–5–000002–0––
Nick Gonzales2B50.200000–0––10–0––0.2000.400–5–00000.2001–1––
Jared Triolo3B40001–0––00–0––0.2000.200–5–000001–0––
Henry DavisC30000–0––00–0––00–3–000002–0––
Dennis SantanaP––––03–000–0010––3–100––––10–00
Joey BartC0–001–0––00–0––1––1–0000–0–0––
Mike BurrowsP––––115–12.2502–0040––12–561––––60–00.750
Braxton AshcraftP––––214–132–0130––9–631––––40–01.333
Isaac MattsonP––––25–000–0010––3–150––––10–02
Spencer Horwitz1B50.200100–0––10–0––0.2000.600–5–10000.4001–2––
Liover PegueroSS0–000–0––00–0–––––0–0000–0–0––
Jihwan Bae–0–000–0––00–0–––––0–0000–0–0––
Jihwan BaePR0–000–0––00–0–––––0–0000–0–0––
Andrew McCutchenDH50.200000–0––10–0––0.2000.400–5–01000.2000–1––
Oneil CruzCF30.333001–0––10–0––0.5000.833–4–00000.3331–1––
Kyle NicolasP––––02–000–0010––3–80––––00–00
Tommy PhamLF40.250001–0––10–1––0.4001.400–5–110010–4––
Cam Devanney3B40000–0––00–0––00–4–000002–0––
Dauri MoretaP––––13–0–2–0001––0–51––––00–0–
Baltimore Orioles boxscore
PlayerPosabavgb2b3bbbfcsererahhbphldhriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Gunnar HendersonSS40001–0––00–0––0.2000.200–5–101002–0––
Samuel BasalloC50.200000–0––10–0––0.2000.400–5–01000.2001–1––
Dylan BeaversRF10002–0––00–0––0.6670.667–4–000001–0––
Coby Mayo1B30000–0––00–0––00–3–000001–0––
Colton CowserCF40001–0––00–0––0.2000.200–5–000002–0––
Jackson Holliday2B40.500001–0––20–0––0.6001.100–5–10000.5001–2––
Kyle BradishP––––227–11.2864–0070––21–811––––60–00.857
Jorge MateoPR0–000–0––00–0–––––0–0000–0–0––
Yennier CanoP––––03–113.5001–010.6670––2–191––––00–01.500
Keegan AkinP––––23–000–000.3330––1–150––––10–06
Dylan CarlsonPH0–001–0––00–0––1––1–0000–0–0––
Ryan Mountcastle1B40.250000–0––10–0––0.2000.450–5–01010.2501–1––
Dietrich EnnsP0–0016000000020––60220000–20010.500
Luis Vazquez3B0–000–0––00–0–––––0–0000–0–0––
Emmanuel Rivera3B40000–0––00–0––00–4–000001–0––
Jeremiah JacksonRF30.667000–0––21–1––0.7502.417–4–11001.6671–5––
Rico GarciaP––––03–000–1010––3–140––––10–00
Daniel JohnsonLF10000–0––00–0––00–1–000001–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_06fjvygky9vg33r9b7e81f0gtm
curl "https://api.statshawk.ai/v1/contests/cst_06fjvygky9vg33r9b7e81f0gtm" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fjvygky9vg33r9b7e81f0gtm/boxscore
curl "https://api.statshawk.ai/v1/contests/cst_06fjvygky9vg33r9b7e81f0gtm/boxscore" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fjvygky9vg33r9b7e81f0gtm/matchup
curl "https://api.statshawk.ai/v1/contests/cst_06fjvygky9vg33r9b7e81f0gtm/matchup" \
  -H "X-API-Key: sk_live_YOUR_KEY_HERE"
Authenticated request · GET /v1/contests/cst_06fjvygky9vg33r9b7e81f0gtm/play-by-play?detail=full
curl "https://api.statshawk.ai/v1/contests/cst_06fjvygky9vg33r9b7e81f0gtm/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