Kansas City Royals 3, Minnesota Twins 4

baseball game fileFinal
Target Field · Minneapolis

Game flow

Every swing in the score.

The line is the running run differential: above the center favors Kansas City Royals, below favors Minnesota Twins. 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 Minnesota Twins led.Run differential+30−3123456789
  1. 01top 1: Carter Jensen walks.00
  2. 02top 1: John Rave grounds into a force out, second baseman Royce Lewis to shortstop Ryan Kreidler. Carter Jensen out at 2nd. John Rave to 1st.00
  3. 03top 1: Jac Caglianone flies out to left fielder Austin Martin.00
  4. 04top 1: Salvador Perez flies out to left fielder Austin Martin.00
  5. 05bottom 1: Austin Martin walks.00
  6. 06bottom 1: Ryan Jeffers grounds out softly, third baseman Josh Rojas to first baseman Jac Caglianone.00
  7. 07bottom 1: Royce Lewis strikes out swinging.00
  8. 08top 2: Michael Massey grounds out to first baseman Alex Jackson.00
  9. 09top 2: Nick Loftin grounds out, shortstop Ryan Kreidler to first baseman Alex Jackson.00
  10. 10top 2: Isaac Collins walks.00
  11. 11top 2: Josh Rojas pops out to third baseman Brooks Lee.00
  12. 12bottom 2: Josh Bell grounds out, third baseman Josh Rojas to first baseman Jac Caglianone.00
  13. 13bottom 2: Kody Clemens grounds out, second baseman Michael Massey to first baseman Jac Caglianone.00
  14. 14bottom 2: Luke Keaschall flies out to left fielder Isaac Collins.00
  15. 15top 3: Tyler Tolbert strikes out swinging.00
  16. 16top 3: Carter Jensen grounds out, first baseman Alex Jackson to pitcher Bailey Ober.00
  17. 17top 3: John Rave doubles (3) on a fly ball to right fielder Kody Clemens.00
  18. 18top 3: Jac Caglianone homers (17) on a fly ball to right field. John Rave scores.20
  19. 19top 3: Salvador Perez strikes out swinging.20
  20. 20bottom 3: Brooks Lee flies out to left fielder Isaac Collins.20
  21. 21bottom 3: Alex Jackson strikes out swinging.20
  22. 22bottom 3: Ryan Kreidler grounds out, second baseman Michael Massey to first baseman Jac Caglianone.20
  23. 23top 4: Michael Massey lines out to right fielder Kody Clemens.20
  24. 24top 4: Nick Loftin grounds out, shortstop Ryan Kreidler to first baseman Alex Jackson.20
  25. 25top 4: Isaac Collins grounds out sharply, second baseman Royce Lewis to first baseman Alex Jackson.20
  26. 26bottom 4: Austin Martin lines out to right fielder Nick Loftin.20
  27. 27bottom 4: Ryan Jeffers strikes out on a foul tip.20
  28. 28bottom 4: Royce Lewis grounds out, shortstop Tyler Tolbert to first baseman Jac Caglianone.20
  29. 29top 5: Josh Rojas lines out to center fielder Luke Keaschall.20
  30. 30top 5: Tyler Tolbert singles on a fly ball to center fielder Luke Keaschall.20
  31. 31top 5: Carter Jensen grounds into a force out, first baseman Alex Jackson to shortstop Ryan Kreidler. Tyler Tolbert out at 2nd. Carter Jensen to 1st.20
  32. 32top 5: John Rave doubles (4) on a sharp line drive to right fielder Kody Clemens. Carter Jensen scores. Throwing error by right fielder Kody Clemens.30
  33. 33top 5: Jac Caglianone grounds out, pitcher Bailey Ober to first baseman Alex Jackson.30
  34. 34bottom 5: Josh Bell lines out sharply to center fielder John Rave.30
  35. 35bottom 5: Kody Clemens strikes out swinging.30
  36. 36bottom 5: Luke Keaschall grounds out, shortstop Tyler Tolbert to first baseman Jac Caglianone.30
  37. 37top 6: Salvador Perez strikes out swinging.30
  38. 38top 6: Michael Massey lines out to center fielder Luke Keaschall.30
  39. 39top 6: Nick Loftin grounds out, second baseman Royce Lewis to first baseman Alex Jackson.30
  40. 40bottom 6: Brooks Lee walks.30
  41. 41bottom 6: Alex Jackson strikes out swinging.30
  42. 42bottom 6: Ryan Kreidler grounds out softly, catcher Salvador Perez to first baseman Jac Caglianone. Brooks Lee to 2nd.30
  43. 43bottom 6: Austin Martin grounds out sharply, shortstop Tyler Tolbert to first baseman Jac Caglianone.30
  44. 44top 7: Isaac Collins singles on a line drive to center fielder Luke Keaschall.30
  45. 45top 7: Josh Rojas out on a sacrifice bunt, pitcher Taylor Rogers to second baseman Royce Lewis. Isaac Collins to 2nd.30
  46. 46top 7: Tyler Tolbert reaches on a fielder's choice out, third baseman Brooks Lee to shortstop Ryan Kreidler to third baseman Brooks Lee. Isaac Collins out at 3rd.30
  47. 47top 7: Carter Jensen walks. Tyler Tolbert to 2nd.30
  48. 48top 7: Lane Thomas called out on strikes.30
  49. 49bottom 7: Ryan Jeffers singles on a line drive to center fielder Lane Thomas.30
  50. 50bottom 7: Royce Lewis strikes out swinging.30
  51. 51bottom 7: Josh Bell grounds into a force out, third baseman Josh Rojas to second baseman Michael Massey. Ryan Jeffers out at 2nd. Josh Bell to 1st.30
  52. 52bottom 7: Kody Clemens flies out to left fielder Isaac Collins.30
  53. 53top 8: Jac Caglianone singles on a fly ball to left fielder Austin Martin.30
  54. 54top 8: Salvador Perez lines out to right fielder Kody Clemens.30
  55. 55top 8: Michael Massey grounds into a double play, second baseman Royce Lewis to shortstop Ryan Kreidler to first baseman Alex Jackson. Jac Caglianone out at 2nd. Michael Massey out at 1st.30
  56. 56bottom 8: Luke Keaschall grounds out, third baseman Josh Rojas to first baseman Jac Caglianone.30
  57. 57bottom 8: Brooks Lee grounds out, third baseman Josh Rojas to first baseman Jac Caglianone.30
  58. 58bottom 8: Alex Jackson strikes out swinging.30
  59. 59top 9: Nick Loftin lines out to second baseman Royce Lewis.30
  60. 60top 9: Isaac Collins singles on a line drive to left fielder Austin Martin.30
  61. 61top 9: Josh Rojas grounds into a force out, second baseman Royce Lewis to shortstop Ryan Kreidler. Isaac Collins out at 2nd. Josh Rojas to 1st.30
  62. 62top 9: Tyler Tolbert singles on a ground ball to center fielder Luke Keaschall. Josh Rojas to 3rd.30
  63. 63top 9: Carter Jensen strikes out swinging.30
  64. 64bottom 9: Trevor Larnach strikes out swinging.30
  65. 65bottom 9: Victor Caratini lines out to shortstop Tyler Tolbert.30
  66. 66bottom 9: Ryan Jeffers hit by pitch.30
  67. 67bottom 9: Royce Lewis singles on a ground ball to center fielder Lane Thomas. Ryan Jeffers to 2nd.30
  68. 68bottom 9: Salvador Perez challenged (pitch result), call on the field was confirmed: Josh Bell walks. Ryan Jeffers to 3rd. Royce Lewis to 2nd.30
  69. 69bottom 9: Kody Clemens hits a grand slam (19) to right center field. Ryan Jeffers scores. Royce Lewis scores. Alan Roden scores.34
Boxscore

Key evidence.

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

Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Lane ThomasCF1000000000010000010
Carter JensenDH3000200000.4000.40051000010
Salvador PerezC4000000000040000020
Michael Massey2B4000000000040000000
Isaac CollinsLF30.66700102000.7501.417400000.66702
Tyler TolbertSS40.50000002000.5001400100.50012
Josh Rojas3B3000000000040000000
Lucas ErcegP15340.500100.667022231003
Matt StrahmP0111101031000
Noah CameronP226001080249707000.375
Nick LoftinRF4000000000040000000
Jac Caglianone1B40.50000002010.5001.750412001.25005
John RaveCF30.66720002000.6672310101.33304
Minnesota Twins boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Trevor LarnachPH1000000000010000010
Josh BellDH3000100000.2500.25040000000
Kody ClemensRF40.25000001010.2501.25041400114
Royce Lewis2B40.25000001000.2500.500410000.25021
Brooks Lee3B2000100000.3330.33330000000
Luke KeaschallCF3000000000030000000
Ryan KreidlerSS2000000000020000000
Austin MartinLF2000110000.3330.33330000000
Alex Jackson1B3000000000030000030
Andrew MorrisP0300101031200001
Yoendrys GomezP0500201032101012
Taylor RogersP1500101032701002
Victor CaratiniPH1000000000010000000
Alan RodenPR000000000100000
Ryan JeffersC30.33300001100.5000.833410000.33311
Bailey OberP224234160187933001

Comparison

Side by side.

Final

Matchup

Before first pitch.

Probable pitchers and posted lineup context from the matchup card.

Lineups available2026-07-30T17:40:00Z · Final

Kansas City Royals

Probable pitcher: Noah Cameron (L)

Minnesota Twins

Probable pitcher: Bailey Ober (R)

Play-by-play

The game, at bat by at bat.

top 1st(4)
  • Carter Jensen vs Bailey Ober0-0

    Carter Jensen walks.

    4-2, 7 pitches · 0 outs before

  • John Rave vs Bailey Ober0-0

    John Rave grounds into a force out, second baseman Royce Lewis to shortstop Ryan Kreidler. Carter Jensen out at 2nd. John Rave to 1st.

    0-2, 3 pitches · 0 outs before

  • Jac Caglianone vs Bailey Ober0-0

    Jac Caglianone flies out to left fielder Austin Martin.

    0-0, 1 pitch · 1 out before

  • Salvador Perez vs Bailey Ober0-0

    Salvador Perez flies out to left fielder Austin Martin.

    2-1, 4 pitches · 2 outs before

bottom 1st(3)
  • Austin Martin vs Noah Cameron0-0

    Austin Martin walks.

    4-2, 7 pitches · 0 outs before

  • Ryan Jeffers vs Noah Cameron0-0

    Ryan Jeffers grounds out softly, third baseman Josh Rojas to first baseman Jac Caglianone.

    2-0, 3 pitches · 0 outs before

  • Royce Lewis vs Noah Cameron0-0

    Royce Lewis strikes out swinging.

    2-3, 5 pitches · 2 outs before

top 2nd(4)
  • Michael Massey vs Bailey Ober0-0

    Michael Massey grounds out to first baseman Alex Jackson.

    1-2, 4 pitches · 0 outs before

  • Nick Loftin vs Bailey Ober0-0

    Nick Loftin grounds out, shortstop Ryan Kreidler to first baseman Alex Jackson.

    1-2, 4 pitches · 1 out before

  • Isaac Collins vs Bailey Ober0-0

    Isaac Collins walks.

    4-0, 4 pitches · 2 outs before

  • Josh Rojas vs Bailey Ober0-0

    Josh Rojas pops out to third baseman Brooks Lee.

    2-0, 3 pitches · 2 outs before

bottom 2nd(3)
  • Josh Bell vs Noah Cameron0-0

    Josh Bell grounds out, third baseman Josh Rojas to first baseman Jac Caglianone.

    3-2, 6 pitches · 0 outs before

  • Kody Clemens vs Noah Cameron0-0

    Kody Clemens grounds out, second baseman Michael Massey to first baseman Jac Caglianone.

    0-0, 1 pitch · 1 out before

  • Luke Keaschall vs Noah Cameron0-0

    Luke Keaschall flies out to left fielder Isaac Collins.

    0-1, 2 pitches · 2 outs before

top 3rd(5)
  • Tyler Tolbert vs Bailey Ober0-0

    Tyler Tolbert strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Carter Jensen vs Bailey Ober0-0

    Carter Jensen grounds out, first baseman Alex Jackson to pitcher Bailey Ober.

    3-2, 7 pitches · 1 out before

  • John Rave vs Bailey Ober0-0

    John Rave doubles (3) on a fly ball to right fielder Kody Clemens.

    1-0, 2 pitches · 2 outs before

  • Jac Caglianone vs Bailey Ober2-0

    Jac Caglianone homers (17) on a fly ball to right field. John Rave scores.

    0-0, 1 pitch · 2 outs before

  • Salvador Perez vs Bailey Ober2-0

    Salvador Perez strikes out swinging.

    1-3, 4 pitches · 2 outs before

bottom 3rd(3)
  • Brooks Lee vs Noah Cameron2-0

    Brooks Lee flies out to left fielder Isaac Collins.

    0-0, 1 pitch · 0 outs before

  • Alex Jackson vs Noah Cameron2-0

    Alex Jackson strikes out swinging.

    1-3, 4 pitches · 1 out before

  • Ryan Kreidler vs Noah Cameron2-0

    Ryan Kreidler grounds out, second baseman Michael Massey to first baseman Jac Caglianone.

    0-0, 1 pitch · 2 outs before

top 4th(3)
  • Michael Massey vs Bailey Ober2-0

    Michael Massey lines out to right fielder Kody Clemens.

    1-0, 2 pitches · 0 outs before

  • Nick Loftin vs Bailey Ober2-0

    Nick Loftin grounds out, shortstop Ryan Kreidler to first baseman Alex Jackson.

    1-2, 5 pitches · 1 out before

  • Isaac Collins vs Bailey Ober2-0

    Isaac Collins grounds out sharply, second baseman Royce Lewis to first baseman Alex Jackson.

    0-0, 1 pitch · 2 outs before

bottom 4th(3)
  • Austin Martin vs Noah Cameron2-0

    Austin Martin lines out to right fielder Nick Loftin.

    3-2, 6 pitches · 0 outs before

  • Ryan Jeffers vs Noah Cameron2-0

    Ryan Jeffers strikes out on a foul tip.

    0-3, 4 pitches · 1 out before

  • Royce Lewis vs Noah Cameron2-0

    Royce Lewis grounds out, shortstop Tyler Tolbert to first baseman Jac Caglianone.

    3-2, 7 pitches · 2 outs before

top 5th(5)
  • Josh Rojas vs Bailey Ober2-0

    Josh Rojas lines out to center fielder Luke Keaschall.

    0-2, 3 pitches · 0 outs before

  • Tyler Tolbert vs Bailey Ober2-0

    Tyler Tolbert singles on a fly ball to center fielder Luke Keaschall.

    1-1, 3 pitches · 1 out before

  • Carter Jensen vs Bailey Ober2-0

    Carter Jensen grounds into a force out, first baseman Alex Jackson to shortstop Ryan Kreidler. Tyler Tolbert out at 2nd. Carter Jensen to 1st.

    2-2, 5 pitches · 1 out before

  • John Rave vs Bailey Ober3-0

    John Rave doubles (4) on a sharp line drive to right fielder Kody Clemens. Carter Jensen scores. Throwing error by right fielder Kody Clemens.

    0-1, 2 pitches · 2 outs before

  • Jac Caglianone vs Bailey Ober3-0

    Jac Caglianone grounds out, pitcher Bailey Ober to first baseman Alex Jackson.

    0-0, 1 pitch · 2 outs before

bottom 5th(3)
  • Josh Bell vs Noah Cameron3-0

    Josh Bell lines out sharply to center fielder John Rave.

    2-1, 4 pitches · 0 outs before

  • Kody Clemens vs Noah Cameron3-0

    Kody Clemens strikes out swinging.

    1-3, 4 pitches · 1 out before

  • Luke Keaschall vs Noah Cameron3-0

    Luke Keaschall grounds out, shortstop Tyler Tolbert to first baseman Jac Caglianone.

    0-0, 1 pitch · 2 outs before

top 6th(3)
  • Salvador Perez vs Bailey Ober3-0

    Salvador Perez strikes out swinging.

    2-3, 6 pitches · 0 outs before

  • Michael Massey vs Bailey Ober3-0

    Michael Massey lines out to center fielder Luke Keaschall.

    0-1, 2 pitches · 1 out before

  • Nick Loftin vs Bailey Ober3-0

    Nick Loftin grounds out, second baseman Royce Lewis to first baseman Alex Jackson.

    0-0, 1 pitch · 2 outs before

bottom 6th(4)
  • Brooks Lee vs Noah Cameron3-0

    Brooks Lee walks.

    4-1, 5 pitches · 0 outs before

  • Alex Jackson vs Noah Cameron3-0

    Alex Jackson strikes out swinging.

    2-3, 5 pitches · 0 outs before

  • Ryan Kreidler vs Noah Cameron3-0

    Ryan Kreidler grounds out softly, catcher Salvador Perez to first baseman Jac Caglianone. Brooks Lee to 2nd.

    0-0, 1 pitch · 1 out before

  • Austin Martin vs Noah Cameron3-0

    Austin Martin grounds out sharply, shortstop Tyler Tolbert to first baseman Jac Caglianone.

    2-2, 5 pitches · 2 outs before

top 7th(5)
  • Isaac Collins vs Taylor Rogers3-0

    Isaac Collins singles on a line drive to center fielder Luke Keaschall.

    2-2, 5 pitches · 0 outs before

  • Josh Rojas vs Taylor Rogers3-0

    Josh Rojas out on a sacrifice bunt, pitcher Taylor Rogers to second baseman Royce Lewis. Isaac Collins to 2nd.

    1-1, 3 pitches · 0 outs before

  • Tyler Tolbert vs Taylor Rogers3-0

    Tyler Tolbert reaches on a fielder's choice out, third baseman Brooks Lee to shortstop Ryan Kreidler to third baseman Brooks Lee. Isaac Collins out at 3rd.

    3-2, 7 pitches · 1 out before

  • Carter Jensen vs Taylor Rogers3-0

    Carter Jensen walks. Tyler Tolbert to 2nd.

    4-2, 6 pitches · 2 outs before

  • Lane Thomas vs Taylor Rogers3-0

    Lane Thomas called out on strikes.

    1-3, 6 pitches · 2 outs before

bottom 7th(4)
  • Ryan Jeffers vs Noah Cameron3-0

    Ryan Jeffers singles on a line drive to center fielder Lane Thomas.

    0-2, 3 pitches · 0 outs before

  • Royce Lewis vs Noah Cameron3-0

    Royce Lewis strikes out swinging.

    0-3, 3 pitches · 0 outs before

  • Josh Bell vs Noah Cameron3-0

    Josh Bell grounds into a force out, third baseman Josh Rojas to second baseman Michael Massey. Ryan Jeffers out at 2nd. Josh Bell to 1st.

    0-0, 1 pitch · 1 out before

  • Kody Clemens vs Noah Cameron3-0

    Kody Clemens flies out to left fielder Isaac Collins.

    1-2, 5 pitches · 2 outs before

top 8th(3)
  • Jac Caglianone vs Andrew Morris3-0

    Jac Caglianone singles on a fly ball to left fielder Austin Martin.

    3-2, 8 pitches · 0 outs before

  • Salvador Perez vs Andrew Morris3-0

    Salvador Perez lines out to right fielder Kody Clemens.

    0-1, 2 pitches · 0 outs before

  • Michael Massey vs Andrew Morris3-0

    Michael Massey grounds into a double play, second baseman Royce Lewis to shortstop Ryan Kreidler to first baseman Alex Jackson. Jac Caglianone out at 2nd. Michael Massey out at 1st.

    1-0, 2 pitches · 1 out before

bottom 8th(3)
  • Luke Keaschall vs Noah Cameron3-0

    Luke Keaschall grounds out, third baseman Josh Rojas to first baseman Jac Caglianone.

    1-2, 5 pitches · 0 outs before

  • Brooks Lee vs Noah Cameron3-0

    Brooks Lee grounds out, third baseman Josh Rojas to first baseman Jac Caglianone.

    2-0, 3 pitches · 1 out before

  • Alex Jackson vs Noah Cameron3-0

    Alex Jackson strikes out swinging.

    2-3, 5 pitches · 2 outs before

top 9th(5)
  • Nick Loftin vs Yoendrys Gomez3-0

    Nick Loftin lines out to second baseman Royce Lewis.

    2-2, 5 pitches · 0 outs before

  • Isaac Collins vs Yoendrys Gomez3-0

    Isaac Collins singles on a line drive to left fielder Austin Martin.

    0-2, 3 pitches · 1 out before

  • Josh Rojas vs Yoendrys Gomez3-0

    Josh Rojas grounds into a force out, second baseman Royce Lewis to shortstop Ryan Kreidler. Isaac Collins out at 2nd. Josh Rojas to 1st.

    1-2, 4 pitches · 1 out before

  • Tyler Tolbert vs Yoendrys Gomez3-0

    Tyler Tolbert singles on a ground ball to center fielder Luke Keaschall. Josh Rojas to 3rd.

    2-2, 5 pitches · 2 outs before

  • Carter Jensen vs Yoendrys Gomez3-0

    Carter Jensen strikes out swinging.

    1-3, 4 pitches · 2 outs before

bottom 9th(6)
  • Trevor Larnach vs Lucas Erceg3-0

    Trevor Larnach strikes out swinging.

    2-3, 5 pitches · 0 outs before

  • Victor Caratini vs Lucas Erceg3-0

    Victor Caratini lines out to shortstop Tyler Tolbert.

    2-1, 4 pitches · 1 out before

  • Ryan Jeffers vs Lucas Erceg3-0

    Ryan Jeffers hit by pitch.

    2-0, 2 pitches · 2 outs before

  • Royce Lewis vs Lucas Erceg3-0

    Royce Lewis singles on a ground ball to center fielder Lane Thomas. Ryan Jeffers to 2nd.

    2-2, 5 pitches · 2 outs before

  • Josh Bell vs Lucas Erceg3-0

    Salvador Perez challenged (pitch result), call on the field was confirmed: Josh Bell walks. Ryan Jeffers to 3rd. Royce Lewis to 2nd.

    4-2, 6 pitches · 2 outs before

  • Kody Clemens vs Matt Strahm3-4

    Kody Clemens hits a grand slam (19) to right center field. Ryan Jeffers scores. Royce Lewis scores. Alan Roden scores.

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