SportAPINBAGet SportAPI Key
116–124Final

Cleveland Cavaliers vs Oklahoma City Thunder Box Score

Wednesday, November 4, 2026 · 8:00 PM ET · Paycom Center · Attendance 18,203

Score by quarter

Team1234T
CLE20243042116
OKC37232836124

Box score

Cleveland Cavaliers

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
James Harden G3519960235-163-86-6+2
Donovan Mitchell G33273610210-175-102-2+1
Evan Mobley C32161030327-151-51-2+1
Tyrese Proctor G2211101004-72-31-1-2
Jarrett Allen C70100000-10-00-0-8
Sam Merrill G2610711103-72-42-2-3
Mario Hezonja F2312810025-102-60-0-8
Meleek Thomas G189101023-93-70-0-9
Tristan Enaruna F164411002-70-30-0-1
Craig Porter Jr. G140111110-00-00-0-2
Thomas Bryant C138000001-41-35-6-5

Did not play: Riley Minix (Coach's decision)

Oklahoma City Thunder

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
Shai Gilgeous-Alexander G35425801411-265-1115-19+5
Ajay Mitchell G3223741019-171-34-60
Kenrich Williams G2913420015-93-50-0-4
Isaiah Hartenstein C2631242001-20-01-2+3
Aday Mara C259520304-60-01-2+6
Micah Peavy G262911011-60-20-0+5
Jared McCain G259101023-111-62-2+2
Bennett Stirtz G2216112006-94-70-0+5
Alex Caruso G207430011-31-24-4+14

Did not play: Josh Dix (DNP); Brooks Barnhizer (Coach's decision); Dalen Terry (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 1583. /api/basketball/games/1583/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/1583.

box_score.py
import requests

API_KEY = "YOUR_API_KEY"
answer = requests.get(
    "https://sportapi.ai/api/basketball/games/1583/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.