Washington Commanders 17, San Francisco 49ers 23

football game fileFinal
Levi's Stadium · Santa Clara · USA
Boxscore

Key evidence.

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

Washington Commanders boxscore
PlayerPosattcatch pctcmpcmp pctfg longfg pctfgafgmfumblesintckicking pointspunt avgpunt inside 20punt longpunt touchbackspunt yardspuntsratingrecsackedtargetstdxpaxpmyardsyards per attyards per carryyards per rec
John Bates––1––––––––––––––––1–10––4––4
Treylon Burks––0.667––––––––––––––––2–30––29––14.500
Jayden Daniels–3–130.765––––00–––––––103.799–3–0––69.1182–
Luke McCaffrey–––––––––––––––––––––––––––––
Terry McLaurin––1––––––––––––––––1–10––27––27
Jeremy McNichols–2–––––––0––––––––––––0––6–3–
Chig Okonkwo––1––––––––––––––––4–40––58––14.500
Rachaad White–50.500––––––0–––––––––1–20––5–3.8005
Colson Yankoff–––––––––––––––––––––––––––––
Trey Amos–––––––––––––––––––––––––––––
Dorance Armstrong–––––––––––––––––––––––––––––
K'Lavon Chaisson–––––––––––––––––––––––––––––
Nick Cross–––––––––––––––––––––––––––––
Javon Kinlaw–––––––––––––––––––––––––––––
Frankie Luvu–––––––––––––––––––––––––––––
Quan Martin–––––––––––––––––––––––––––––
Kain Medrano–––––––––––––––––––––––––––––
Odafe Oweh–––––––––––––––––––––––––––––
Tyler Owens–––––––––––––––––––––––––––––
Daron Payne–––––––––––––––––––––––––––––
Jeremy Reaves–––––––––––––––––––––––––––––
Amik Robertson–––––––––––––––––––––––––––––
Mike Sainristil–––––––––––––––––––––––––––––
Sonny Styles–––––––––––––––––––––––––––––
Shy Tuttle–––––––––––––––––––––––––––––
Deatrich Wise Jr.–––––––––––––––––––––––––––––
Drew Stevens–––––51111––3–––––––––––00––––
Tress Way––––––––––––5226001563–––––––––––
Rasul Douglas–––––––––––––––––––––––––––––
Stefon Diggs––0.750––––––––––––––––3–40––30––10
Austin Ekeler–11––––––0–––––––––1–10––2–32
San Francisco 49ers boxscore
PlayerPosattcatch pctcmpcmp pctfg longfg pctfgafgmfumblesintckicking pointspunt avgpunt inside 20punt longpunt touchbackspunt yardspuntsratingrecsackedtargetstdxp pctxpaxpmyardsyards per attyards per carryyards per rec
Khalid Kareem––––––––––––––––––––––––––––––
Kaelon Black–81––––––0–––––––––1–10–––3–4.2503
Jacob Cowing––––––––––––––––––––––––––––––
Mike Evans––0.600––––––––––––––––3–50–––94––31.333
Kyle Juszczyk––0.500––––––––––––––––1–20–––10––10
George Kittle––0.714––––––––––––––––5–71–––69––13.800
Christian McCaffrey–141––––––0–––––––––7–70–––42–4.2146
Brock Purdy–4–190.760––––00–––––––120.917–0–0–––2210.1205.500–
Ji'Ayir Brown––––––––––––––––––––––––––––––
Ashtyn Davis––––––––––––––––––––––––––––––
Jaden Dugger––––––––––––––––––––––––––––––
Luke Gifford––––––––––––––––––––––––––––––
Jalen Graham––––––––––––––––––––––––––––––
Gracen Halton––––––––––––––––––––––––––––––
Romello Height––––––––––––––––––––––––––––––
Deommodore Lenoir––––––––––––––––––––––––––––––
Malik Mustapha––––––––––––––––––––––––––––––
Siran Neal––––––––––––––––––––––––––––––
Osa Odighizuwa––––––––––––––––––––––––––––––
Upton Stout––––––––––––––––––––––––––––––
Sebastian Valdez––––––––––––––––––––––––––––––
Fred Warner––––––––––––––––––––––––––––––
Keion White––––––––––––––––––––––––––––––
Mykel Williams––––––––––––––––––––––––––––––
Eddy Pineiro–––––33111––5–––––––––––0.66732––––
Corliss Waitman––––––––––––480480481––––––––––––
Brandin Cooks––0.500––––––––––––––––1–20–––13––13
Jordan James––––––––––––––––––––––––––––––
Jordan Watkins––1––––––––––––––––1–10–––22––22

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