Kansas City Royals 3, Baltimore Orioles 5

baseball game fileFinal
Oriole Park at Camden Yards · Baltimore

Game flow

Every swing in the score.

The line is the running run differential: above the center favors Kansas City Royals, below favors Baltimore Orioles. It runs across every plate appearance and is marked by inning along the bottom. Select a scoring marker to jump to the play.

Score differential over the gameA positive differential means Kansas City Royals led; a negative differential means Baltimore Orioles led.Run differential+20−2123456789
  1. 01top 1: Carter Jensen strikes out swinging.00
  2. 02top 1: Bobby Witt Jr. doubles (21) on a sharp line drive to right fielder Dylan Beavers.00
  3. 03top 1: Jac Caglianone pops out to first baseman Pete Alonso in foul territory.00
  4. 04top 1: Lane Thomas strikes out swinging.00
  5. 05bottom 1: Gunnar Henderson grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.00
  6. 06bottom 1: Adley Rutschman walks.00
  7. 07bottom 1: Taylor Ward grounds into a force out, third baseman Josh Rojas to second baseman Michael Massey. Adley Rutschman out at 2nd. Taylor Ward to 1st.00
  8. 08bottom 1: Pete Alonso strikes out swinging.00
  9. 09top 2: Michael Massey grounds out to first baseman Pete Alonso.00
  10. 10top 2: Salvador Perez singles on a sharp ground ball to left fielder Taylor Ward.00
  11. 11top 2: Josh Rojas singles on a ground ball to shortstop Gunnar Henderson. Salvador Perez to 2nd.00
  12. 12top 2: Nick Loftin grounds into a double play, shortstop Gunnar Henderson to second baseman Jackson Holliday to first baseman Pete Alonso. Josh Rojas out at 2nd. Nick Loftin out at 1st.00
  13. 13bottom 2: Samuel Basallo grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.00
  14. 14bottom 2: Dylan Beavers singles on a sharp line drive to right fielder Jac Caglianone.00
  15. 15bottom 2: Colton Cowser called out on strikes.00
  16. 16bottom 2: Blaze Alexander singles on a line drive to center fielder Lane Thomas. Dylan Beavers to 3rd.00
  17. 17bottom 2: Jackson Holliday singles on a ground ball to right fielder Jac Caglianone. Dylan Beavers scores. Blaze Alexander to 3rd.01
  18. 18bottom 2: Gunnar Henderson singles on a sharp ground ball to center fielder Lane Thomas. Blaze Alexander scores. Jackson Holliday to 3rd.02
  19. 19bottom 2: Adley Rutschman grounds out, pitcher Luinder Avila to first baseman Salvador Perez.02
  20. 20top 3: Isaac Collins lines out to second baseman Jackson Holliday.02
  21. 21top 3: Carter Jensen flies out to center fielder Colton Cowser.02
  22. 22top 3: Bobby Witt Jr. strikes out swinging.02
  23. 23bottom 3: Taylor Ward singles on a line drive to center fielder Lane Thomas.02
  24. 24bottom 3: Pete Alonso walks.02
  25. 25bottom 3: Samuel Basallo grounds out, pitcher Luinder Avila to first baseman Salvador Perez. Pete Alonso to 2nd.02
  26. 26bottom 3: Dylan Beavers grounds out to first baseman Salvador Perez.02
  27. 27top 4: Jac Caglianone homers (15) on a fly ball to right center field.12
  28. 28top 4: Lane Thomas strikes out swinging.12
  29. 29top 4: Michael Massey walks.12
  30. 30top 4: Salvador Perez pops out to first baseman Pete Alonso.12
  31. 31top 4: Josh Rojas doubles (2) on a fly ball to left fielder Taylor Ward. Michael Massey scores.22
  32. 32top 4: Nick Loftin flies out to left fielder Taylor Ward.22
  33. 33bottom 4: Colton Cowser flies out to left fielder Isaac Collins.22
  34. 34bottom 4: Blaze Alexander homers (4) on a fly ball to left center field.23
  35. 35bottom 4: Jackson Holliday grounds out, first baseman Salvador Perez to pitcher Luinder Avila.23
  36. 36bottom 4: Gunnar Henderson flies out sharply to right fielder Jac Caglianone.23
  37. 37top 5: Orioles challenged (tag play), call on the field was overturned: Isaac Collins singles on a sharp line drive to right fielder Dylan Beavers. Isaac Collins out at 2nd on the throw, right fielder Dylan Beavers to shortstop Gunnar Henderson.23
  38. 38top 5: Carter Jensen flies out to center fielder Colton Cowser.23
  39. 39top 5: Bobby Witt Jr. pops out to catcher Adley Rutschman in foul territory.23
  40. 40bottom 5: Adley Rutschman singles on a sharp ground ball to shortstop Bobby Witt Jr., deflected by first baseman Salvador Perez.23
  41. 41bottom 5: Taylor Ward walks. Adley Rutschman to 2nd.23
  42. 42bottom 5: Pete Alonso strikes out swinging.23
  43. 43bottom 5: Samuel Basallo grounds out, pitcher Luinder Avila to first baseman Salvador Perez. Adley Rutschman to 3rd. Taylor Ward to 2nd.23
  44. 44bottom 5: Dylan Beavers grounds out, second baseman Michael Massey to first baseman Salvador Perez.23
  45. 45top 6: Jac Caglianone singles on a line drive to right fielder Dylan Beavers.23
  46. 46top 6: Lane Thomas grounds into a double play, third baseman Blaze Alexander to second baseman Jackson Holliday to first baseman Pete Alonso. Jac Caglianone out at 2nd. Lane Thomas out at 1st.23
  47. 47top 6: Michael Massey strikes out swinging.23
  48. 48bottom 6: Colton Cowser strikes out swinging.23
  49. 49bottom 6: Blaze Alexander grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.23
  50. 50bottom 6: Jackson Holliday grounds out softly to first baseman Salvador Perez.23
  51. 51top 7: Salvador Perez grounds out, second baseman Jackson Holliday to first baseman Pete Alonso.23
  52. 52top 7: Josh Rojas lines out sharply to center fielder Colton Cowser.23
  53. 53top 7: Nick Loftin grounds out, third baseman Blaze Alexander to first baseman Pete Alonso.23
  54. 54bottom 7: Gunnar Henderson strikes out swinging.23
  55. 55bottom 7: Adley Rutschman grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.23
  56. 56bottom 7: Taylor Ward lines out to center fielder Lane Thomas.23
  57. 57top 8: Isaac Collins homers (5) on a fly ball to center field.33
  58. 58top 8: Carter Jensen flies out to center fielder Colton Cowser.33
  59. 59top 8: Bobby Witt Jr. called out on strikes.33
  60. 60top 8: Jac Caglianone grounds out, third baseman Blaze Alexander to first baseman Pete Alonso.33
  61. 61bottom 8: Pete Alonso singles on a ground ball to center fielder Lane Thomas.33
  62. 62bottom 8: Samuel Basallo homers (15) on a fly ball to right field. Pete Alonso scores.35
  63. 63bottom 8: Tyler O'Neill flies out to right fielder Jac Caglianone.35
  64. 64bottom 8: Colton Cowser called out on strikes.35
  65. 65bottom 8: Blaze Alexander strikes out on a foul tip.35
  66. 66top 9: Lane Thomas grounds out, third baseman Blaze Alexander to first baseman Pete Alonso.35
  67. 67top 9: Michael Massey doubles (16) on a fly ball to right fielder Tyler O'Neill.35
  68. 68top 9: Salvador Perez pops out to catcher Adley Rutschman in foul territory.35
  69. 69top 9: Josh Rojas strikes out swinging.35
Boxscore

Key evidence.

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

Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Lane ThomasCF4000000000040000020
Bobby Witt Jr.SS40.25010001000.2500.750400000.50022
Carter JensenC4000000000040000010
Salvador Perez1B40.25000001000.2500.500400000.25001
Michael Massey2B30.33310101000.5001.167410000.66712
Isaac CollinsLF30.66700002010.6672.333311001.66705
Josh Rojas3B40.50010002000.5001.250401000.75013
Luinder AvilaP32435.4007150159633002
Steven CruzP0300001031301000
Matt StrahmP05218211132222002
Daniel Lynch IVP0300001031101000
Nick LoftinDH3000000000030000000
Jac CaglianoneRF40.50000002010.5001.750411001.25005
Baltimore Orioles boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Gunnar HendersonSS40.25000001000.2500.500401000.25011
Adley RutschmanC30.33300101000.5000.833400000.33301
Pete Alonso1B30.33300101000.5000.833410000.33321
Samuel BasalloDH40.25000001010.2501.25041200104
Blaze Alexander3B40.50000002010.5001.750421001.25015
Dylan BeaversRF30.33300001000.3330.667310000.33301
Tyler O'NeillRF1000000000010000000
Colton CowserCF4000000000040000030
Jackson Holliday2B30.33300001000.3330.667301000.33301
Andrew KittredgeP0400101031101101
Brandon YoungP12733.8578270218535001.286
Taylor WardLF30.33300111000.5000.833400000.33301
Rico GarciaP0300001031601010

Comparison

Side by side.

Final

Matchup

Before first pitch.

Probable pitchers and posted lineup context from the matchup card.

Lineups available2026-07-10T23:05:00Z · Final

Kansas City Royals

Probable pitcher: Luinder Avila (R)

Play-by-play

The game, at bat by at bat.

top 1st(4)
  • Carter Jensen vs Brandon Young0-0

    Carter Jensen strikes out swinging.

    1-3, 6 pitches · 0 outs before

  • Bobby Witt Jr. vs Brandon Young0-0

    Bobby Witt Jr. doubles (21) on a sharp line drive to right fielder Dylan Beavers.

    0-2, 3 pitches · 1 out before

  • Jac Caglianone vs Brandon Young0-0

    Jac Caglianone pops out to first baseman Pete Alonso in foul territory.

    1-1, 3 pitches · 1 out before

  • Lane Thomas vs Brandon Young0-0

    Lane Thomas strikes out swinging.

    2-3, 5 pitches · 2 outs before

bottom 1st(4)
  • Gunnar Henderson vs Luinder Avila0-0

    Gunnar Henderson grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.

    0-1, 2 pitches · 0 outs before

  • Adley Rutschman vs Luinder Avila0-0

    Adley Rutschman walks.

    4-2, 8 pitches · 1 out before

  • Taylor Ward vs Luinder Avila0-0

    Taylor Ward grounds into a force out, third baseman Josh Rojas to second baseman Michael Massey. Adley Rutschman out at 2nd. Taylor Ward to 1st.

    3-2, 6 pitches · 1 out before

  • Pete Alonso vs Luinder Avila0-0

    Pete Alonso strikes out swinging.

    1-3, 4 pitches · 2 outs before

top 2nd(4)
  • Michael Massey vs Brandon Young0-0

    Michael Massey grounds out to first baseman Pete Alonso.

    2-0, 3 pitches · 0 outs before

  • Salvador Perez vs Brandon Young0-0

    Salvador Perez singles on a sharp ground ball to left fielder Taylor Ward.

    1-0, 2 pitches · 1 out before

  • Josh Rojas vs Brandon Young0-0

    Josh Rojas singles on a ground ball to shortstop Gunnar Henderson. Salvador Perez to 2nd.

    2-1, 4 pitches · 1 out before

  • Nick Loftin vs Brandon Young0-0

    Nick Loftin grounds into a double play, shortstop Gunnar Henderson to second baseman Jackson Holliday to first baseman Pete Alonso. Josh Rojas out at 2nd. Nick Loftin out at 1st.

    1-0, 2 pitches · 1 out before

bottom 2nd(7)
  • Samuel Basallo vs Luinder Avila0-0

    Samuel Basallo grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.

    3-1, 5 pitches · 0 outs before

  • Dylan Beavers vs Luinder Avila0-0

    Dylan Beavers singles on a sharp line drive to right fielder Jac Caglianone.

    0-0, 1 pitch · 1 out before

  • Colton Cowser vs Luinder Avila0-0

    Colton Cowser called out on strikes.

    2-3, 5 pitches · 1 out before

  • Blaze Alexander vs Luinder Avila0-0

    Blaze Alexander singles on a line drive to center fielder Lane Thomas. Dylan Beavers to 3rd.

    0-1, 2 pitches · 2 outs before

  • Jackson Holliday vs Luinder Avila0-1

    Jackson Holliday singles on a ground ball to right fielder Jac Caglianone. Dylan Beavers scores. Blaze Alexander to 3rd.

    1-1, 3 pitches · 2 outs before

  • Gunnar Henderson vs Luinder Avila0-2

    Gunnar Henderson singles on a sharp ground ball to center fielder Lane Thomas. Blaze Alexander scores. Jackson Holliday to 3rd.

    1-1, 3 pitches · 2 outs before

  • Adley Rutschman vs Luinder Avila0-2

    Adley Rutschman grounds out, pitcher Luinder Avila to first baseman Salvador Perez.

    1-2, 4 pitches · 2 outs before

top 3rd(3)
  • Isaac Collins vs Brandon Young0-2

    Isaac Collins lines out to second baseman Jackson Holliday.

    2-2, 5 pitches · 0 outs before

  • Carter Jensen vs Brandon Young0-2

    Carter Jensen flies out to center fielder Colton Cowser.

    0-0, 1 pitch · 1 out before

  • Bobby Witt Jr. vs Brandon Young0-2

    Bobby Witt Jr. strikes out swinging.

    0-3, 3 pitches · 2 outs before

bottom 3rd(4)
  • Taylor Ward vs Luinder Avila0-2

    Taylor Ward singles on a line drive to center fielder Lane Thomas.

    3-2, 7 pitches · 0 outs before

  • Pete Alonso vs Luinder Avila0-2

    Pete Alonso walks.

    4-2, 7 pitches · 0 outs before

  • Samuel Basallo vs Luinder Avila0-2

    Samuel Basallo grounds out, pitcher Luinder Avila to first baseman Salvador Perez. Pete Alonso to 2nd.

    2-2, 6 pitches · 1 out before

  • Dylan Beavers vs Luinder Avila0-2

    Dylan Beavers grounds out to first baseman Salvador Perez.

    1-0, 2 pitches · 2 outs before

top 4th(6)
  • Jac Caglianone vs Brandon Young1-2

    Jac Caglianone homers (15) on a fly ball to right center field.

    0-1, 2 pitches · 0 outs before

  • Lane Thomas vs Brandon Young1-2

    Lane Thomas strikes out swinging.

    2-3, 5 pitches · 0 outs before

  • Michael Massey vs Brandon Young1-2

    Michael Massey walks.

    4-2, 6 pitches · 1 out before

  • Salvador Perez vs Brandon Young1-2

    Salvador Perez pops out to first baseman Pete Alonso.

    0-0, 1 pitch · 1 out before

  • Josh Rojas vs Brandon Young2-2

    Josh Rojas doubles (2) on a fly ball to left fielder Taylor Ward. Michael Massey scores.

    1-0, 2 pitches · 2 outs before

  • Nick Loftin vs Brandon Young2-2

    Nick Loftin flies out to left fielder Taylor Ward.

    0-2, 3 pitches · 2 outs before

bottom 4th(4)
  • Colton Cowser vs Luinder Avila2-2

    Colton Cowser flies out to left fielder Isaac Collins.

    0-2, 3 pitches · 0 outs before

  • Blaze Alexander vs Luinder Avila2-3

    Blaze Alexander homers (4) on a fly ball to left center field.

    0-1, 2 pitches · 1 out before

  • Jackson Holliday vs Luinder Avila2-3

    Jackson Holliday grounds out, first baseman Salvador Perez to pitcher Luinder Avila.

    2-1, 4 pitches · 1 out before

  • Gunnar Henderson vs Luinder Avila2-3

    Gunnar Henderson flies out sharply to right fielder Jac Caglianone.

    0-0, 1 pitch · 2 outs before

top 5th(3)
  • Isaac Collins vs Brandon Young2-3

    Orioles challenged (tag play), call on the field was overturned: Isaac Collins singles on a sharp line drive to right fielder Dylan Beavers. Isaac Collins out at 2nd on the throw, right fielder Dylan Beavers to shortstop Gunnar Henderson.

    1-2, 4 pitches · 0 outs before

  • Carter Jensen vs Brandon Young2-3

    Carter Jensen flies out to center fielder Colton Cowser.

    1-0, 2 pitches · 1 out before

  • Bobby Witt Jr. vs Brandon Young2-3

    Bobby Witt Jr. pops out to catcher Adley Rutschman in foul territory.

    1-0, 2 pitches · 2 outs before

bottom 5th(5)
  • Adley Rutschman vs Luinder Avila2-3

    Adley Rutschman singles on a sharp ground ball to shortstop Bobby Witt Jr., deflected by first baseman Salvador Perez.

    3-1, 5 pitches · 0 outs before

  • Taylor Ward vs Luinder Avila2-3

    Taylor Ward walks. Adley Rutschman to 2nd.

    4-1, 5 pitches · 0 outs before

  • Pete Alonso vs Luinder Avila2-3

    Pete Alonso strikes out swinging.

    2-3, 6 pitches · 0 outs before

  • Samuel Basallo vs Luinder Avila2-3

    Samuel Basallo grounds out, pitcher Luinder Avila to first baseman Salvador Perez. Adley Rutschman to 3rd. Taylor Ward to 2nd.

    1-0, 2 pitches · 1 out before

  • Dylan Beavers vs Luinder Avila2-3

    Dylan Beavers grounds out, second baseman Michael Massey to first baseman Salvador Perez.

    1-1, 3 pitches · 2 outs before

top 6th(3)
  • Jac Caglianone vs Brandon Young2-3

    Jac Caglianone singles on a line drive to right fielder Dylan Beavers.

    0-0, 1 pitch · 0 outs before

  • Lane Thomas vs Brandon Young2-3

    Lane Thomas grounds into a double play, third baseman Blaze Alexander to second baseman Jackson Holliday to first baseman Pete Alonso. Jac Caglianone out at 2nd. Lane Thomas out at 1st.

    0-0, 1 pitch · 0 outs before

  • Michael Massey vs Brandon Young2-3

    Michael Massey strikes out swinging.

    1-3, 6 pitches · 2 outs before

bottom 6th(3)
  • Colton Cowser vs Steven Cruz2-3

    Colton Cowser strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Blaze Alexander vs Steven Cruz2-3

    Blaze Alexander grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.

    1-2, 5 pitches · 1 out before

  • Jackson Holliday vs Steven Cruz2-3

    Jackson Holliday grounds out softly to first baseman Salvador Perez.

    1-2, 4 pitches · 2 outs before

top 7th(3)
  • Salvador Perez vs Brandon Young2-3

    Salvador Perez grounds out, second baseman Jackson Holliday to first baseman Pete Alonso.

    0-2, 3 pitches · 0 outs before

  • Josh Rojas vs Brandon Young2-3

    Josh Rojas lines out sharply to center fielder Colton Cowser.

    0-0, 1 pitch · 1 out before

  • Nick Loftin vs Brandon Young2-3

    Nick Loftin grounds out, third baseman Blaze Alexander to first baseman Pete Alonso.

    0-0, 1 pitch · 2 outs before

bottom 7th(3)
  • Gunnar Henderson vs Daniel Lynch IV2-3

    Gunnar Henderson strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Adley Rutschman vs Daniel Lynch IV2-3

    Adley Rutschman grounds out sharply, second baseman Michael Massey to first baseman Salvador Perez.

    0-1, 2 pitches · 1 out before

  • Taylor Ward vs Daniel Lynch IV2-3

    Taylor Ward lines out to center fielder Lane Thomas.

    3-1, 5 pitches · 2 outs before

top 8th(4)
  • Isaac Collins vs Brandon Young3-3

    Isaac Collins homers (5) on a fly ball to center field.

    3-2, 8 pitches · 0 outs before

  • Carter Jensen vs Rico Garcia3-3

    Carter Jensen flies out to center fielder Colton Cowser.

    2-2, 6 pitches · 0 outs before

  • Bobby Witt Jr. vs Rico Garcia3-3

    Bobby Witt Jr. called out on strikes.

    1-3, 4 pitches · 1 out before

  • Jac Caglianone vs Rico Garcia3-3

    Jac Caglianone grounds out, third baseman Blaze Alexander to first baseman Pete Alonso.

    3-2, 6 pitches · 2 outs before

bottom 8th(5)
  • Pete Alonso vs Matt Strahm3-3

    Pete Alonso singles on a ground ball to center fielder Lane Thomas.

    3-2, 7 pitches · 0 outs before

  • Samuel Basallo vs Matt Strahm3-5

    Samuel Basallo homers (15) on a fly ball to right field. Pete Alonso scores.

    1-2, 5 pitches · 0 outs before

  • Tyler O'Neill vs Matt Strahm3-5

    Tyler O'Neill flies out to right fielder Jac Caglianone.

    0-0, 1 pitch · 0 outs before

  • Colton Cowser vs Matt Strahm3-5

    Colton Cowser called out on strikes.

    0-3, 3 pitches · 1 out before

  • Blaze Alexander vs Matt Strahm3-5

    Blaze Alexander strikes out on a foul tip.

    3-3, 6 pitches · 2 outs before

top 9th(4)
  • Lane Thomas vs Andrew Kittredge3-5

    Lane Thomas grounds out, third baseman Blaze Alexander to first baseman Pete Alonso.

    1-1, 3 pitches · 0 outs before

  • Michael Massey vs Andrew Kittredge3-5

    Michael Massey doubles (16) on a fly ball to right fielder Tyler O'Neill.

    1-0, 2 pitches · 1 out before

  • Salvador Perez vs Andrew Kittredge3-5

    Salvador Perez pops out to catcher Adley Rutschman in foul territory.

    0-1, 2 pitches · 1 out before

  • Josh Rojas vs Andrew Kittredge3-5

    Josh Rojas strikes out swinging.

    1-3, 4 pitches · 2 outs before

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