Portland Timbers 0, Toronto FC 3

soccer game fileFinal
BMO Field · Toronto · Canada
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
David Ayala030000000001
Trey Muse000000000000
James Pantemis0300.6255
Ian Smith010000000000
Eric Miller000000000000
Juan Mosquera000000000000
Finn Surman0100000001000
Diego Chará000000000000
Joao Ortiz000000000000
Jimer Fory030000000001
David Da Costa000000000000
Felipe Mora010000000000
Omir Fernández010000000000
Kevin Kelsy0100000001001
Gage Guerra0100000001000
Santiago Moreno0100000001000
Cristhian Paredes000000000000
Dario Zuparic0200000001001

Team line

Toronto FC
Toronto FC boxscore
PlayerPosassistsclean sheetfoulsgoalsgoals concededintcminutespassespasses cmpredsavesshot accuracyshotssottacklesyellow
Ola Brynhildsen010000000.5002100
Kosi Thompson0200000011101
Sean Johnson1000
Tyrese Spicer0010000012200
Matthew Longstaff020000000000
Lazar Stefanovic000000000000
Malik Henry000000000000
Alonso Coello021000000.5002100
Derrick Etienne Jr.0000000001000
Deandre Kerr000000000000
Adisa De Rosario000000000000
Reid Fisher000000000000
Theo Corbeanu010000000.5002100
Kevin Long0200000001000
Sigurd Rosted000000000000
Raoul Petretta0100000001000
Maxime Dominguez0500000011100
Charles Sharp000000000000
Michael Sullivan000000000000

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