Los Angeles Angels 0, Seattle Mariners 1

baseball game fileFinal
T-Mobile Park · Seattle

Game flow

Every swing in the score.

The line is the running run differential: above the center favors Los Angeles Angels, below favors Seattle Mariners. 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 Los Angeles Angels led; a negative differential means Seattle Mariners led.Run differential+10−1123456789
  1. 01top 1: Zach Neto pops out to first baseman Josh Naylor in foul territory.00
  2. 02top 1: Nolan Schanuel grounds out, shortstop Colt Emerson to first baseman Josh Naylor.00
  3. 03top 1: Denzer Guzman strikes out swinging.00
  4. 04bottom 1: J.P. Crawford grounds out, shortstop Zach Neto to first baseman Nolan Schanuel.00
  5. 05bottom 1: Julio Rodríguez walks.00
  6. 06bottom 1: Dominic Canzone reaches on a fielder's choice. Julio Rodríguez to 3rd. Julio Rodríguez advances to 3rd, on a throwing error by first baseman Nolan Schanuel.00
  7. 07bottom 1: Randy Arozarena hit by pitch. Dominic Canzone to 2nd.00
  8. 08bottom 1: Josh Naylor grounds into a double play, shortstop Zach Neto to first baseman Nolan Schanuel. Randy Arozarena out at 2nd. Josh Naylor out at 1st.00
  9. 09top 2: Jorge Soler strikes out swinging.00
  10. 10top 2: Wade Meckler strikes out swinging.00
  11. 11top 2: Jo Adell strikes out swinging.00
  12. 12bottom 2: Cal Raleigh strikes out swinging.00
  13. 13bottom 2: Luke Raley strikes out swinging.00
  14. 14bottom 2: Cole Young strikes out swinging.00
  15. 15top 3: Oswald Peraza challenged (pitch result), call on the field was confirmed: Oswald Peraza called out on strikes.00
  16. 16top 3: Josh Lowe flies out to center fielder Victor Robles.00
  17. 17top 3: Logan O'Hoppe grounds out, pitcher Bryce Miller to first baseman Josh Naylor.00
  18. 18bottom 3: Colt Emerson flies out to center fielder Josh Lowe.00
  19. 19bottom 3: J.P. Crawford lines out to center fielder Josh Lowe.00
  20. 20bottom 3: Victor Robles hit by pitch.00
  21. 21bottom 3: Dominic Canzone grounds out, third baseman Denzer Guzman to first baseman Nolan Schanuel.00
  22. 22top 4: Zach Neto flies out to right fielder Luke Raley.00
  23. 23top 4: Nolan Schanuel grounds out, second baseman Cole Young to first baseman Josh Naylor.00
  24. 24top 4: Denzer Guzman reaches on a throwing error by third baseman J.P. Crawford. Denzer Guzman to 2nd.00
  25. 25top 4: Jorge Soler strikes out swinging.00
  26. 26bottom 4: Randy Arozarena lines out to right fielder Jo Adell.00
  27. 27bottom 4: Josh Naylor grounds out, shortstop Zach Neto to first baseman Nolan Schanuel.00
  28. 28bottom 4: Cal Raleigh strikes out swinging.00
  29. 29top 5: Wade Meckler lines out to first baseman Josh Naylor.00
  30. 30top 5: Jo Adell flies out to center fielder Luke Raley.00
  31. 31top 5: Oswald Peraza flies out to first baseman Josh Naylor.00
  32. 32bottom 5: Luke Raley grounds out, shortstop Zach Neto to first baseman Nolan Schanuel.00
  33. 33bottom 5: Cole Young flies out to center fielder Josh Lowe.00
  34. 34bottom 5: Colt Emerson grounds out, third baseman Denzer Guzman to first baseman Nolan Schanuel.00
  35. 35top 6: Josh Lowe flies out to right fielder Weston Wilson.00
  36. 36top 6: Logan O'Hoppe challenged (pitch result), call on the field was confirmed: Logan O'Hoppe called out on strikes.00
  37. 37top 6: Zach Neto grounds out, shortstop Colt Emerson to first baseman Josh Naylor.00
  38. 38bottom 6: J.P. Crawford doubles (6) on a line drive to right fielder Jo Adell.00
  39. 39bottom 6: Weston Wilson strikes out swinging.00
  40. 40bottom 6: Dominic Canzone walks.00
  41. 41bottom 6: Randy Arozarena walks. J.P. Crawford to 3rd. Dominic Canzone to 2nd.00
  42. 42bottom 6: Josh Naylor strikes out swinging.00
  43. 43bottom 6: Cal Raleigh walks. J.P. Crawford scores. Dominic Canzone to 3rd. Randy Arozarena to 2nd.01
  44. 44bottom 6: Luke Raley strikes out swinging.01
  45. 45top 7: Nolan Schanuel singles on a fly ball to center fielder Luke Raley.01
  46. 46top 7: Denzer Guzman singles on a fly ball to right fielder Weston Wilson. Nolan Schanuel to 2nd.01
  47. 47top 7: Jorge Soler strikes out swinging.01
  48. 48top 7: Wade Meckler flies out to center fielder Luke Raley.01
  49. 49top 7: Jo Adell grounds into a force out, shortstop Colt Emerson to second baseman Cole Young. Denzer Guzman out at 2nd.01
  50. 50bottom 7: Cole Young strikes out swinging.01
  51. 51bottom 7: Colt Emerson strikes out swinging.01
  52. 52bottom 7: J.P. Crawford grounds out, catcher Logan O'Hoppe to first baseman Nolan Schanuel.01
  53. 53top 8: Oswald Peraza called out on strikes.01
  54. 54top 8: Josh Lowe strikes out swinging.01
  55. 55top 8: Logan O'Hoppe pops out to third baseman J.P. Crawford.01
  56. 56bottom 8: Weston Wilson strikes out swinging.01
  57. 57bottom 8: Dominic Canzone grounds out, second baseman Oswald Peraza to first baseman Nolan Schanuel.01
  58. 58bottom 8: Randy Arozarena singles on a line drive to left fielder Wade Meckler.01
  59. 59bottom 8: Josh Naylor pops out to third baseman Denzer Guzman in foul territory.01
  60. 60top 9: Zach Neto walks.01
  61. 61top 9: Nolan Schanuel singles on a line drive to center fielder Luke Raley.01
  62. 62top 9: Denzer Guzman flies out to center fielder Luke Raley.01
  63. 63top 9: Jorge Soler singles on a sharp line drive to left fielder Randy Arozarena. Jose Siri to 2nd.01
  64. 64top 9: Angels challenged (play at 1st), call on the field was upheld: Wade Meckler grounds out, shortstop Colt Emerson to first baseman Josh Naylor.01
Boxscore

Key evidence.

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

Los Angeles Angels boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
Zach NetoSS3000110000.2500.25040000000
Denzer Guzman3B40.25000001000.2500.500400000.25011
Nolan Schanuel1B40.50000002000.5001400000.50002
Jo AdellRF3000000000030000010
Wade MecklerLF4000000000040000010
Oswald Peraza2B3000000000030000020
Josh LoweCF3000000000030000010
Jose SiriPR000000000000000
Samy Natera Jr.P0400001.333041903000
Sam BachmanP0400101031201001
Walbert UrenaP42411.588105.66711710716000.882
Logan O'HoppeC3000000000030000010
Donovan WaltonPR000000000000000
Jorge SolerDH40.25000001000.2500.500400000.25031
Seattle Mariners boxscore
PlayerPosabavgb2b3bbbfcsererahhbphriplobpopsoutspapitchesrrbisbsfslgsosvtotal baseswwhip
J.P. Crawford3B40.25010001000.2500.750410000.50002
Josh Naylor1B4000000000040000010
Randy ArozarenaLF20.50000101100.7501.250400000.50001
Cal RaleighC2000100000.3330.33330100020
Cole Young2B3000000000030000020
Colt EmersonSS3000000000030000010
Dominic CanzoneDH3000100000.2500.25040000000
Victor RoblesCF0000001011000000
Eduard BazardoP0300001031102000
Andres MunozP1500201031500103
Weston WilsonRF2000000000020000020
Luke RaleyCF3000000000030000020
Bryce MillerP024002070219008010.286
Julio RodriguezCF0001000011000000

Comparison

Side by side.

Final

Matchup

Before first pitch.

Probable pitchers and posted lineup context from the matchup card.

Lineups available2026-07-03T01:40:00Z · Final

Los Angeles Angels

Probable pitcher: Walbert Ureña (R)

Seattle Mariners

Probable pitcher: Bryce Miller (R)

Play-by-play

The game, at bat by at bat.

top 1st(3)
  • Zach Neto vs Bryce Miller0-0

    Zach Neto pops out to first baseman Josh Naylor in foul territory.

    0-0, 1 pitch · 0 outs before

  • Nolan Schanuel vs Bryce Miller0-0

    Nolan Schanuel grounds out, shortstop Colt Emerson to first baseman Josh Naylor.

    2-1, 4 pitches · 1 out before

  • Denzer Guzman vs Bryce Miller0-0

    Denzer Guzman strikes out swinging.

    2-3, 5 pitches · 2 outs before

bottom 1st(5)
  • J.P. Crawford vs Walbert Urena0-0

    J.P. Crawford grounds out, shortstop Zach Neto to first baseman Nolan Schanuel.

    1-1, 3 pitches · 0 outs before

  • Julio Rodriguez vs Walbert Urena0-0

    Julio Rodríguez walks.

    4-2, 6 pitches · 1 out before

  • Dominic Canzone vs Walbert Urena0-0

    Dominic Canzone reaches on a fielder's choice. Julio Rodríguez to 3rd. Julio Rodríguez advances to 3rd, on a throwing error by first baseman Nolan Schanuel.

    2-1, 4 pitches · 1 out before

  • Randy Arozarena vs Walbert Urena0-0

    Randy Arozarena hit by pitch. Dominic Canzone to 2nd.

    1-2, 3 pitches · 1 out before

  • Josh Naylor vs Walbert Urena0-0

    Josh Naylor grounds into a double play, shortstop Zach Neto to first baseman Nolan Schanuel. Randy Arozarena out at 2nd. Josh Naylor out at 1st.

    1-0, 2 pitches · 1 out before

top 2nd(3)
  • Jorge Soler vs Bryce Miller0-0

    Jorge Soler strikes out swinging.

    2-3, 5 pitches · 0 outs before

  • Wade Meckler vs Bryce Miller0-0

    Wade Meckler strikes out swinging.

    2-3, 5 pitches · 1 out before

  • Jo Adell vs Bryce Miller0-0

    Jo Adell strikes out swinging.

    1-3, 4 pitches · 2 outs before

bottom 2nd(3)
  • Cal Raleigh vs Walbert Urena0-0

    Cal Raleigh strikes out swinging.

    3-3, 6 pitches · 0 outs before

  • Luke Raley vs Walbert Urena0-0

    Luke Raley strikes out swinging.

    1-3, 4 pitches · 1 out before

  • Cole Young vs Walbert Urena0-0

    Cole Young strikes out swinging.

    1-3, 4 pitches · 2 outs before

top 3rd(3)
  • Oswald Peraza vs Bryce Miller0-0

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

    1-3, 4 pitches · 0 outs before

  • Josh Lowe vs Bryce Miller0-0

    Josh Lowe flies out to center fielder Victor Robles.

    0-2, 3 pitches · 1 out before

  • Logan O'Hoppe vs Bryce Miller0-0

    Logan O'Hoppe grounds out, pitcher Bryce Miller to first baseman Josh Naylor.

    1-2, 4 pitches · 2 outs before

bottom 3rd(4)
  • Colt Emerson vs Walbert Urena0-0

    Colt Emerson flies out to center fielder Josh Lowe.

    0-2, 4 pitches · 0 outs before

  • J.P. Crawford vs Walbert Urena0-0

    J.P. Crawford lines out to center fielder Josh Lowe.

    1-1, 3 pitches · 1 out before

  • Victor Robles vs Walbert Urena0-0

    Victor Robles hit by pitch.

    1-2, 3 pitches · 2 outs before

  • Dominic Canzone vs Walbert Urena0-0

    Dominic Canzone grounds out, third baseman Denzer Guzman to first baseman Nolan Schanuel.

    0-0, 1 pitch · 2 outs before

top 4th(4)
  • Zach Neto vs Bryce Miller0-0

    Zach Neto flies out to right fielder Luke Raley.

    0-1, 2 pitches · 0 outs before

  • Nolan Schanuel vs Bryce Miller0-0

    Nolan Schanuel grounds out, second baseman Cole Young to first baseman Josh Naylor.

    0-1, 2 pitches · 1 out before

  • Denzer Guzman vs Bryce Miller0-0

    Denzer Guzman reaches on a throwing error by third baseman J.P. Crawford. Denzer Guzman to 2nd.

    0-1, 2 pitches · 2 outs before

  • Jorge Soler vs Bryce Miller0-0

    Jorge Soler strikes out swinging.

    1-3, 5 pitches · 2 outs before

bottom 4th(3)
  • Randy Arozarena vs Walbert Urena0-0

    Randy Arozarena lines out to right fielder Jo Adell.

    3-2, 9 pitches · 0 outs before

  • Josh Naylor vs Walbert Urena0-0

    Josh Naylor grounds out, shortstop Zach Neto to first baseman Nolan Schanuel.

    0-1, 2 pitches · 1 out before

  • Cal Raleigh vs Walbert Urena0-0

    Cal Raleigh strikes out swinging.

    2-3, 6 pitches · 2 outs before

top 5th(3)
  • Wade Meckler vs Bryce Miller0-0

    Wade Meckler lines out to first baseman Josh Naylor.

    0-1, 2 pitches · 0 outs before

  • Jo Adell vs Bryce Miller0-0

    Jo Adell flies out to center fielder Luke Raley.

    2-2, 6 pitches · 1 out before

  • Oswald Peraza vs Bryce Miller0-0

    Oswald Peraza flies out to first baseman Josh Naylor.

    0-0, 1 pitch · 2 outs before

bottom 5th(3)
  • Luke Raley vs Walbert Urena0-0

    Luke Raley grounds out, shortstop Zach Neto to first baseman Nolan Schanuel.

    1-2, 4 pitches · 0 outs before

  • Cole Young vs Walbert Urena0-0

    Cole Young flies out to center fielder Josh Lowe.

    1-0, 2 pitches · 1 out before

  • Colt Emerson vs Walbert Urena0-0

    Colt Emerson grounds out, third baseman Denzer Guzman to first baseman Nolan Schanuel.

    2-2, 6 pitches · 2 outs before

top 6th(3)
  • Josh Lowe vs Bryce Miller0-0

    Josh Lowe flies out to right fielder Weston Wilson.

    2-0, 3 pitches · 0 outs before

  • Logan O'Hoppe vs Bryce Miller0-0

    Logan O'Hoppe challenged (pitch result), call on the field was confirmed: Logan O'Hoppe called out on strikes.

    1-3, 5 pitches · 1 out before

  • Zach Neto vs Bryce Miller0-0

    Zach Neto grounds out, shortstop Colt Emerson to first baseman Josh Naylor.

    2-2, 6 pitches · 2 outs before

bottom 6th(7)
  • J.P. Crawford vs Walbert Urena0-0

    J.P. Crawford doubles (6) on a line drive to right fielder Jo Adell.

    0-1, 2 pitches · 0 outs before

  • Weston Wilson vs Walbert Urena0-0

    Weston Wilson strikes out swinging.

    3-3, 7 pitches · 0 outs before

  • Dominic Canzone vs Walbert Urena0-0

    Dominic Canzone walks.

    4-2, 6 pitches · 1 out before

  • Randy Arozarena vs Walbert Urena0-0

    Randy Arozarena walks. J.P. Crawford to 3rd. Dominic Canzone to 2nd.

    4-2, 8 pitches · 1 out before

  • Josh Naylor vs Walbert Urena0-0

    Josh Naylor strikes out swinging.

    0-3, 3 pitches · 1 out before

  • Cal Raleigh vs Walbert Urena0-1

    Cal Raleigh walks. J.P. Crawford scores. Dominic Canzone to 3rd. Randy Arozarena to 2nd.

    4-2, 9 pitches · 2 outs before

  • Luke Raley vs Samy Natera Jr.0-1

    Luke Raley strikes out swinging.

    0-3, 4 pitches · 2 outs before

top 7th(5)
  • Nolan Schanuel vs Bryce Miller0-1

    Nolan Schanuel singles on a fly ball to center fielder Luke Raley.

    0-2, 4 pitches · 0 outs before

  • Denzer Guzman vs Bryce Miller0-1

    Denzer Guzman singles on a fly ball to right fielder Weston Wilson. Nolan Schanuel to 2nd.

    0-2, 3 pitches · 0 outs before

  • Jorge Soler vs Bryce Miller0-1

    Jorge Soler strikes out swinging.

    1-3, 4 pitches · 0 outs before

  • Wade Meckler vs Bryce Miller0-1

    Wade Meckler flies out to center fielder Luke Raley.

    1-2, 5 pitches · 1 out before

  • Jo Adell vs Bryce Miller0-1

    Jo Adell grounds into a force out, shortstop Colt Emerson to second baseman Cole Young. Denzer Guzman out at 2nd.

    3-1, 5 pitches · 2 outs before

bottom 7th(3)
  • Cole Young vs Samy Natera Jr.0-1

    Cole Young strikes out swinging.

    2-3, 5 pitches · 0 outs before

  • Colt Emerson vs Samy Natera Jr.0-1

    Colt Emerson strikes out swinging.

    3-3, 6 pitches · 1 out before

  • J.P. Crawford vs Samy Natera Jr.0-1

    J.P. Crawford grounds out, catcher Logan O'Hoppe to first baseman Nolan Schanuel.

    1-2, 4 pitches · 2 outs before

top 8th(3)
  • Oswald Peraza vs Eduard Bazardo0-1

    Oswald Peraza called out on strikes.

    1-3, 4 pitches · 0 outs before

  • Josh Lowe vs Eduard Bazardo0-1

    Josh Lowe strikes out swinging.

    1-3, 4 pitches · 1 out before

  • Logan O'Hoppe vs Eduard Bazardo0-1

    Logan O'Hoppe pops out to third baseman J.P. Crawford.

    1-1, 3 pitches · 2 outs before

bottom 8th(4)
  • Weston Wilson vs Sam Bachman0-1

    Weston Wilson strikes out swinging.

    3-3, 6 pitches · 0 outs before

  • Dominic Canzone vs Sam Bachman0-1

    Dominic Canzone grounds out, second baseman Oswald Peraza to first baseman Nolan Schanuel.

    0-1, 2 pitches · 1 out before

  • Randy Arozarena vs Sam Bachman0-1

    Randy Arozarena singles on a line drive to left fielder Wade Meckler.

    1-0, 2 pitches · 2 outs before

  • Josh Naylor vs Sam Bachman0-1

    Josh Naylor pops out to third baseman Denzer Guzman in foul territory.

    1-0, 2 pitches · 2 outs before

top 9th(5)
  • Zach Neto vs Andres Munoz0-1

    Zach Neto walks.

    4-0, 4 pitches · 0 outs before

  • Nolan Schanuel vs Andres Munoz0-1

    Nolan Schanuel singles on a line drive to center fielder Luke Raley.

    2-2, 5 pitches · 0 outs before

  • Denzer Guzman vs Andres Munoz0-1

    Denzer Guzman flies out to center fielder Luke Raley.

    0-2, 4 pitches · 1 out before

  • Jorge Soler vs Andres Munoz0-1

    Jorge Soler singles on a sharp line drive to left fielder Randy Arozarena. Jose Siri to 2nd.

    0-0, 1 pitch · 2 outs before

  • Wade Meckler vs Andres Munoz0-1

    Angels challenged (play at 1st), call on the field was upheld: Wade Meckler grounds out, shortstop Colt Emerson to first baseman Josh Naylor.

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