SportAPINBAGet SportAPI Key
136–111Final

Cleveland Cavaliers vs Milwaukee Bucks Box Score

Saturday, October 31, 2026 · 8:00 PM ET · Fiserv Forum · Attendance 12,572

Score by quarter

Team1234T
CLE24483727136
MIL25213035111

Box score

Cleveland Cavaliers

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
James Harden G2613671024-83-42-2+17
Evan Mobley C25275310011-163-52-3+6
Jarrett Allen C242511410212-160-11-4+24
Donovan Mitchell G2415430025-72-43-3+31
Peyton Watson G225261212-61-30-0+11
Meleek Thomas G2313121115-123-60-0+11
Mario Hezonja F2081140023-61-31-2+15
Sam Merrill G196431002-41-31-2+24
Tyrese Proctor G189451003-93-50-0+3
Craig Porter Jr. G162240011-30-20-00
Thomas Bryant C1111200103-73-62-2-9
Tristan Enaruna F62101001-30-20-0-4
Riley Minix F60300000-30-20-0-4

Milwaukee Bucks

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
Tyler Herro G2715321025-184-111-1-19
Ryan Rollins G269370004-111-50-0+4
Myles Turner C2410721204-101-41-2-11
Kyle Kuzma F2314331016-122-70-2-16
Jaime Jaquez Jr. F238750023-81-21-2-15
Kel'el Ware C24191031246-163-84-5-14
Brayden Burries G2114311004-71-45-6-19
Kasparas Jakucionis G215330022-71-40-0-18
AJ Green G200320010-10-10-0-14
Nate Ament F1914120016-82-30-0-11
Gary Trent Jr. G63110001-21-20-0+4
Ousmane Dieng F60120000-00-00-0+4

Did not play: Jericho Sims (Coach's decision); Bogoljub Markovic (Coach's decision); Caris LeVert (Coach's decision); Kevin Porter Jr. (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 1554. /api/basketball/games/1554/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/1554.

box_score.py
import requests

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