Kansas City Royals 1, Detroit Tigers 2

baseball game fileFinal
Comerica Park · Detroit

Game flow

Every swing in the score.

The line is the running run differential: above the center favors Kansas City Royals, below favors Detroit Tigers. 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 Detroit Tigers led.Run differential+20−2123456789
  1. 01top 1: Carter Jensen strikes out swinging.00
  2. 02top 1: Lane Thomas strikes out swinging.00
  3. 03top 1: Salvador Perez grounds out, third baseman Colt Keith to first baseman Spencer Torkelson.00
  4. 04bottom 1: Colt Keith singles on a line drive to pitcher Beck Way.00
  5. 05bottom 1: Gleyber Torres singles on a line drive to right fielder Starling Marte. Colt Keith to 2nd.00
  6. 06bottom 1: Dillon Dingler hit by pitch. Colt Keith to 3rd. Gleyber Torres to 2nd.00
  7. 07bottom 1: Riley Greene out on a sacrifice fly to left fielder Isaac Collins. Colt Keith scores.01
  8. 08bottom 1: Spencer Torkelson flies out to right fielder Starling Marte.01
  9. 09bottom 1: Hao-Yu Lee singles on a sharp line drive to center fielder Lane Thomas. Gleyber Torres scores. Dillon Dingler to 2nd.02
  10. 10bottom 1: Zach McKinstry lines out sharply to first baseman Vinnie Pasquantino.02
  11. 11top 2: Starling Marte pops out to first baseman Spencer Torkelson in foul territory.02
  12. 12top 2: Vinnie Pasquantino strikes out swinging.02
  13. 13top 2: Nick Loftin flies out to left fielder Riley Greene.02
  14. 14bottom 2: Matt Vierling flies out to right fielder Starling Marte.02
  15. 15bottom 2: Ben Malgeri walks.02
  16. 16bottom 2: Colt Keith lines out to third baseman Nick Loftin.02
  17. 17bottom 2: Gleyber Torres grounds out, shortstop Tyler Tolbert to first baseman Vinnie Pasquantino.02
  18. 18top 3: Isaac Collins doubles (18) on a ground ball to right fielder Ben Malgeri.02
  19. 19top 3: Michael Massey walks.02
  20. 20top 3: Tyler Tolbert out on a sacrifice bunt, third baseman Colt Keith to first baseman Spencer Torkelson. Isaac Collins to 3rd. Michael Massey to 2nd.02
  21. 21top 3: Carter Jensen strikes out swinging.02
  22. 22top 3: Lane Thomas strikes out swinging.02
  23. 23bottom 3: Salvador Perez challenged (pitch result), call on the field was overturned: Dillon Dingler called out on strikes.02
  24. 24bottom 3: Riley Greene strikes out swinging.02
  25. 25bottom 3: Spencer Torkelson strikes out swinging.02
  26. 26top 4: Salvador Perez doubles (15) on a sharp line drive to center fielder Matt Vierling.02
  27. 27top 4: Starling Marte grounds out, second baseman Hao-Yu Lee to first baseman Spencer Torkelson. Salvador Perez to 3rd.02
  28. 28top 4: Vinnie Pasquantino strikes out swinging.02
  29. 29top 4: Nick Loftin doubles (16) on a sharp line drive to left fielder Riley Greene. Salvador Perez scores.12
  30. 30top 4: Isaac Collins challenged (pitch result), call on the field was confirmed: Isaac Collins called out on strikes.12
  31. 31bottom 4: Hao-Yu Lee flies out to third baseman Nick Loftin in foul territory.12
  32. 32bottom 4: Zach McKinstry singles on a line drive to right fielder Starling Marte.12
  33. 33bottom 4: Matt Vierling grounds into a double play, shortstop Tyler Tolbert to second baseman Michael Massey to first baseman Vinnie Pasquantino. Zach McKinstry out at 2nd. Matt Vierling out at 1st.12
  34. 34top 5: Michael Massey strikes out swinging.12
  35. 35top 5: Tyler Tolbert pops out to second baseman Hao-Yu Lee.12
  36. 36top 5: Carter Jensen strikes out swinging, catcher Dillon Dingler to first baseman Spencer Torkelson.12
  37. 37bottom 5: Ben Malgeri grounds out, second baseman Michael Massey to first baseman Vinnie Pasquantino.12
  38. 38bottom 5: Colt Keith strikes out swinging.12
  39. 39bottom 5: Gleyber Torres walks.12
  40. 40bottom 5: Dillon Dingler strikes out swinging.12
  41. 41top 6: Lane Thomas pops out to second baseman Hao-Yu Lee.12
  42. 42top 6: Salvador Perez strikes out swinging.12
  43. 43top 6: Starling Marte grounds out, second baseman Hao-Yu Lee to first baseman Spencer Torkelson.12
  44. 44bottom 6: Riley Greene flies out to left fielder Isaac Collins.12
  45. 45bottom 6: Spencer Torkelson strikes out swinging.12
  46. 46bottom 6: Hao-Yu Lee doubles (8) on a sharp line drive to right fielder Starling Marte.12
  47. 47bottom 6: Zach McKinstry lines out to left fielder Isaac Collins.12
  48. 48top 7: Vinnie Pasquantino strikes out swinging.12
  49. 49top 7: Nick Loftin walks.12
  50. 50top 7: Isaac Collins strikes out swinging.12
  51. 51top 7: Michael Massey doubles (19) on a line drive to right fielder Ben Malgeri. Nick Loftin to 3rd.12
  52. 52top 7: Tyler Tolbert flies out to center fielder Matt Vierling.12
  53. 53bottom 7: Matt Vierling grounds out, shortstop Tyler Tolbert to first baseman Vinnie Pasquantino.12
  54. 54bottom 7: Ben Malgeri grounds out to first baseman Vinnie Pasquantino.12
  55. 55bottom 7: Colt Keith strikes out swinging.12
  56. 56top 8: Carter Jensen flies out sharply to center fielder Matt Vierling.12
  57. 57top 8: Lane Thomas grounds out, shortstop Zach McKinstry to first baseman Spencer Torkelson.12
  58. 58top 8: Salvador Perez grounds out, shortstop Zach McKinstry to first baseman Spencer Torkelson.12
  59. 59bottom 8: Gleyber Torres walks.12
  60. 60bottom 8: Dillon Dingler strikes out swinging.12
  61. 61bottom 8: Tigers challenged (play at 1st), call on the field was upheld: Riley Greene grounds into a double play, second baseman Michael Massey to shortstop Tyler Tolbert to first baseman Vinnie Pasquantino. Gleyber Torres out at 2nd. Riley Greene out at 1st.12
  62. 62top 9: Jac Caglianone flies out to center fielder Matt Vierling.12
  63. 63top 9: Vinnie Pasquantino strikes out swinging.12
  64. 64top 9: Nick Loftin pops out to second baseman Hao-Yu Lee.12
Boxscore

Key evidence.

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

Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Lane ThomasCF4000000000040000020
Carter JensenDH4000000000040000030
Starling MarteRF3000000000030000000
Salvador PerezC40.25010001000.2500.750410000.50012
Michael Massey2B20.50010101000.6671.66730000112
Isaac CollinsLF30.33310001000.3331300000.66722
Tyler TolbertSS2000000000030000000
Beck WayP07218301132520003
Noah CameronP324002070219708000.714
Nick Loftin3B30.33310101000.5001.167401000.66702
Jac CaglianonePH1000000000010000000
Vinnie Pasquantino1B4000000000040000040
Detroit Tigers boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Colt Keith3B40.25000001000.2500.500410000.25021
Kenley JansenP030000103801100
Riley GreeneLF3000000000040101010
Dillon DinglerC3000000100.2500.25040000030
Spencer Torkelson1B3000000000030000020
Zach McKinstrySS30.33300001000.3330.667300000.33301
Hao-Yu Lee2B30.66710002000.6671.66730100103
Ben MalgeriRF2000100000.3330.33330000000
Matt VierlingCF3000000000030000000
Tarik SkubalP22811.227407.33302291112010.818
Gleyber TorresDH20.50000201000.7501.250410000.50001
Brenan HanifeeP0200000.667021300000

Comparison

Side by side.

Final

Matchup

Before first pitch.

Probable pitchers and posted lineup context from the matchup card.

Lineups available2026-07-24T22:40:00Z · Final

Kansas City Royals

Probable pitcher: Beck Way (R)

Detroit Tigers

Probable pitcher: Tarik Skubal (L)

Play-by-play

The game, at bat by at bat.

top 1st(3)
  • Carter Jensen vs Tarik Skubal0-0

    Carter Jensen strikes out swinging.

    0-3, 3 pitches · 0 outs before

  • Lane Thomas vs Tarik Skubal0-0

    Lane Thomas strikes out swinging.

    2-3, 5 pitches · 1 out before

  • Salvador Perez vs Tarik Skubal0-0

    Salvador Perez grounds out, third baseman Colt Keith to first baseman Spencer Torkelson.

    1-1, 3 pitches · 2 outs before

bottom 1st(7)
  • Colt Keith vs Beck Way0-0

    Colt Keith singles on a line drive to pitcher Beck Way.

    1-2, 7 pitches · 0 outs before

  • Gleyber Torres vs Beck Way0-0

    Gleyber Torres singles on a line drive to right fielder Starling Marte. Colt Keith to 2nd.

    0-1, 2 pitches · 0 outs before

  • Dillon Dingler vs Beck Way0-0

    Dillon Dingler hit by pitch. Colt Keith to 3rd. Gleyber Torres to 2nd.

    4-1, 5 pitches · 0 outs before

  • Riley Greene vs Beck Way0-1

    Riley Greene out on a sacrifice fly to left fielder Isaac Collins. Colt Keith scores.

    1-2, 4 pitches · 0 outs before

  • Spencer Torkelson vs Beck Way0-1

    Spencer Torkelson flies out to right fielder Starling Marte.

    0-0, 1 pitch · 1 out before

  • Hao-Yu Lee vs Beck Way0-2

    Hao-Yu Lee singles on a sharp line drive to center fielder Lane Thomas. Gleyber Torres scores. Dillon Dingler to 2nd.

    1-0, 2 pitches · 2 outs before

  • Zach McKinstry vs Beck Way0-2

    Zach McKinstry lines out sharply to first baseman Vinnie Pasquantino.

    2-1, 4 pitches · 2 outs before

top 2nd(3)
  • Starling Marte vs Tarik Skubal0-2

    Starling Marte pops out to first baseman Spencer Torkelson in foul territory.

    1-0, 2 pitches · 0 outs before

  • Vinnie Pasquantino vs Tarik Skubal0-2

    Vinnie Pasquantino strikes out swinging.

    0-3, 3 pitches · 1 out before

  • Nick Loftin vs Tarik Skubal0-2

    Nick Loftin flies out to left fielder Riley Greene.

    1-2, 5 pitches · 2 outs before

bottom 2nd(4)
  • Matt Vierling vs Noah Cameron0-2

    Matt Vierling flies out to right fielder Starling Marte.

    1-1, 3 pitches · 0 outs before

  • Ben Malgeri vs Noah Cameron0-2

    Ben Malgeri walks.

    4-2, 6 pitches · 1 out before

  • Colt Keith vs Noah Cameron0-2

    Colt Keith lines out to third baseman Nick Loftin.

    1-1, 3 pitches · 1 out before

  • Gleyber Torres vs Noah Cameron0-2

    Gleyber Torres grounds out, shortstop Tyler Tolbert to first baseman Vinnie Pasquantino.

    2-1, 4 pitches · 2 outs before

top 3rd(5)
  • Isaac Collins vs Tarik Skubal0-2

    Isaac Collins doubles (18) on a ground ball to right fielder Ben Malgeri.

    0-1, 2 pitches · 0 outs before

  • Michael Massey vs Tarik Skubal0-2

    Michael Massey walks.

    4-1, 5 pitches · 0 outs before

  • Tyler Tolbert vs Tarik Skubal0-2

    Tyler Tolbert out on a sacrifice bunt, third baseman Colt Keith to first baseman Spencer Torkelson. Isaac Collins to 3rd. Michael Massey to 2nd.

    0-0, 1 pitch · 0 outs before

  • Carter Jensen vs Tarik Skubal0-2

    Carter Jensen strikes out swinging.

    0-3, 3 pitches · 1 out before

  • Lane Thomas vs Tarik Skubal0-2

    Lane Thomas strikes out swinging.

    2-3, 5 pitches · 2 outs before

bottom 3rd(3)
  • Dillon Dingler vs Noah Cameron0-2

    Salvador Perez challenged (pitch result), call on the field was overturned: Dillon Dingler called out on strikes.

    1-3, 4 pitches · 0 outs before

  • Riley Greene vs Noah Cameron0-2

    Riley Greene strikes out swinging.

    3-3, 6 pitches · 1 out before

  • Spencer Torkelson vs Noah Cameron0-2

    Spencer Torkelson strikes out swinging.

    1-3, 4 pitches · 2 outs before

top 4th(5)
  • Salvador Perez vs Tarik Skubal0-2

    Salvador Perez doubles (15) on a sharp line drive to center fielder Matt Vierling.

    2-1, 4 pitches · 0 outs before

  • Starling Marte vs Tarik Skubal0-2

    Starling Marte grounds out, second baseman Hao-Yu Lee to first baseman Spencer Torkelson. Salvador Perez to 3rd.

    0-0, 1 pitch · 0 outs before

  • Vinnie Pasquantino vs Tarik Skubal0-2

    Vinnie Pasquantino strikes out swinging.

    0-3, 3 pitches · 1 out before

  • Nick Loftin vs Tarik Skubal1-2

    Nick Loftin doubles (16) on a sharp line drive to left fielder Riley Greene. Salvador Perez scores.

    0-0, 1 pitch · 2 outs before

  • Isaac Collins vs Tarik Skubal1-2

    Isaac Collins challenged (pitch result), call on the field was confirmed: Isaac Collins called out on strikes.

    0-3, 3 pitches · 2 outs before

bottom 4th(3)
  • Hao-Yu Lee vs Noah Cameron1-2

    Hao-Yu Lee flies out to third baseman Nick Loftin in foul territory.

    1-1, 3 pitches · 0 outs before

  • Zach McKinstry vs Noah Cameron1-2

    Zach McKinstry singles on a line drive to right fielder Starling Marte.

    0-0, 1 pitch · 1 out before

  • Matt Vierling vs Noah Cameron1-2

    Matt Vierling grounds into a double play, shortstop Tyler Tolbert to second baseman Michael Massey to first baseman Vinnie Pasquantino. Zach McKinstry out at 2nd. Matt Vierling out at 1st.

    0-1, 2 pitches · 1 out before

top 5th(3)
  • Michael Massey vs Tarik Skubal1-2

    Michael Massey strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Tyler Tolbert vs Tarik Skubal1-2

    Tyler Tolbert pops out to second baseman Hao-Yu Lee.

    0-1, 2 pitches · 1 out before

  • Carter Jensen vs Tarik Skubal1-2

    Carter Jensen strikes out swinging, catcher Dillon Dingler to first baseman Spencer Torkelson.

    1-3, 4 pitches · 2 outs before

bottom 5th(4)
  • Ben Malgeri vs Noah Cameron1-2

    Ben Malgeri grounds out, second baseman Michael Massey to first baseman Vinnie Pasquantino.

    2-2, 5 pitches · 0 outs before

  • Colt Keith vs Noah Cameron1-2

    Colt Keith strikes out swinging.

    2-3, 5 pitches · 1 out before

  • Gleyber Torres vs Noah Cameron1-2

    Gleyber Torres walks.

    4-2, 6 pitches · 2 outs before

  • Dillon Dingler vs Noah Cameron1-2

    Dillon Dingler strikes out swinging.

    1-3, 4 pitches · 2 outs before

top 6th(3)
  • Lane Thomas vs Tarik Skubal1-2

    Lane Thomas pops out to second baseman Hao-Yu Lee.

    0-1, 2 pitches · 0 outs before

  • Salvador Perez vs Tarik Skubal1-2

    Salvador Perez strikes out swinging.

    0-3, 4 pitches · 1 out before

  • Starling Marte vs Tarik Skubal1-2

    Starling Marte grounds out, second baseman Hao-Yu Lee to first baseman Spencer Torkelson.

    0-2, 3 pitches · 2 outs before

bottom 6th(4)
  • Riley Greene vs Noah Cameron1-2

    Riley Greene flies out to left fielder Isaac Collins.

    1-2, 4 pitches · 0 outs before

  • Spencer Torkelson vs Noah Cameron1-2

    Spencer Torkelson strikes out swinging.

    2-3, 5 pitches · 1 out before

  • Hao-Yu Lee vs Noah Cameron1-2

    Hao-Yu Lee doubles (8) on a sharp line drive to right fielder Starling Marte.

    2-1, 4 pitches · 2 outs before

  • Zach McKinstry vs Noah Cameron1-2

    Zach McKinstry lines out to left fielder Isaac Collins.

    1-1, 3 pitches · 2 outs before

top 7th(5)
  • Vinnie Pasquantino vs Tarik Skubal1-2

    Vinnie Pasquantino strikes out swinging.

    0-3, 4 pitches · 0 outs before

  • Nick Loftin vs Tarik Skubal1-2

    Nick Loftin walks.

    4-1, 5 pitches · 1 out before

  • Isaac Collins vs Tarik Skubal1-2

    Isaac Collins strikes out swinging.

    2-3, 5 pitches · 1 out before

  • Michael Massey vs Tarik Skubal1-2

    Michael Massey doubles (19) on a line drive to right fielder Ben Malgeri. Nick Loftin to 3rd.

    1-2, 5 pitches · 2 outs before

  • Tyler Tolbert vs Tarik Skubal1-2

    Tyler Tolbert flies out to center fielder Matt Vierling.

    0-1, 2 pitches · 2 outs before

bottom 7th(3)
  • Matt Vierling vs Noah Cameron1-2

    Matt Vierling grounds out, shortstop Tyler Tolbert to first baseman Vinnie Pasquantino.

    0-0, 1 pitch · 0 outs before

  • Ben Malgeri vs Noah Cameron1-2

    Ben Malgeri grounds out to first baseman Vinnie Pasquantino.

    1-2, 4 pitches · 1 out before

  • Colt Keith vs Noah Cameron1-2

    Colt Keith strikes out swinging.

    2-3, 5 pitches · 2 outs before

top 8th(3)
  • Carter Jensen vs Tarik Skubal1-2

    Carter Jensen flies out sharply to center fielder Matt Vierling.

    1-0, 2 pitches · 0 outs before

  • Lane Thomas vs Brenan Hanifee1-2

    Lane Thomas grounds out, shortstop Zach McKinstry to first baseman Spencer Torkelson.

    3-2, 9 pitches · 1 out before

  • Salvador Perez vs Brenan Hanifee1-2

    Salvador Perez grounds out, shortstop Zach McKinstry to first baseman Spencer Torkelson.

    1-2, 4 pitches · 2 outs before

bottom 8th(3)
  • Gleyber Torres vs Noah Cameron1-2

    Gleyber Torres walks.

    4-2, 6 pitches · 0 outs before

  • Dillon Dingler vs Noah Cameron1-2

    Dillon Dingler strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Riley Greene vs Noah Cameron1-2

    Tigers challenged (play at 1st), call on the field was upheld: Riley Greene grounds into a double play, second baseman Michael Massey to shortstop Tyler Tolbert to first baseman Vinnie Pasquantino. Gleyber Torres out at 2nd. Riley Greene out at 1st.

    2-2, 5 pitches · 1 out before

top 9th(3)
  • Jac Caglianone vs Kenley Jansen1-2

    Jac Caglianone flies out to center fielder Matt Vierling.

    0-1, 2 pitches · 0 outs before

  • Vinnie Pasquantino vs Kenley Jansen1-2

    Vinnie Pasquantino strikes out swinging.

    1-3, 4 pitches · 1 out before

  • Nick Loftin vs Kenley Jansen1-2

    Nick Loftin pops out to second baseman Hao-Yu Lee.

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