Portland Timbers 1, San Jose Earthquakes 4

soccer game fileFinal
PayPal Park · San Jose, California · 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
Antony010000000.5002100
David Ayala0200000002000
Maxime Crépeau0400.5004
Trey Muse000000000000
Ian Smith000000000000
Eric Miller000000000000
Kamal Miller020000000001
Juan Mosquera000000000000
Zac McGraw000000000000
Finn Surman0000000001000
Joao Ortiz000000000000
David Da Costa110000000.3333100
Felipe Mora001000000.4005200
Ariel Lassiter000000000000
Omir Fernández000000000000
Kevin Kelsy0100000001000
Santiago Moreno0000000001000
Cristhian Paredes0000000001000
Dario Zuparic000000000000
Claudio Bravo0200000011100
San Jose Earthquakes boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Daniel0100.8004
Cristian Espinoza022000000.5004200
Amahl Pellegrino000000000000
Earl Edwards000000000000
Dave Romney020000000001
Vítor Costa0200000001001
DeJuan Jones210000000000
Daniel Munie0200000001001
Max Floriani000000000000
Jamar Ricketts000000000000
Ian Harkes010000000.5002101
Noel Buck000000000000
Niko Tsakiris000000000000
Beau Leroux010000000000
Preston Judd000000000000
Ousseni Bouda111000000.5002100
Rodrigues020000000000
Cristian Arango101000000.8005400
Mark-Anthony Kaye000000000000
Nick Lima000000000000

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