116–104Final
Oklahoma City Thunder vs San Antonio Spurs Box Score
Score by quarter
Box score
Oklahoma City Thunder
| Player | Min | Pts | Reb | Ast | Stl | Blk | TO | FG | 3PT | FT | +/- |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Shai Gilgeous-Alexander G | 36 | 32 | 6 | 4 | 3 | 3 | 2 | 13-27 | 3-7 | 3-4 | +6 |
| Chet Holmgren C | 31 | 14 | 7 | 2 | 0 | 4 | 1 | 3-8 | 0-1 | 8-8 | -1 |
| Jalen Williams G | 30 | 12 | 7 | 2 | 1 | 1 | 0 | 5-16 | 1-2 | 1-2 | -5 |
| Cason Wallace G | 19 | 6 | 3 | 2 | 1 | 0 | 1 | 3-8 | 0-4 | 0-0 | -5 |
| Isaiah Hartenstein C | 17 | 4 | 3 | 3 | 1 | 1 | 2 | 2-4 | 0-0 | 0-0 | +6 |
| Alex Caruso G | 25 | 9 | 6 | 1 | 1 | 0 | 0 | 3-4 | 2-2 | 1-2 | +16 |
| Ajay Mitchell G | 23 | 4 | 5 | 6 | 0 | 0 | 1 | 2-8 | 0-1 | 0-0 | +12 |
| Jared McCain G | 22 | 20 | 2 | 2 | 1 | 0 | 2 | 7-9 | 6-8 | 0-0 | +20 |
| Jaylin Williams F | 17 | 5 | 4 | 1 | 0 | 0 | 1 | 1-6 | 1-5 | 2-2 | -4 |
| Aday Mara C | 12 | 7 | 2 | 1 | 0 | 1 | 1 | 3-4 | 0-0 | 1-2 | +9 |
| Kenrich Williams G | 7 | 3 | 2 | 0 | 0 | 0 | 0 | 1-1 | 1-1 | 0-0 | +6 |
| Bennett Stirtz G | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0-0 | 0-0 | 0-0 | 0 |
| Brooks Barnhizer F | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0-0 | 0-0 | 0-0 | 0 |
San Antonio Spurs
| Player | Min | Pts | Reb | Ast | Stl | Blk | TO | FG | 3PT | FT | +/- |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Victor Wembanyama F | 34 | 12 | 13 | 3 | 1 | 6 | 4 | 1-13 | 0-4 | 10-12 | -2 |
| Dylan Harper G | 32 | 18 | 7 | 5 | 0 | 0 | 2 | 7-17 | 0-2 | 4-4 | -6 |
| De'Aaron Fox G | 32 | 14 | 7 | 7 | 1 | 0 | 2 | 6-9 | 0-2 | 2-3 | +1 |
| Devin Vassell G | 31 | 7 | 3 | 1 | 0 | 0 | 0 | 2-8 | 1-4 | 2-2 | +8 |
| Stephon Castle G | 28 | 24 | 7 | 1 | 0 | 0 | 3 | 9-21 | 5-12 | 1-1 | -2 |
| Julian Champagnie F | 30 | 8 | 3 | 1 | 2 | 3 | 0 | 3-8 | 2-6 | 0-0 | -24 |
| Keldon Johnson F | 20 | 10 | 4 | 1 | 2 | 0 | 2 | 4-8 | 1-2 | 1-1 | -12 |
| Luke Kornet C | 13 | 4 | 1 | 0 | 0 | 1 | 0 | 2-2 | 0-0 | 0-0 | -10 |
| Harrison Barnes F | 9 | 3 | 0 | 0 | 0 | 1 | 0 | 1-1 | 1-1 | 0-0 | -7 |
| Carter Bryant F | 6 | 0 | 0 | 1 | 0 | 0 | 0 | 0-3 | 0-3 | 0-0 | -6 |
| Ja'Kobi Gillespie G | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 1-2 | 0-1 | 0-0 | 0 |
| David Jones Garcia F | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0-1 | 0-0 | 2-2 | 0 |
| Tarris Reed Jr. C | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0-0 | 0-0 | 0-0 | 0 |
| Maliq Brown F | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0-0 | 0-0 | 0-0 | 0 |
Did not play: Jordan McLaughlin (Coach's decision)
Starters are marked with a bar. Min: minutes, TO: turnovers, FG, 3PT and FT: made-attempted.
Get this box score from the API
Every game has an id, and this one is 1471. /api/basketball/games/1471/players returns one line per player: minutes, points, shooting, rebounds, assists, steals, blocks, turnovers, fouls and plus-minus. Players who didn't play have the reason in dnp. The team totals are at /api/basketball/games/1471.
import requests
API_KEY = "YOUR_API_KEY"
answer = requests.get(
"https://sportapi.ai/api/basketball/games/1471/players",
headers={"X-API-Key": API_KEY},
timeout=20,
).json()
game = answer["game"]
print(game["away"]["name"], game["away"]["score"], "@", game["home"]["name"], game["home"]["score"])
for side in ("away", "home"):
print(game[side]["name"])
for row in answer["data"][side]:
if row["dnp"]:
continue
print(f' {row["player"]["name"]:<24} {row["minutes"]:>2} min {row["pts"]:>3} pts {row["reb"]:>2} reb {row["ast"]:>2} ast')The API documentation lists every basketball endpoint. The same key works for the NBA, WNBA, EuroLeague, NCAA and the other leagues, and for football too.

