San Jose Earthquakes 1, Portland Timbers 1

soccer game fileFinal
Providence Park · Portland, Oregon · USA
Boxscore

Key evidence.

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

San Jose Earthquakes boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Daniel0100.8004
Cristian Espinoza0100000011101
Amahl Pellegrino0000000001000
Earl Edwards000000000000
Dave Romney0000000001000
Vítor Costa0100000001000
DeJuan Jones010000000001
Daniel Munie000000000000
Max Floriani000000000000
Reid Roberts000000000000
Ian Harkes0200000101000
Beau Leroux010000000.6673200
Nick Fernandez000000000000
Preston Judd0110000011100
Ousseni Bouda0000000011100
Benjamin Kikanovic000000000000
Rodrigues000000000000
Cristian Arango010000000.2005100
Mark-Anthony Kaye0000000001000
Nick Lima000000000000
Portland Timbers boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Antony000000000.6673200
David Ayala030000000000
Trey Muse000000000000
James Pantemis0100.8335
Ian Smith000000000000
Eric Miller000000000000
Juan Mosquera001000000.5002100
Finn Surman000000000000
Diego Chará020000000000
Joao Ortiz000000000000
Jimer Fory020000000000
David Da Costa000000000.3333100
Felipe Mora100000000.5002100
Omir Fernández000000000000
Kevin Kelsy0200000001000
Santiago Moreno0100000001000
Cristhian Paredes000000000000
Dario Zuparic0000000001000
Claudio Bravo000000000000

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