Houston Astros 0, Kansas City Royals 2

baseball game fileFinal
Kauffman Stadium · Kansas City

Game flow

Every swing in the score.

The line is the running run differential: above the center favors Houston Astros, below favors Kansas City Royals. 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 Houston Astros led; a negative differential means Kansas City Royals led.Run differential+20−2123456789
  1. 01top 1: Jose Altuve grounds out, third baseman Jonathan India to first baseman Salvador Perez.00
  2. 02top 1: Yordan Alvarez strikes out on a foul tip.00
  3. 03top 1: Isaac Paredes called out on strikes.00
  4. 04bottom 1: Jonathan India walks.00
  5. 05bottom 1: Bobby Witt Jr. doubles (11) on a ground ball to left fielder Jose Altuve. Jonathan India to 3rd.00
  6. 06bottom 1: Salvador Perez pops out to second baseman Mauricio Dubón.00
  7. 07bottom 1: Mark Canha out on a sacrifice fly to right fielder Zach Dezenzo. Jonathan India scores. Bobby Witt Jr. to 3rd.01
  8. 08bottom 1: Maikel Garcia pops out to first baseman Christian Walker in foul territory.01
  9. 09top 2: Jeremy Peña pops out to shortstop Bobby Witt Jr.01
  10. 10top 2: Christian Walker doubles (4) on a line drive to left fielder Mark Canha.01
  11. 11top 2: Yainer Diaz pops out to second baseman Maikel Garcia.01
  12. 12top 2: Zach Dezenzo pops out to shortstop Bobby Witt Jr.01
  13. 13bottom 2: Hunter Renfroe grounds out, second baseman Mauricio Dubón to first baseman Christian Walker.01
  14. 14bottom 2: Vinnie Pasquantino strikes out swinging.01
  15. 15bottom 2: Freddy Fermin flies out to left fielder Jose Altuve.01
  16. 16top 3: Jake Meyers called out on strikes.01
  17. 17top 3: Mauricio Dubón singles on a line drive to right fielder Hunter Renfroe.01
  18. 18top 3: Jose Altuve walks. Mauricio Dubón to 2nd.01
  19. 19top 3: Yordan Alvarez lines out to left fielder Mark Canha.01
  20. 20top 3: Isaac Paredes lines out sharply to right fielder Hunter Renfroe.01
  21. 21bottom 3: Drew Waters grounds out, third baseman Isaac Paredes to first baseman Christian Walker.01
  22. 22bottom 3: Jonathan India flies out sharply to center fielder Jake Meyers.01
  23. 23bottom 3: Bobby Witt Jr. grounds out, third baseman Isaac Paredes to first baseman Christian Walker.01
  24. 24top 4: Jeremy Peña grounds out softly, pitcher Michael Wacha to first baseman Salvador Perez.01
  25. 25top 4: Christian Walker grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.01
  26. 26top 4: Yainer Diaz flies out to right fielder Hunter Renfroe.01
  27. 27bottom 4: Salvador Perez strikes out swinging.01
  28. 28bottom 4: Mark Canha strikes out swinging.01
  29. 29bottom 4: Maikel Garcia bunt grounds out softly to catcher Yainer Diaz. Maikel Garcia out on batter interference.01
  30. 30top 5: Zach Dezenzo singles on a ground ball to shortstop Bobby Witt Jr.01
  31. 31top 5: Jake Meyers strikes out swinging.01
  32. 32top 5: Mauricio Dubón grounds out softly, second baseman Maikel Garcia to first baseman Salvador Perez. Zach Dezenzo to 2nd.01
  33. 33top 5: Jose Altuve called out on strikes.01
  34. 34bottom 5: Hunter Renfroe grounds out, third baseman Isaac Paredes to first baseman Christian Walker.01
  35. 35bottom 5: Vinnie Pasquantino homers (3) on a fly ball to right field.02
  36. 36bottom 5: Freddy Fermin grounds out, shortstop Jeremy Peña to first baseman Christian Walker.02
  37. 37bottom 5: Drew Waters grounds out, pitcher Framber Valdez to first baseman Christian Walker.02
  38. 38top 6: Yordan Alvarez grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.02
  39. 39top 6: Isaac Paredes singles on a ground ball to left fielder Mark Canha.02
  40. 40top 6: Jeremy Peña walks. Isaac Paredes to 2nd.02
  41. 41top 6: Christian Walker strikes out swinging.02
  42. 42top 6: Yainer Diaz grounds out, first baseman Salvador Perez to pitcher Michael Wacha.02
  43. 43bottom 6: Jonathan India called out on strikes.02
  44. 44bottom 6: Bobby Witt Jr. grounds out softly, pitcher Framber Valdez to first baseman Christian Walker.02
  45. 45bottom 6: Salvador Perez grounds out, shortstop Jeremy Peña to first baseman Christian Walker.02
  46. 46top 7: Zach Dezenzo lines out to center fielder Drew Waters.02
  47. 47top 7: Jake Meyers grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.02
  48. 48top 7: Mauricio Dubón grounds out, second baseman Maikel Garcia to first baseman Salvador Perez.02
  49. 49bottom 7: Mark Canha singles on a line drive to center fielder Jake Meyers.02
  50. 50bottom 7: Astros challenged (tag play), call on the field was upheld: Maikel Garcia called out on strikes. Tyler Tolbert steals (6) 2nd base.02
  51. 51bottom 7: Hunter Renfroe lines out to center fielder Jake Meyers.02
  52. 52bottom 7: Vinnie Pasquantino flies out to center fielder Jake Meyers.02
  53. 53top 8: Jose Altuve lines out to left fielder Tyler Tolbert.02
  54. 54top 8: Yordan Alvarez grounds out, second baseman Maikel Garcia to pitcher John Schreiber.02
  55. 55top 8: Isaac Paredes doubles (3) on a line drive to right fielder Hunter Renfroe.02
  56. 56top 8: Jeremy Peña singles on a ground ball to shortstop Bobby Witt Jr., deflected by pitcher John Schreiber. Isaac Paredes to 3rd.02
  57. 57top 8: Christian Walker strikes out swinging.02
  58. 58bottom 8: Freddy Fermin flies out to center fielder Jake Meyers.02
  59. 59bottom 8: Drew Waters grounds out to first baseman Christian Walker.02
  60. 60bottom 8: Jonathan India walks.02
  61. 61bottom 8: Bobby Witt Jr. flies out to right fielder Zach Dezenzo.02
  62. 62top 9: Yainer Diaz flies out sharply to center fielder Kyle Isbel.02
  63. 63top 9: Zach Dezenzo grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.02
  64. 64top 9: Victor Caratini strikes out swinging.02
Boxscore

Key evidence.

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

Houston Astros boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Jeremy PenaSS30.33300101000.5000.833400000.33301
Yordan AlvarezDH4000000000040000010
Isaac Paredes3B40.50010002000.5001.250400000.75013
Christian Walker1B40.25010001000.2500.750400000.50022
Yainer DiazC4000000000040000000
Jake MeyersCF3000000000030000020
Mauricio Dubon2B30.33300001000.3330.667300000.33301
Framber ValdezP22922.2503181249625000.625
Jose AltuveLF3000100000.2500.25040000010
Victor CaratiniPH1000000000010000010
Zach DezenzoRF40.25000001000.2500.500400000.25001
Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Bobby Witt Jr.SS40.25010001000.2500.750400000.50002
Salvador Perez1B3000000000030000010
Tyler TolbertLF000000000001000
Steven CruzP0300001031200000
Freddy FerminC3000000000030000000
John SchreiberP0500201031401002
Michael WachaP224004060189206011
Jonathan India3B2000200000.5000.50041000010
Vinnie PasquantinoDH30.33300001010.3331.667311001.33314
Kyle IsbelCF000000000000000
Drew WatersLF3000000000030000000
Mark CanhaLF20.50000001000.3330.833301010.50011
Carlos EstévezP030000103601100
Maikel Garcia2B3000000000030000010
Hunter RenfroeRF3000000000030000000

Comparison

Side by side.

Final

Matchup

Before first pitch.

Probable pitchers and posted lineup context from the matchup card.

Lineups available2025-04-26T23:10:00Z · Final
Play-by-play

The game, at bat by at bat.

top 1st(3)
  • Jose Altuve vs Michael Wacha0-0

    Jose Altuve grounds out, third baseman Jonathan India to first baseman Salvador Perez.

    0-0, 1 pitch · 0 outs before

  • Yordan Alvarez vs Michael Wacha0-0

    Yordan Alvarez strikes out on a foul tip.

    0-3, 3 pitches · 1 out before

  • Isaac Paredes vs Michael Wacha0-0

    Isaac Paredes called out on strikes.

    0-3, 3 pitches · 2 outs before

bottom 1st(5)
  • Jonathan India vs Framber Valdez0-0

    Jonathan India walks.

    4-1, 5 pitches · 0 outs before

  • Bobby Witt Jr. vs Framber Valdez0-0

    Bobby Witt Jr. doubles (11) on a ground ball to left fielder Jose Altuve. Jonathan India to 3rd.

    3-2, 6 pitches · 0 outs before

  • Salvador Perez vs Framber Valdez0-0

    Salvador Perez pops out to second baseman Mauricio Dubón.

    2-2, 6 pitches · 0 outs before

  • Mark Canha vs Framber Valdez0-1

    Mark Canha out on a sacrifice fly to right fielder Zach Dezenzo. Jonathan India scores. Bobby Witt Jr. to 3rd.

    0-0, 1 pitch · 1 out before

  • Maikel Garcia vs Framber Valdez0-1

    Maikel Garcia pops out to first baseman Christian Walker in foul territory.

    0-1, 2 pitches · 2 outs before

top 2nd(4)
  • Jeremy Pena vs Michael Wacha0-1

    Jeremy Peña pops out to shortstop Bobby Witt Jr.

    1-0, 2 pitches · 0 outs before

  • Christian Walker vs Michael Wacha0-1

    Christian Walker doubles (4) on a line drive to left fielder Mark Canha.

    1-2, 4 pitches · 1 out before

  • Yainer Diaz vs Michael Wacha0-1

    Yainer Diaz pops out to second baseman Maikel Garcia.

    2-0, 3 pitches · 1 out before

  • Zach Dezenzo vs Michael Wacha0-1

    Zach Dezenzo pops out to shortstop Bobby Witt Jr.

    3-2, 6 pitches · 2 outs before

bottom 2nd(3)
  • Hunter Renfroe vs Framber Valdez0-1

    Hunter Renfroe grounds out, second baseman Mauricio Dubón to first baseman Christian Walker.

    1-0, 2 pitches · 0 outs before

  • Vinnie Pasquantino vs Framber Valdez0-1

    Vinnie Pasquantino strikes out swinging.

    2-3, 5 pitches · 1 out before

  • Freddy Fermin vs Framber Valdez0-1

    Freddy Fermin flies out to left fielder Jose Altuve.

    0-1, 2 pitches · 2 outs before

top 3rd(5)
  • Jake Meyers vs Michael Wacha0-1

    Jake Meyers called out on strikes.

    2-3, 6 pitches · 0 outs before

  • Mauricio Dubon vs Michael Wacha0-1

    Mauricio Dubón singles on a line drive to right fielder Hunter Renfroe.

    0-0, 1 pitch · 1 out before

  • Jose Altuve vs Michael Wacha0-1

    Jose Altuve walks. Mauricio Dubón to 2nd.

    4-2, 7 pitches · 1 out before

  • Yordan Alvarez vs Michael Wacha0-1

    Yordan Alvarez lines out to left fielder Mark Canha.

    1-2, 4 pitches · 1 out before

  • Isaac Paredes vs Michael Wacha0-1

    Isaac Paredes lines out sharply to right fielder Hunter Renfroe.

    0-1, 2 pitches · 2 outs before

bottom 3rd(3)
  • Drew Waters vs Framber Valdez0-1

    Drew Waters grounds out, third baseman Isaac Paredes to first baseman Christian Walker.

    1-1, 3 pitches · 0 outs before

  • Jonathan India vs Framber Valdez0-1

    Jonathan India flies out sharply to center fielder Jake Meyers.

    1-1, 3 pitches · 1 out before

  • Bobby Witt Jr. vs Framber Valdez0-1

    Bobby Witt Jr. grounds out, third baseman Isaac Paredes to first baseman Christian Walker.

    1-2, 4 pitches · 2 outs before

top 4th(3)
  • Jeremy Pena vs Michael Wacha0-1

    Jeremy Peña grounds out softly, pitcher Michael Wacha to first baseman Salvador Perez.

    1-1, 3 pitches · 0 outs before

  • Christian Walker vs Michael Wacha0-1

    Christian Walker grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.

    2-1, 4 pitches · 1 out before

  • Yainer Diaz vs Michael Wacha0-1

    Yainer Diaz flies out to right fielder Hunter Renfroe.

    2-0, 3 pitches · 2 outs before

bottom 4th(3)
  • Salvador Perez vs Framber Valdez0-1

    Salvador Perez strikes out swinging.

    0-3, 4 pitches · 0 outs before

  • Mark Canha vs Framber Valdez0-1

    Mark Canha strikes out swinging.

    0-3, 3 pitches · 1 out before

  • Maikel Garcia vs Framber Valdez0-1

    Maikel Garcia bunt grounds out softly to catcher Yainer Diaz. Maikel Garcia out on batter interference.

    0-0, 1 pitch · 2 outs before

top 5th(4)
  • Zach Dezenzo vs Michael Wacha0-1

    Zach Dezenzo singles on a ground ball to shortstop Bobby Witt Jr.

    3-2, 7 pitches · 0 outs before

  • Jake Meyers vs Michael Wacha0-1

    Jake Meyers strikes out swinging.

    0-3, 3 pitches · 0 outs before

  • Mauricio Dubon vs Michael Wacha0-1

    Mauricio Dubón grounds out softly, second baseman Maikel Garcia to first baseman Salvador Perez. Zach Dezenzo to 2nd.

    0-1, 2 pitches · 1 out before

  • Jose Altuve vs Michael Wacha0-1

    Jose Altuve called out on strikes.

    3-3, 7 pitches · 2 outs before

bottom 5th(4)
  • Hunter Renfroe vs Framber Valdez0-1

    Hunter Renfroe grounds out, third baseman Isaac Paredes to first baseman Christian Walker.

    2-2, 5 pitches · 0 outs before

  • Vinnie Pasquantino vs Framber Valdez0-2

    Vinnie Pasquantino homers (3) on a fly ball to right field.

    2-1, 4 pitches · 1 out before

  • Freddy Fermin vs Framber Valdez0-2

    Freddy Fermin grounds out, shortstop Jeremy Peña to first baseman Christian Walker.

    0-0, 1 pitch · 1 out before

  • Drew Waters vs Framber Valdez0-2

    Drew Waters grounds out, pitcher Framber Valdez to first baseman Christian Walker.

    0-2, 3 pitches · 2 outs before

top 6th(5)
  • Yordan Alvarez vs Michael Wacha0-2

    Yordan Alvarez grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.

    2-2, 5 pitches · 0 outs before

  • Isaac Paredes vs Michael Wacha0-2

    Isaac Paredes singles on a ground ball to left fielder Mark Canha.

    0-0, 1 pitch · 1 out before

  • Jeremy Pena vs Michael Wacha0-2

    Jeremy Peña walks. Isaac Paredes to 2nd.

    4-2, 7 pitches · 1 out before

  • Christian Walker vs Michael Wacha0-2

    Christian Walker strikes out swinging.

    3-3, 7 pitches · 1 out before

  • Yainer Diaz vs Michael Wacha0-2

    Yainer Diaz grounds out, first baseman Salvador Perez to pitcher Michael Wacha.

    0-0, 1 pitch · 2 outs before

bottom 6th(3)
  • Jonathan India vs Framber Valdez0-2

    Jonathan India called out on strikes.

    1-3, 5 pitches · 0 outs before

  • Bobby Witt Jr. vs Framber Valdez0-2

    Bobby Witt Jr. grounds out softly, pitcher Framber Valdez to first baseman Christian Walker.

    3-2, 6 pitches · 1 out before

  • Salvador Perez vs Framber Valdez0-2

    Salvador Perez grounds out, shortstop Jeremy Peña to first baseman Christian Walker.

    0-0, 1 pitch · 2 outs before

top 7th(3)
  • Zach Dezenzo vs Steven Cruz0-2

    Zach Dezenzo lines out to center fielder Drew Waters.

    1-2, 6 pitches · 0 outs before

  • Jake Meyers vs Steven Cruz0-2

    Jake Meyers grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.

    0-0, 1 pitch · 1 out before

  • Mauricio Dubon vs Steven Cruz0-2

    Mauricio Dubón grounds out, second baseman Maikel Garcia to first baseman Salvador Perez.

    2-2, 5 pitches · 2 outs before

bottom 7th(4)
  • Mark Canha vs Framber Valdez0-2

    Mark Canha singles on a line drive to center fielder Jake Meyers.

    0-1, 2 pitches · 0 outs before

  • Maikel Garcia vs Framber Valdez0-2

    Astros challenged (tag play), call on the field was upheld: Maikel Garcia called out on strikes. Tyler Tolbert steals (6) 2nd base.

    1-3, 4 pitches · 0 outs before

  • Hunter Renfroe vs Framber Valdez0-2

    Hunter Renfroe lines out to center fielder Jake Meyers.

    2-1, 4 pitches · 1 out before

  • Vinnie Pasquantino vs Framber Valdez0-2

    Vinnie Pasquantino flies out to center fielder Jake Meyers.

    0-1, 2 pitches · 2 outs before

top 8th(5)
  • Jose Altuve vs John Schreiber0-2

    Jose Altuve lines out to left fielder Tyler Tolbert.

    0-2, 3 pitches · 0 outs before

  • Yordan Alvarez vs John Schreiber0-2

    Yordan Alvarez grounds out, second baseman Maikel Garcia to pitcher John Schreiber.

    0-0, 1 pitch · 1 out before

  • Isaac Paredes vs John Schreiber0-2

    Isaac Paredes doubles (3) on a line drive to right fielder Hunter Renfroe.

    2-2, 5 pitches · 2 outs before

  • Jeremy Pena vs John Schreiber0-2

    Jeremy Peña singles on a ground ball to shortstop Bobby Witt Jr., deflected by pitcher John Schreiber. Isaac Paredes to 3rd.

    0-0, 1 pitch · 2 outs before

  • Christian Walker vs John Schreiber0-2

    Christian Walker strikes out swinging.

    1-3, 4 pitches · 2 outs before

bottom 8th(4)
  • Freddy Fermin vs Framber Valdez0-2

    Freddy Fermin flies out to center fielder Jake Meyers.

    1-0, 2 pitches · 0 outs before

  • Drew Waters vs Framber Valdez0-2

    Drew Waters grounds out to first baseman Christian Walker.

    0-2, 3 pitches · 1 out before

  • Jonathan India vs Framber Valdez0-2

    Jonathan India walks.

    4-1, 5 pitches · 2 outs before

  • Bobby Witt Jr. vs Framber Valdez0-2

    Bobby Witt Jr. flies out to right fielder Zach Dezenzo.

    1-0, 2 pitches · 2 outs before

top 9th(3)
  • Yainer Diaz vs Carlos Estévez0-2

    Yainer Diaz flies out sharply to center fielder Kyle Isbel.

    0-1, 2 pitches · 0 outs before

  • Zach Dezenzo vs Carlos Estévez0-2

    Zach Dezenzo grounds out, shortstop Bobby Witt Jr. to first baseman Salvador Perez.

    0-0, 1 pitch · 1 out before

  • Victor Caratini vs Carlos Estévez0-2

    Victor Caratini strikes out swinging.

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