Philadelphia Union 3, 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.

Philadelphia Union boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Andrew Rick000000000000
Olivier Mbaizo000000000000
Olwethu Makhanya000000000000
Alejandro Bedoya0000000002000
Jeremy Rafanello000000000.3333100
Quinn Sullivan0210000011101
Jakob Glesnes0000000011100
Julián Carranza0320000012200
Kai Wagner110000000000
Mikkel Uhre160000000.4005201
Chris Donovan000000000000
Oliver Semmle0100.8335
Markus Anderson0400000001000
Matthew Real000000000000
Sanders Ngabo000000000000
Jack Elliott030000000001
Portland Timbers boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsave pctsavesshot accuracyshotssottacklesyellow
Antony0200000002000
Evander010000000.5004200
David Ayala0000000001000
James Pantemis0300.5714
Hunter Sulte000000000000
Eric Miller000000000000
Juan Mosquera0100000002000
Zac McGraw010000000000
Diego Chará030000000001
Felipe Mora000000000000
Santiago Moreno1200000001000
Eryk Williamson0000000001000
Cristhian Paredes000000000.5002100
Dario Zuparic000000000000
Jonathan Rodríguez001000000.4005200
Dairon Asprilla000000000000
Nathan Fogaça000000000000
Larrys Mabiala000000000000

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