SportAPINBAGet SportAPI Key
116–104Final

Oklahoma City Thunder vs San Antonio Spurs Box Score

Tuesday, October 20, 2026 · 9:50 PM ET · Frost Bank Center · Attendance 19,160

Score by quarter

Team1234T
OKC34312823116
SA28163624104

Box score

Oklahoma City Thunder

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
Shai Gilgeous-Alexander G36326433213-273-73-4+6
Chet Holmgren C3114720413-80-18-8-1
Jalen Williams G3012721105-161-21-2-5
Cason Wallace G196321013-80-40-0-5
Isaiah Hartenstein C174331122-40-00-0+6
Alex Caruso G259611003-42-21-2+16
Ajay Mitchell G234560012-80-10-0+12
Jared McCain G2220221027-96-80-0+20
Jaylin Williams F175410011-61-52-2-4
Aday Mara C127210113-40-01-2+9
Kenrich Williams G73200001-11-10-0+6
Bennett Stirtz G10000000-00-00-00
Brooks Barnhizer F10000000-00-00-00

San Antonio Spurs

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
Victor Wembanyama F34121331641-130-410-12-2
Dylan Harper G3218750027-170-24-4-6
De'Aaron Fox G3214771026-90-22-3+1
Devin Vassell G317310002-81-42-2+8
Stephon Castle G2824710039-215-121-1-2
Julian Champagnie F308312303-82-60-0-24
Keldon Johnson F2010412024-81-21-1-12
Luke Kornet C134100102-20-00-0-10
Harrison Barnes F93000101-11-10-0-7
Carter Bryant F60010000-30-30-0-6
Ja'Kobi Gillespie G12000001-20-10-00
David Jones Garcia F12000000-10-02-20
Tarris Reed Jr. C10000000-00-00-00
Maliq Brown F10010000-00-00-00

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.

box_score.py
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.