Kansas City Royals 4, Texas Rangers 1

baseball game fileFinal
Globe Life Field · Arlington

Game flow

Every swing in the score.

The line is the running run differential: above the center favors Kansas City Royals, below favors Texas Rangers. 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 Texas Rangers led.Run differential+30−3123456789
  1. 01top 1: Jonathan India pops out to third baseman Josh Jung.00
  2. 02top 1: Bobby Witt Jr. walks.00
  3. 03top 1: Maikel Garcia flies out to right fielder Adolis García.00
  4. 04top 1: Vinnie Pasquantino homers (11) on a fly ball to right field. Bobby Witt Jr. scores.20
  5. 05top 1: Salvador Perez strikes out on a foul tip.20
  6. 06bottom 1: Evan Carter flies out to center fielder Kyle Isbel.20
  7. 07bottom 1: Wyatt Langford strikes out swinging.20
  8. 08bottom 1: Corey Seager grounds out sharply, second baseman Jonathan India to first baseman Vinnie Pasquantino.20
  9. 09top 2: Jac Caglianone homers (1) on a fly ball to right center field.30
  10. 10top 2: Freddy Fermin lines out sharply to center fielder Evan Carter.30
  11. 11top 2: Drew Waters flies out to left fielder Wyatt Langford.30
  12. 12top 2: Kyle Isbel grounds out, second baseman Marcus Semien to first baseman Jake Burger.30
  13. 13bottom 2: Marcus Semien flies out to left fielder Drew Waters.30
  14. 14bottom 2: Adolis García strikes out swinging.30
  15. 15bottom 2: Alejandro Osuna strikes out swinging, catcher Freddy Fermin to first baseman Vinnie Pasquantino.30
  16. 16top 3: Jonathan India flies out to left fielder Wyatt Langford.30
  17. 17top 3: Bobby Witt Jr. singles on a ground ball to left fielder Wyatt Langford.30
  18. 18top 3: Maikel Garcia grounds into a double play, shortstop Corey Seager to second baseman Marcus Semien to first baseman Jake Burger. Bobby Witt Jr. out at 2nd. Maikel Garcia out at 1st.30
  19. 19bottom 3: Jake Burger grounds out, third baseman Maikel Garcia to first baseman Vinnie Pasquantino.30
  20. 20bottom 3: Josh Jung lines out to left fielder Drew Waters.30
  21. 21bottom 3: Jonah Heim reaches on a fielding error by right fielder Jac Caglianone. Jonah Heim to 2nd.30
  22. 22bottom 3: Evan Carter flies out to left fielder Drew Waters.30
  23. 23top 4: Vinnie Pasquantino grounds out, second baseman Marcus Semien to first baseman Jake Burger.30
  24. 24top 4: Salvador Perez lines out sharply to shortstop Corey Seager.30
  25. 25top 4: Jac Caglianone grounds out softly, catcher Jonah Heim to first baseman Jake Burger.30
  26. 26bottom 4: Wyatt Langford strikes out swinging.30
  27. 27bottom 4: Corey Seager flies out to left fielder Drew Waters.30
  28. 28bottom 4: Marcus Semien strikes out swinging.30
  29. 29top 5: Freddy Fermin grounds out, shortstop Corey Seager to first baseman Jake Burger.30
  30. 30top 5: Drew Waters flies out to right fielder Adolis García.30
  31. 31top 5: Kyle Isbel doubles (6) on a line drive to center fielder Evan Carter.30
  32. 32top 5: Jonathan India grounds out, third baseman Josh Jung to first baseman Jake Burger.30
  33. 33bottom 5: Adolis García walks.30
  34. 34bottom 5: Alejandro Osuna walks. Adolis García to 2nd.30
  35. 35bottom 5: Jake Burger pops out to shortstop Bobby Witt Jr. on the infield fly rule.30
  36. 36bottom 5: Josh Jung lines out to right fielder Jac Caglianone.30
  37. 37bottom 5: Jonah Heim grounds out, second baseman Jonathan India to first baseman Vinnie Pasquantino.30
  38. 38top 6: Bobby Witt Jr. pops out to second baseman Marcus Semien.30
  39. 39top 6: Maikel Garcia flies out to right fielder Adolis García.30
  40. 40top 6: Vinnie Pasquantino pops out to third baseman Josh Jung.30
  41. 41bottom 6: Evan Carter flies out to center fielder Kyle Isbel.30
  42. 42bottom 6: Wyatt Langford singles on a line drive to center fielder Kyle Isbel.30
  43. 43bottom 6: Corey Seager pops out to shortstop Bobby Witt Jr.30
  44. 44bottom 6: Marcus Semien doubles (8) on a ground ball to left fielder Drew Waters. Wyatt Langford scores.31
  45. 45bottom 6: Adolis García pops out to shortstop Bobby Witt Jr.31
  46. 46top 7: Salvador Perez pops out to first baseman Jake Burger.31
  47. 47top 7: Jac Caglianone grounds out sharply, second baseman Marcus Semien to first baseman Jake Burger.31
  48. 48top 7: Freddy Fermin walks.31
  49. 49top 7: Drew Waters walks. Freddy Fermin to 2nd.31
  50. 50top 7: Kyle Isbel lines out sharply to center fielder Evan Carter.31
  51. 51bottom 7: Alejandro Osuna pops out to third baseman Maikel Garcia.31
  52. 52bottom 7: Jake Burger flies out to center fielder Kyle Isbel.31
  53. 53bottom 7: Josh Jung strikes out swinging.31
  54. 54top 8: Jonathan India flies out to right fielder Adolis García.31
  55. 55top 8: Bobby Witt Jr. hits a ground-rule double (25) on a fly ball down the right-field line.31
  56. 56top 8: Maikel Garcia grounds out, shortstop Corey Seager to first baseman Jake Burger. Bobby Witt Jr. to 3rd.31
  57. 57top 8: Cole Winn intentionally walks Vinnie Pasquantino.31
  58. 58top 8: Salvador Perez flies out to right fielder Adolis García.31
  59. 59bottom 8: Jonah Heim grounds out, third baseman Maikel Garcia to first baseman Vinnie Pasquantino.31
  60. 60bottom 8: Sam Haggerty singles on a sharp ground ball to center fielder Kyle Isbel.31
  61. 61bottom 8: Wyatt Langford called out on strikes.31
  62. 62bottom 8: Corey Seager grounds out, shortstop Bobby Witt Jr. to first baseman Vinnie Pasquantino.31
  63. 63top 9: Jac Caglianone homers (2) on a fly ball to right center field.41
  64. 64top 9: Freddy Fermin grounds out, shortstop Corey Seager to first baseman Jake Burger.41
  65. 65top 9: Drew Waters flies out to right fielder Adolis García.41
  66. 66top 9: Kyle Isbel strikes out swinging.41
  67. 67bottom 9: Marcus Semien grounds out, second baseman Jonathan India to first baseman Vinnie Pasquantino.41
  68. 68bottom 9: Adolis García grounds out sharply, shortstop Bobby Witt Jr. to first baseman Vinnie Pasquantino.41
  69. 69bottom 9: Alejandro Osuna flies out sharply to right fielder John Rave.41
Boxscore

Key evidence.

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

Kansas City Royals boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Bobby Witt Jr.SS30.66710102000.7501.75041000103
Salvador PerezDH4000000000040000010
Freddy FerminC3000100000.2500.25040000000
John SchreiberP0300001031201000
Michael WachaP22311.5002060189715010.667
Jac CaglianoneRF40.50000002020.5002.50042200208
John RaveRF000000000000000
Jonathan India2B4000000000040000000
Vinnie Pasquantino1B30.33300101010.5001.833412001.33304
Kyle IsbelCF40.25010001000.2500.750400000.50012
Drew WatersLF3000100000.2500.25040000000
Carlos EstévezP0300001031100100
Maikel Garcia3B4000000000040000000
Angel ZerpaP0400101031001001

Team line

Texas Rangers
Texas Rangers boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Josh Jung3B3000000000030000010
Corey SeagerSS4000000000040000000
Jake Burger1B3000000000030000000
Evan CarterCF3000000000030000000
Alejandro OsunaDH3000100000.2500.25040000010
Cole WinnP2700101.333041800002.250
Shawn ArmstrongP15218111132521002
Jonah HeimC3000000000030000000
Jacob LatzP12011.588315.6670178210000.706
Wyatt LangfordCF40.25000001000.2500.500410000.25031
Marcus Semien2B40.25010001000.2500.750401000.50012
Adolis GarcíaRF3000100000.2500.25040000010
Sam HaggertyLF1100001001210000101
Robert GarciaP0419111031211001

Comparison

Side by side.

Final

Matchup

Before first pitch.

Probable pitchers and posted lineup context from the matchup card.

Lineups available2025-06-19T18:35:00Z · Final

Texas Rangers

Probable pitcher: Shawn Armstrong (R)

Play-by-play

The game, at bat by at bat.

top 1st(5)
  • Jonathan India vs Shawn Armstrong0-0

    Jonathan India pops out to third baseman Josh Jung.

    3-2, 7 pitches · 0 outs before

  • Bobby Witt Jr. vs Shawn Armstrong0-0

    Bobby Witt Jr. walks.

    4-2, 6 pitches · 1 out before

  • Maikel Garcia vs Shawn Armstrong0-0

    Maikel Garcia flies out to right fielder Adolis García.

    0-1, 2 pitches · 1 out before

  • Vinnie Pasquantino vs Shawn Armstrong2-0

    Vinnie Pasquantino homers (11) on a fly ball to right field. Bobby Witt Jr. scores.

    3-2, 6 pitches · 2 outs before

  • Salvador Perez vs Shawn Armstrong2-0

    Salvador Perez strikes out on a foul tip.

    1-3, 4 pitches · 2 outs before

bottom 1st(3)
  • Evan Carter vs Michael Wacha2-0

    Evan Carter flies out to center fielder Kyle Isbel.

    0-1, 2 pitches · 0 outs before

  • Wyatt Langford vs Michael Wacha2-0

    Wyatt Langford strikes out swinging.

    0-3, 4 pitches · 1 out before

  • Corey Seager vs Michael Wacha2-0

    Corey Seager grounds out sharply, second baseman Jonathan India to first baseman Vinnie Pasquantino.

    1-2, 4 pitches · 2 outs before

top 2nd(4)
  • Jac Caglianone vs Jacob Latz3-0

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

    2-2, 5 pitches · 0 outs before

  • Freddy Fermin vs Jacob Latz3-0

    Freddy Fermin lines out sharply to center fielder Evan Carter.

    3-2, 6 pitches · 0 outs before

  • Drew Waters vs Jacob Latz3-0

    Drew Waters flies out to left fielder Wyatt Langford.

    1-2, 4 pitches · 1 out before

  • Kyle Isbel vs Jacob Latz3-0

    Kyle Isbel grounds out, second baseman Marcus Semien to first baseman Jake Burger.

    0-2, 3 pitches · 2 outs before

bottom 2nd(3)
  • Marcus Semien vs Michael Wacha3-0

    Marcus Semien flies out to left fielder Drew Waters.

    0-1, 2 pitches · 0 outs before

  • Adolis García vs Michael Wacha3-0

    Adolis García strikes out swinging.

    1-3, 5 pitches · 1 out before

  • Alejandro Osuna vs Michael Wacha3-0

    Alejandro Osuna strikes out swinging, catcher Freddy Fermin to first baseman Vinnie Pasquantino.

    1-3, 5 pitches · 2 outs before

top 3rd(3)
  • Jonathan India vs Jacob Latz3-0

    Jonathan India flies out to left fielder Wyatt Langford.

    3-2, 7 pitches · 0 outs before

  • Bobby Witt Jr. vs Jacob Latz3-0

    Bobby Witt Jr. singles on a ground ball to left fielder Wyatt Langford.

    0-1, 2 pitches · 1 out before

  • Maikel Garcia vs Jacob Latz3-0

    Maikel Garcia grounds into a double play, shortstop Corey Seager to second baseman Marcus Semien to first baseman Jake Burger. Bobby Witt Jr. out at 2nd. Maikel Garcia out at 1st.

    2-2, 5 pitches · 1 out before

bottom 3rd(4)
  • Jake Burger vs Michael Wacha3-0

    Jake Burger grounds out, third baseman Maikel Garcia to first baseman Vinnie Pasquantino.

    0-0, 1 pitch · 0 outs before

  • Josh Jung vs Michael Wacha3-0

    Josh Jung lines out to left fielder Drew Waters.

    2-2, 6 pitches · 1 out before

  • Jonah Heim vs Michael Wacha3-0

    Jonah Heim reaches on a fielding error by right fielder Jac Caglianone. Jonah Heim to 2nd.

    1-1, 3 pitches · 2 outs before

  • Evan Carter vs Michael Wacha3-0

    Evan Carter flies out to left fielder Drew Waters.

    1-2, 4 pitches · 2 outs before

top 4th(3)
  • Vinnie Pasquantino vs Jacob Latz3-0

    Vinnie Pasquantino grounds out, second baseman Marcus Semien to first baseman Jake Burger.

    2-1, 4 pitches · 0 outs before

  • Salvador Perez vs Jacob Latz3-0

    Salvador Perez lines out sharply to shortstop Corey Seager.

    2-1, 4 pitches · 1 out before

  • Jac Caglianone vs Jacob Latz3-0

    Jac Caglianone grounds out softly, catcher Jonah Heim to first baseman Jake Burger.

    0-0, 1 pitch · 2 outs before

bottom 4th(3)
  • Wyatt Langford vs Michael Wacha3-0

    Wyatt Langford strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Corey Seager vs Michael Wacha3-0

    Corey Seager flies out to left fielder Drew Waters.

    1-1, 3 pitches · 1 out before

  • Marcus Semien vs Michael Wacha3-0

    Marcus Semien strikes out swinging.

    3-3, 8 pitches · 2 outs before

top 5th(4)
  • Freddy Fermin vs Jacob Latz3-0

    Freddy Fermin grounds out, shortstop Corey Seager to first baseman Jake Burger.

    0-1, 2 pitches · 0 outs before

  • Drew Waters vs Jacob Latz3-0

    Drew Waters flies out to right fielder Adolis García.

    1-0, 2 pitches · 1 out before

  • Kyle Isbel vs Jacob Latz3-0

    Kyle Isbel doubles (6) on a line drive to center fielder Evan Carter.

    3-2, 7 pitches · 2 outs before

  • Jonathan India vs Jacob Latz3-0

    Jonathan India grounds out, third baseman Josh Jung to first baseman Jake Burger.

    2-2, 5 pitches · 2 outs before

bottom 5th(5)
  • Adolis García vs Michael Wacha3-0

    Adolis García walks.

    4-2, 6 pitches · 0 outs before

  • Alejandro Osuna vs Michael Wacha3-0

    Alejandro Osuna walks. Adolis García to 2nd.

    4-2, 6 pitches · 0 outs before

  • Jake Burger vs Michael Wacha3-0

    Jake Burger pops out to shortstop Bobby Witt Jr. on the infield fly rule.

    2-1, 4 pitches · 0 outs before

  • Josh Jung vs Michael Wacha3-0

    Josh Jung lines out to right fielder Jac Caglianone.

    1-1, 3 pitches · 1 out before

  • Jonah Heim vs Michael Wacha3-0

    Jonah Heim grounds out, second baseman Jonathan India to first baseman Vinnie Pasquantino.

    0-0, 1 pitch · 2 outs before

top 6th(3)
  • Bobby Witt Jr. vs Jacob Latz3-0

    Bobby Witt Jr. pops out to second baseman Marcus Semien.

    2-2, 6 pitches · 0 outs before

  • Maikel Garcia vs Jacob Latz3-0

    Maikel Garcia flies out to right fielder Adolis García.

    0-2, 3 pitches · 1 out before

  • Vinnie Pasquantino vs Jacob Latz3-0

    Vinnie Pasquantino pops out to third baseman Josh Jung.

    1-2, 5 pitches · 2 outs before

bottom 6th(5)
  • Evan Carter vs Michael Wacha3-0

    Evan Carter flies out to center fielder Kyle Isbel.

    2-1, 4 pitches · 0 outs before

  • Wyatt Langford vs Michael Wacha3-0

    Wyatt Langford singles on a line drive to center fielder Kyle Isbel.

    2-2, 5 pitches · 1 out before

  • Corey Seager vs Michael Wacha3-0

    Corey Seager pops out to shortstop Bobby Witt Jr.

    1-2, 5 pitches · 1 out before

  • Marcus Semien vs Michael Wacha3-1

    Marcus Semien doubles (8) on a ground ball to left fielder Drew Waters. Wyatt Langford scores.

    2-2, 6 pitches · 2 outs before

  • Adolis García vs Michael Wacha3-1

    Adolis García pops out to shortstop Bobby Witt Jr.

    3-2, 6 pitches · 2 outs before

top 7th(5)
  • Salvador Perez vs Jacob Latz3-1

    Salvador Perez pops out to first baseman Jake Burger.

    0-0, 1 pitch · 0 outs before

  • Jac Caglianone vs Jacob Latz3-1

    Jac Caglianone grounds out sharply, second baseman Marcus Semien to first baseman Jake Burger.

    1-1, 3 pitches · 1 out before

  • Freddy Fermin vs Jacob Latz3-1

    Freddy Fermin walks.

    4-2, 7 pitches · 2 outs before

  • Drew Waters vs Cole Winn3-1

    Drew Waters walks. Freddy Fermin to 2nd.

    4-2, 6 pitches · 2 outs before

  • Kyle Isbel vs Cole Winn3-1

    Kyle Isbel lines out sharply to center fielder Evan Carter.

    0-1, 2 pitches · 2 outs before

bottom 7th(3)
  • Alejandro Osuna vs John Schreiber3-1

    Alejandro Osuna pops out to third baseman Maikel Garcia.

    3-2, 6 pitches · 0 outs before

  • Jake Burger vs John Schreiber3-1

    Jake Burger flies out to center fielder Kyle Isbel.

    1-1, 3 pitches · 1 out before

  • Josh Jung vs John Schreiber3-1

    Josh Jung strikes out swinging.

    0-3, 3 pitches · 2 outs before

top 8th(5)
  • Jonathan India vs Cole Winn3-1

    Jonathan India flies out to right fielder Adolis García.

    0-1, 2 pitches · 0 outs before

  • Bobby Witt Jr. vs Cole Winn3-1

    Bobby Witt Jr. hits a ground-rule double (25) on a fly ball down the right-field line.

    0-2, 3 pitches · 1 out before

  • Maikel Garcia vs Cole Winn3-1

    Maikel Garcia grounds out, shortstop Corey Seager to first baseman Jake Burger. Bobby Witt Jr. to 3rd.

    0-2, 3 pitches · 1 out before

  • Vinnie Pasquantino vs Cole Winn3-1

    Cole Winn intentionally walks Vinnie Pasquantino.

    0-0, 0 pitches · 2 outs before

  • Salvador Perez vs Cole Winn3-1

    Salvador Perez flies out to right fielder Adolis García.

    0-1, 2 pitches · 2 outs before

bottom 8th(4)
  • Jonah Heim vs Angel Zerpa3-1

    Jonah Heim grounds out, third baseman Maikel Garcia to first baseman Vinnie Pasquantino.

    0-2, 3 pitches · 0 outs before

  • Sam Haggerty vs Angel Zerpa3-1

    Sam Haggerty singles on a sharp ground ball to center fielder Kyle Isbel.

    0-1, 2 pitches · 1 out before

  • Wyatt Langford vs Angel Zerpa3-1

    Wyatt Langford called out on strikes.

    0-3, 3 pitches · 1 out before

  • Corey Seager vs Angel Zerpa3-1

    Corey Seager grounds out, shortstop Bobby Witt Jr. to first baseman Vinnie Pasquantino.

    1-0, 2 pitches · 2 outs before

top 9th(4)
  • Jac Caglianone vs Robert Garcia4-1

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

    0-0, 1 pitch · 0 outs before

  • Freddy Fermin vs Robert Garcia4-1

    Freddy Fermin grounds out, shortstop Corey Seager to first baseman Jake Burger.

    2-1, 4 pitches · 0 outs before

  • Drew Waters vs Robert Garcia4-1

    Drew Waters flies out to right fielder Adolis García.

    0-2, 3 pitches · 1 out before

  • Kyle Isbel vs Robert Garcia4-1

    Kyle Isbel strikes out swinging.

    1-3, 4 pitches · 2 outs before

bottom 9th(3)
  • Marcus Semien vs Carlos Estévez4-1

    Marcus Semien grounds out, second baseman Jonathan India to first baseman Vinnie Pasquantino.

    1-2, 5 pitches · 0 outs before

  • Adolis García vs Carlos Estévez4-1

    Adolis García grounds out sharply, shortstop Bobby Witt Jr. to first baseman Vinnie Pasquantino.

    2-1, 4 pitches · 1 out before

  • Alejandro Osuna vs Carlos Estévez4-1

    Alejandro Osuna flies out sharply to right fielder John Rave.

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