SportAPINBAGet SportAPI Key
111–121Final

Minnesota Timberwolves vs San Antonio Spurs Box Score

Saturday, October 31, 2026 · 8:00 PM ET · Frost Bank Center · Attendance 18,354

Score by quarter

Team1234T
MIN28332723111
SA34263328121

Box score

Minnesota Timberwolves

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
Jonathan Kuminga F4019630108-192-61-10
Jaden McDaniels F3919332027-172-53-4-1
Ayo Dosunmu G38279330311-172-53-3+1
Joan Beringer F3412621004-80-04-5-7
LaMelo Ball G2010843052-100-46-6-9
Jaylen Clark G2010210103-62-42-2-2
Terrence Shannon Jr. G182340001-80-40-1-13
Trey Lyles F176000031-31-33-4-9
Bones Hyland G146132013-50-20-0-10

Did not play: Isaiah Evans (Coach's decision); Zyon Pullin (Coach's decision); Cody Williams (Coach's decision)

San Antonio Spurs

PlayerMinPtsRebAstStlBlkTOFG3PTFT+/-
Dylan Harper G3925761029-172-55-6+10
De'Aaron Fox G3522870148-100-16-7+23
Victor Wembanyama F34437416317-343-86-9+11
Devin Vassell G349522122-60-15-6+1
Stephon Castle G220641030-40-20-0-2
Julian Champagnie F2712311003-73-73-3+3
Keldon Johnson F242600001-30-00-0+9
Luke Kornet C142700101-20-00-0-1
Carter Bryant F116000012-42-30-0-4

Did not play: Jordan McLaughlin (Coach's decision); Tarris Reed Jr. (Coach's decision); David Jones Garcia (Coach's decision); Harrison Barnes (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 1555. /api/basketball/games/1555/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/1555.

box_score.py
import requests

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