111–125Final

Boston Celtics
10-2Chicago Bulls vs Boston Celtics Box Score
Score by quarter
Box score
Chicago Bulls
| Player | Min | Pts | Reb | Ast | Stl | Blk | TO | FG | 3PT | FT | +/- |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Caleb Wilson F | 31 | 23 | 5 | 4 | 1 | 2 | 1 | 7-16 | 6-11 | 3-6 | -3 |
| Norman Powell G | 31 | 16 | 2 | 3 | 0 | 0 | 0 | 4-11 | 1-5 | 7-8 | -4 |
| Jalen Smith F | 27 | 5 | 12 | 1 | 0 | 2 | 1 | 2-8 | 0-5 | 1-2 | +3 |
| Josh Giddey G | 25 | 13 | 4 | 5 | 0 | 0 | 4 | 4-8 | 2-5 | 3-4 | +2 |
| Matas Buzelis F | 20 | 14 | 5 | 1 | 0 | 0 | 2 | 5-11 | 2-5 | 2-2 | -14 |
| Tre Jones G | 20 | 12 | 4 | 4 | 4 | 1 | 1 | 4-10 | 0-1 | 4-6 | -22 |
| Isaac Okoro F | 18 | 6 | 3 | 2 | 0 | 1 | 1 | 2-5 | 1-4 | 1-1 | +4 |
| Buddy Hield G | 17 | 5 | 3 | 1 | 1 | 0 | 1 | 2-5 | 1-3 | 0-0 | -10 |
| Noa Essengue F | 16 | 10 | 4 | 0 | 0 | 0 | 2 | 3-7 | 1-3 | 3-5 | -9 |
| Tobe Awaka F | 12 | 2 | 7 | 1 | 1 | 0 | 2 | 0-0 | 0-0 | 2-6 | -2 |
| Leonard Miller F | 11 | 2 | 2 | 1 | 0 | 0 | 0 | 1-5 | 0-4 | 0-0 | -18 |
| Jordan Hawkins G | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0-2 | 0-1 | 0-0 | +1 |
| Jaylin Sellers G | 3 | 3 | 0 | 1 | 0 | 0 | 0 | 1-3 | 1-2 | 0-0 | +5 |
| Zach Collins F | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0-1 | 0-1 | 0-0 | -6 |
Did not play: Patrick Williams (Coach's decision)
Boston Celtics
| Player | Min | Pts | Reb | Ast | Stl | Blk | TO | FG | 3PT | FT | +/- |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Jayson Tatum F | 35 | 26 | 7 | 7 | 0 | 0 | 4 | 9-20 | 2-7 | 6-8 | +5 |
| Paul George F | 27 | 18 | 6 | 8 | 3 | 0 | 2 | 7-15 | 2-7 | 2-2 | +8 |
| Derrick White G | 26 | 9 | 2 | 4 | 2 | 0 | 1 | 4-6 | 1-2 | 0-0 | +16 |
| Mitchell Robinson C | 19 | 11 | 4 | 0 | 0 | 1 | 0 | 4-4 | 0-0 | 3-5 | -3 |
| Jordan Walsh G | 11 | 2 | 2 | 0 | 0 | 0 | 0 | 1-3 | 0-2 | 0-0 | +3 |
| Payton Pritchard G | 34 | 30 | 3 | 3 | 2 | 0 | 3 | 9-17 | 3-9 | 9-9 | +13 |
| Baylor Scheierman G | 23 | 2 | 3 | 3 | 1 | 0 | 0 | 1-3 | 0-1 | 0-0 | +3 |
| Neemias Queta C | 20 | 13 | 6 | 0 | 1 | 1 | 1 | 3-5 | 0-0 | 7-10 | +16 |
| Sam Hauser F | 18 | 6 | 3 | 2 | 0 | 0 | 0 | 2-4 | 2-4 | 0-0 | +12 |
| Hugo Gonzalez G | 15 | 0 | 2 | 0 | 1 | 0 | 0 | 0-1 | 0-0 | 0-0 | +5 |
| Luka Garza C | 7 | 5 | 1 | 1 | 0 | 0 | 0 | 1-3 | 0-0 | 3-4 | +5 |
| Ron Harper Jr. G | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0-0 | 0-0 | 0-0 | -6 |
| Chris Cenac Jr. NA | 2 | 3 | 2 | 0 | 0 | 0 | 2 | 1-1 | 0-0 | 1-2 | -4 |
Did not play: Mike Conley (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 1541. /api/basketball/games/1541/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/1541.
import requests
API_KEY = "YOUR_API_KEY"
answer = requests.get(
"https://sportapi.ai/api/basketball/games/1541/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.
