Portland Timbers 0, Real Salt Lake 2

soccer game fileFinal
America First Field · Sandy, Utah · USA
Boxscore

Key evidence.

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

Portland Timbers boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Antony000000000.5002100
Trey Muse000000000000
James Pantemis0200.86713
Ian Smith010000000001
Brandon Bye020000000000
Kamal Miller010000000000
Finn Surman010000000000
Alex Bonetig010000000000
Sawyer Jura000000000000
Diego Chará000000000000
José Caicedo000000000000
Cole Bassett0100000001000
Jimer Fory010000000001
David Da Costa0100000003000
Felipe Mora000000000000
Ariel Lassiter000000000000
Kristoffer Velde0000000003000
Alexander Aravena000000000000
Kevin Kelsy030000000.5002100
Gage Guerra000000000000
Real Salt Lake boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Morgan Guilavogui010000000.4005200
Rafael10012
DeAndre Yedlin030000000000
Justen Glad000000000000
Alexandros Katranis000000000000
Samuel Junqua030000000000
Philip Quinton010000000000
Diego Luna011000000.7504300
Stijn Spierings010000000.5002100
Pablo Ruiz000000000000
Juan Manuel Sanabria110000000.5002101
Griffin Dillon000000000000
Zach Booth000000000000
Noel Caliskan010000000.5002100
Victor Olatunji020000000000
Dominik Marczuk000000000000
Zavier Gozo001000000.7147500
Aiden Hezarkhani000000000000
Sergi Solans110000000.6673200
Mason Stajduhar000000000000

Comparison

Side by side.

Final

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