Houston Astros 2, Los Angeles Angels 3

baseball game fileFinal
Angel Stadium · Anaheim

Game flow

Every swing in the score.

The line is the running run differential: above the center favors Houston Astros, below favors Los Angeles Angels. 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 Los Angeles Angels led.Run differential+20−212345678910
  1. 01top 1: Jose Altuve lines out to shortstop Zach Neto.00
  2. 02top 1: Yordan Alvarez called out on strikes.00
  3. 03top 1: Christian Walker strikes out on a foul tip.00
  4. 04bottom 1: Zach Neto strikes out swinging.00
  5. 05bottom 1: Mike Trout homers (15) on a fly ball to center field.01
  6. 06bottom 1: Wade Meckler grounds out, shortstop Shay Whitcomb to first baseman Christian Walker.01
  7. 07bottom 1: Jo Adell strikes out on a foul tip.01
  8. 08top 2: Isaac Paredes called out on strikes.01
  9. 09top 2: Cam Smith grounds out, shortstop Zach Neto to first baseman Trey Mancini.01
  10. 10top 2: Jake Meyers called out on strikes.01
  11. 11bottom 2: Oswald Peraza grounds out, third baseman Isaac Paredes to first baseman Christian Walker.01
  12. 12bottom 2: Nick Madrigal singles on a ground ball to left fielder Brice Matthews, deflected by pitcher Peter Lambert.01
  13. 13bottom 2: Trey Mancini grounds into a force out, shortstop Shay Whitcomb to second baseman Jose Altuve. Nick Madrigal out at 2nd. Trey Mancini to 1st.01
  14. 14bottom 2: Jose Siri flies out to right fielder Cam Smith.01
  15. 15top 3: Shay Whitcomb strikes out swinging.01
  16. 16top 3: Brice Matthews lines out sharply to right fielder Jo Adell.01
  17. 17top 3: Christian Vázquez lines out to third baseman Nick Madrigal.01
  18. 18bottom 3: Logan O'Hoppe singles on a fly ball to right fielder Cam Smith.01
  19. 19bottom 3: Zach Neto strikes out on a foul tip.01
  20. 20bottom 3: Mike Trout strikes out swinging.01
  21. 21bottom 3: Wade Meckler grounds out, second baseman Jose Altuve to first baseman Christian Walker.01
  22. 22top 4: Jose Altuve strikes out swinging.01
  23. 23top 4: Yordan Alvarez flies out to left fielder Wade Meckler.01
  24. 24top 4: Christian Walker flies out to right fielder Jo Adell.01
  25. 25bottom 4: Jo Adell grounds out to first baseman Christian Walker.01
  26. 26bottom 4: Oswald Peraza flies out to shortstop Shay Whitcomb.01
  27. 27bottom 4: Nick Madrigal lines out to right fielder Cam Smith.01
  28. 28top 5: Isaac Paredes lines out sharply to left fielder Wade Meckler.01
  29. 29top 5: Cam Smith strikes out swinging.01
  30. 30top 5: Jake Meyers pops out to first baseman Trey Mancini.01
  31. 31bottom 5: Trey Mancini flies out to right fielder Cam Smith.01
  32. 32bottom 5: Jose Siri flies out sharply to center fielder Jake Meyers.01
  33. 33bottom 5: Logan O'Hoppe homers (3) on a fly ball to left center field.02
  34. 34bottom 5: Zach Neto strikes out swinging.02
  35. 35top 6: Shay Whitcomb homers (2) on a fly ball to left center field.12
  36. 36top 6: Brice Matthews flies out to center fielder Jose Siri.12
  37. 37top 6: Christian Vázquez strikes out swinging.12
  38. 38top 6: Jose Altuve strikes out swinging.12
  39. 39bottom 6: Mike Trout flies out to right fielder Cam Smith.12
  40. 40bottom 6: Wade Meckler strikes out swinging.12
  41. 41bottom 6: Jo Adell pops out to third baseman Isaac Paredes.12
  42. 42top 7: Yordan Alvarez flies out to center fielder Jose Siri.12
  43. 43top 7: Christian Walker flies out to right fielder Jo Adell.12
  44. 44top 7: Isaac Paredes pops out to catcher Logan O'Hoppe in foul territory.12
  45. 45bottom 7: Oswald Peraza singles on a ground ball to right fielder Cam Smith, deflected by second baseman Jose Altuve.12
  46. 46bottom 7: Nick Madrigal grounds out, pitcher Peter Lambert to first baseman Christian Walker.12
  47. 47bottom 7: Trey Mancini lines into a double play, first baseman Christian Walker to third baseman Isaac Paredes. Oswald Peraza out at 3rd.12
  48. 48top 8: Cam Smith homers (7) on a fly ball to center field.22
  49. 49top 8: Joey Loperfido flies out to left fielder Wade Meckler.22
  50. 50top 8: Shay Whitcomb lines out sharply to left fielder Wade Meckler.22
  51. 51top 8: Brice Matthews strikes out swinging.22
  52. 52bottom 8: Christian Vázquez challenged (pitch result), call on the field was confirmed: Jose Siri walks.22
  53. 53bottom 8: Logan O'Hoppe out on a sacrifice bunt, pitcher Enyel De Los Santos to first baseman Christian Walker. Jose Siri to 2nd.22
  54. 54bottom 8: Zach Neto flies out to left fielder Joey Loperfido. Jose Siri to 3rd.22
  55. 55bottom 8: Enyel De Los Santos intentionally walks Mike Trout.22
  56. 56bottom 8: Wade Meckler strikes out swinging.22
  57. 57top 9: Taylor Trammell strikes out swinging.22
  58. 58top 9: Jose Altuve grounds out, shortstop Zach Neto to first baseman Trey Mancini.22
  59. 59top 9: Yordan Alvarez singles on a line drive to left fielder Wade Meckler.22
  60. 60top 9: Angels challenged (tag play), call on the field was overturned: Christian Walker doubles (13) on a line drive to left fielder Wade Meckler. Yordan Alvarez out at home, pitcher Sam Bachman to catcher Logan O'Hoppe.22
  61. 61bottom 9: Jo Adell grounds out, shortstop Shay Whitcomb to first baseman Christian Walker.22
  62. 62bottom 9: Oswald Peraza grounds out softly, pitcher Josh Hader to first baseman Christian Walker.22
  63. 63bottom 9: Nick Madrigal flies out to center fielder Brice Matthews.22
  64. 64top 10: Isaac Paredes strikes out on a foul tip.22
  65. 65top 10: Cam Smith called out on strikes.22
  66. 66top 10: Ryan Zeferjahn intentionally walks Joey Loperfido.22
  67. 67top 10: Shay Whitcomb grounds out softly, shortstop Zach Neto to first baseman Trey Mancini.22
  68. 68bottom 10: Donovan Walton singles on a bunt ground ball to pitcher Bryan Abreu. Nick Madrigal to 3rd.22
  69. 69bottom 10: Jose Siri singles on a sharp line drive to left fielder Joey Loperfido. Nick Madrigal scores. Donovan Walton to 3rd.23
Boxscore

Key evidence.

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

Houston Astros boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Jeremy PenaSS000000000000000
Yordan AlvarezDH40.25000001000.2500.500400000.25011
Isaac Paredes1B4000000000040000020
Christian Walker1B40.25010001000.2500.750400000.50012
Joey LoperfidoLF1000100000.5000.50020000000
Cam SmithRF40.25000001010.2501.25041100124
Taylor TrammellPH1000000000010000010
Brice MatthewsCF3000000000030000010
Jake MeyersCF2000000000020000010
Bryan AbreuP0202001071000
Bryan KingP0100000.33301301000
Josh HaderP0300001031100000
Enyel De Los SantosP2500001.333041300001.500
Peter LambertP02422.842526.3330199126000.789
Christian VazquezC2000000000020000010
Jose Altuve2B4000000000040000020
Collin PriceC000000000000000
Shay Whitcomb3B40.25000001010.2501.25041100114
Los Angeles Angels boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Zach NetoSS4000000000040000030
Jo AdellRF4000000000040000010
Wade MecklerLF4000000000040000020
Oswald Peraza2B40.25000001000.2500.500400200.25001
Jose SiriCF30.33300101000.5000.833401000.33301
Ryan ZeferjahnP1400001032102011
Sam BachmanP040020103901002
Reid DetmersP02211.2861170218919000.143
Chase SilsethP0419111031511001
Logan O'HoppeC21000020113.500311002.50005
Donovan WaltonPH1100001001210000101
Nick Madrigal3B40.25000001000.2500.500410000.25001
Trey Mancini1B3000000000030000000
Mike TroutDH30.33300101010.5001.833411101.33314

Comparison

Side by side.

Final

Play-by-play

The game, at bat by at bat.

top 1st(3)
  • Jose Altuve vs Reid Detmers0-0

    Jose Altuve lines out to shortstop Zach Neto.

    0-0, 1 pitch · 0 outs before

  • Yordan Alvarez vs Reid Detmers0-0

    Yordan Alvarez called out on strikes.

    2-3, 6 pitches · 1 out before

  • Christian Walker vs Reid Detmers0-0

    Christian Walker strikes out on a foul tip.

    2-3, 5 pitches · 2 outs before

bottom 1st(4)
  • Zach Neto vs Peter Lambert0-0

    Zach Neto strikes out swinging.

    1-3, 5 pitches · 0 outs before

  • Mike Trout vs Peter Lambert0-1

    Mike Trout homers (15) on a fly ball to center field.

    1-0, 2 pitches · 1 out before

  • Wade Meckler vs Peter Lambert0-1

    Wade Meckler grounds out, shortstop Shay Whitcomb to first baseman Christian Walker.

    1-1, 3 pitches · 1 out before

  • Jo Adell vs Peter Lambert0-1

    Jo Adell strikes out on a foul tip.

    3-3, 8 pitches · 2 outs before

top 2nd(3)
  • Isaac Paredes vs Reid Detmers0-1

    Isaac Paredes called out on strikes.

    2-3, 7 pitches · 0 outs before

  • Cam Smith vs Reid Detmers0-1

    Cam Smith grounds out, shortstop Zach Neto to first baseman Trey Mancini.

    2-2, 8 pitches · 1 out before

  • Jake Meyers vs Reid Detmers0-1

    Jake Meyers called out on strikes.

    1-3, 4 pitches · 2 outs before

bottom 2nd(4)
  • Oswald Peraza vs Peter Lambert0-1

    Oswald Peraza grounds out, third baseman Isaac Paredes to first baseman Christian Walker.

    0-1, 2 pitches · 0 outs before

  • Nick Madrigal vs Peter Lambert0-1

    Nick Madrigal singles on a ground ball to left fielder Brice Matthews, deflected by pitcher Peter Lambert.

    1-2, 6 pitches · 1 out before

  • Trey Mancini vs Peter Lambert0-1

    Trey Mancini grounds into a force out, shortstop Shay Whitcomb to second baseman Jose Altuve. Nick Madrigal out at 2nd. Trey Mancini to 1st.

    2-2, 5 pitches · 1 out before

  • Jose Siri vs Peter Lambert0-1

    Jose Siri flies out to right fielder Cam Smith.

    0-0, 1 pitch · 2 outs before

top 3rd(3)
  • Shay Whitcomb vs Reid Detmers0-1

    Shay Whitcomb strikes out swinging.

    2-3, 5 pitches · 0 outs before

  • Brice Matthews vs Reid Detmers0-1

    Brice Matthews lines out sharply to right fielder Jo Adell.

    3-2, 7 pitches · 1 out before

  • Christian Vazquez vs Reid Detmers0-1

    Christian Vázquez lines out to third baseman Nick Madrigal.

    0-0, 1 pitch · 2 outs before

bottom 3rd(4)
  • Logan O'Hoppe vs Peter Lambert0-1

    Logan O'Hoppe singles on a fly ball to right fielder Cam Smith.

    3-2, 6 pitches · 0 outs before

  • Zach Neto vs Peter Lambert0-1

    Zach Neto strikes out on a foul tip.

    2-3, 5 pitches · 0 outs before

  • Mike Trout vs Peter Lambert0-1

    Mike Trout strikes out swinging.

    1-3, 6 pitches · 1 out before

  • Wade Meckler vs Peter Lambert0-1

    Wade Meckler grounds out, second baseman Jose Altuve to first baseman Christian Walker.

    1-0, 2 pitches · 2 outs before

top 4th(3)
  • Jose Altuve vs Reid Detmers0-1

    Jose Altuve strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Yordan Alvarez vs Reid Detmers0-1

    Yordan Alvarez flies out to left fielder Wade Meckler.

    2-2, 8 pitches · 1 out before

  • Christian Walker vs Reid Detmers0-1

    Christian Walker flies out to right fielder Jo Adell.

    1-1, 3 pitches · 2 outs before

bottom 4th(3)
  • Jo Adell vs Peter Lambert0-1

    Jo Adell grounds out to first baseman Christian Walker.

    2-2, 5 pitches · 0 outs before

  • Oswald Peraza vs Peter Lambert0-1

    Oswald Peraza flies out to shortstop Shay Whitcomb.

    0-0, 1 pitch · 1 out before

  • Nick Madrigal vs Peter Lambert0-1

    Nick Madrigal lines out to right fielder Cam Smith.

    1-1, 3 pitches · 2 outs before

top 5th(3)
  • Isaac Paredes vs Reid Detmers0-1

    Isaac Paredes lines out sharply to left fielder Wade Meckler.

    0-0, 1 pitch · 0 outs before

  • Cam Smith vs Reid Detmers0-1

    Cam Smith strikes out swinging.

    2-3, 5 pitches · 1 out before

  • Jake Meyers vs Reid Detmers0-1

    Jake Meyers pops out to first baseman Trey Mancini.

    0-0, 1 pitch · 2 outs before

bottom 5th(4)
  • Trey Mancini vs Peter Lambert0-1

    Trey Mancini flies out to right fielder Cam Smith.

    0-0, 1 pitch · 0 outs before

  • Jose Siri vs Peter Lambert0-1

    Jose Siri flies out sharply to center fielder Jake Meyers.

    0-2, 3 pitches · 1 out before

  • Logan O'Hoppe vs Peter Lambert0-2

    Logan O'Hoppe homers (3) on a fly ball to left center field.

    2-2, 5 pitches · 2 outs before

  • Zach Neto vs Peter Lambert0-2

    Zach Neto strikes out swinging.

    1-3, 5 pitches · 2 outs before

top 6th(4)
  • Shay Whitcomb vs Reid Detmers1-2

    Shay Whitcomb homers (2) on a fly ball to left center field.

    1-0, 2 pitches · 0 outs before

  • Brice Matthews vs Reid Detmers1-2

    Brice Matthews flies out to center fielder Jose Siri.

    1-1, 3 pitches · 0 outs before

  • Christian Vazquez vs Reid Detmers1-2

    Christian Vázquez strikes out swinging.

    3-3, 6 pitches · 1 out before

  • Jose Altuve vs Reid Detmers1-2

    Jose Altuve strikes out swinging.

    1-3, 4 pitches · 2 outs before

bottom 6th(3)
  • Mike Trout vs Peter Lambert1-2

    Mike Trout flies out to right fielder Cam Smith.

    1-0, 2 pitches · 0 outs before

  • Wade Meckler vs Peter Lambert1-2

    Wade Meckler strikes out swinging.

    1-3, 4 pitches · 1 out before

  • Jo Adell vs Peter Lambert1-2

    Jo Adell pops out to third baseman Isaac Paredes.

    2-1, 4 pitches · 2 outs before

top 7th(3)
  • Yordan Alvarez vs Reid Detmers1-2

    Yordan Alvarez flies out to center fielder Jose Siri.

    0-0, 1 pitch · 0 outs before

  • Christian Walker vs Reid Detmers1-2

    Christian Walker flies out to right fielder Jo Adell.

    0-1, 2 pitches · 1 out before

  • Isaac Paredes vs Reid Detmers1-2

    Isaac Paredes pops out to catcher Logan O'Hoppe in foul territory.

    0-2, 5 pitches · 2 outs before

bottom 7th(3)
  • Oswald Peraza vs Peter Lambert1-2

    Oswald Peraza singles on a ground ball to right fielder Cam Smith, deflected by second baseman Jose Altuve.

    0-1, 2 pitches · 0 outs before

  • Nick Madrigal vs Peter Lambert1-2

    Nick Madrigal grounds out, pitcher Peter Lambert to first baseman Christian Walker.

    2-2, 5 pitches · 0 outs before

  • Trey Mancini vs Enyel De Los Santos1-2

    Trey Mancini lines into a double play, first baseman Christian Walker to third baseman Isaac Paredes. Oswald Peraza out at 3rd.

    1-2, 5 pitches · 1 out before

top 8th(4)
  • Cam Smith vs Chase Silseth2-2

    Cam Smith homers (7) on a fly ball to center field.

    2-2, 5 pitches · 0 outs before

  • Joey Loperfido vs Chase Silseth2-2

    Joey Loperfido flies out to left fielder Wade Meckler.

    0-1, 2 pitches · 0 outs before

  • Shay Whitcomb vs Chase Silseth2-2

    Shay Whitcomb lines out sharply to left fielder Wade Meckler.

    1-2, 5 pitches · 1 out before

  • Brice Matthews vs Chase Silseth2-2

    Brice Matthews strikes out swinging.

    0-3, 3 pitches · 2 outs before

bottom 8th(5)
  • Jose Siri vs Enyel De Los Santos2-2

    Christian Vázquez challenged (pitch result), call on the field was confirmed: Jose Siri walks.

    4-1, 5 pitches · 0 outs before

  • Logan O'Hoppe vs Enyel De Los Santos2-2

    Logan O'Hoppe out on a sacrifice bunt, pitcher Enyel De Los Santos to first baseman Christian Walker. Jose Siri to 2nd.

    0-0, 1 pitch · 0 outs before

  • Zach Neto vs Enyel De Los Santos2-2

    Zach Neto flies out to left fielder Joey Loperfido. Jose Siri to 3rd.

    0-1, 2 pitches · 1 out before

  • Mike Trout vs Enyel De Los Santos2-2

    Enyel De Los Santos intentionally walks Mike Trout.

    0-0, 0 pitches · 2 outs before

  • Wade Meckler vs Bryan King2-2

    Wade Meckler strikes out swinging.

    0-3, 3 pitches · 2 outs before

top 9th(4)
  • Taylor Trammell vs Sam Bachman2-2

    Taylor Trammell strikes out swinging.

    0-3, 3 pitches · 0 outs before

  • Jose Altuve vs Sam Bachman2-2

    Jose Altuve grounds out, shortstop Zach Neto to first baseman Trey Mancini.

    0-0, 1 pitch · 1 out before

  • Yordan Alvarez vs Sam Bachman2-2

    Yordan Alvarez singles on a line drive to left fielder Wade Meckler.

    1-2, 4 pitches · 2 outs before

  • Christian Walker vs Sam Bachman2-2

    Angels challenged (tag play), call on the field was overturned: Christian Walker doubles (13) on a line drive to left fielder Wade Meckler. Yordan Alvarez out at home, pitcher Sam Bachman to catcher Logan O'Hoppe.

    0-0, 1 pitch · 2 outs before

bottom 9th(3)
  • Jo Adell vs Josh Hader2-2

    Jo Adell grounds out, shortstop Shay Whitcomb to first baseman Christian Walker.

    0-2, 3 pitches · 0 outs before

  • Oswald Peraza vs Josh Hader2-2

    Oswald Peraza grounds out softly, pitcher Josh Hader to first baseman Christian Walker.

    0-2, 3 pitches · 1 out before

  • Nick Madrigal vs Josh Hader2-2

    Nick Madrigal flies out to center fielder Brice Matthews.

    2-2, 5 pitches · 2 outs before

top 10th(4)
  • Isaac Paredes vs Ryan Zeferjahn2-2

    Isaac Paredes strikes out on a foul tip.

    3-3, 6 pitches · 0 outs before

  • Cam Smith vs Ryan Zeferjahn2-2

    Cam Smith called out on strikes.

    3-3, 9 pitches · 1 out before

  • Joey Loperfido vs Ryan Zeferjahn2-2

    Ryan Zeferjahn intentionally walks Joey Loperfido.

    0-0, 0 pitches · 2 outs before

  • Shay Whitcomb vs Ryan Zeferjahn2-2

    Shay Whitcomb grounds out softly, shortstop Zach Neto to first baseman Trey Mancini.

    3-2, 6 pitches · 2 outs before

bottom 10th(2)
  • Donovan Walton vs Bryan Abreu2-2

    Donovan Walton singles on a bunt ground ball to pitcher Bryan Abreu. Nick Madrigal to 3rd.

    2-1, 4 pitches · 0 outs before

  • Jose Siri vs Bryan Abreu2-3

    Jose Siri singles on a sharp line drive to left fielder Joey Loperfido. Nick Madrigal scores. Donovan Walton to 3rd.

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