Box score

GET https://nba.highlightly.net/box-score/{matchId} NBA & NCAAB API
GET https://sports.highlightly.net/nba/box-score/{matchId} All Sports API

Retrieve per player statistics for one game.

Refresh interval
Every minute

The matchId comes from matches.

Shape of the response

The response is an array of exactly two elements, home team first, then away team.

Each element holds a team object with id, name, logo if available, and a boxScores list holding one record per player. Each record has a player object with id, name and, if available, jersey, plus a statistics list.

Statistics

These are examples of the statistics you may encounter.

Statistic Measures
Total Minutes Played Time on the court, in minutes.
Total Points Scored All points scored, including field goals and free throws.
Successful Field Goals Shots made from the field, two and three point combined.
Total Field Goals Shots attempted from the field, made or missed.
Successful 3PT Field Goals Three point shots made.
Total 3PT Field Goals Three point shots attempted.
Successful Free Throws Free throws made.
Total Free Throws Free throws attempted.
Total Rebounds Offensive and defensive rebounds combined.
Total Offensive Rebounds Rebounds collected at the offensive end after a missed shot.
Total Defensive Rebounds Rebounds collected at the defensive end after an opponent's miss.
Total Assists Passes that directly led to a teammate scoring.
Total Turnovers Times possession was lost to the opposing team.
Total Steals Times the ball was legally taken from an opponent.
Total Blocks Opponent shot attempts blocked.
Total Fouls Personal fouls committed.
Plus Minus Team point differential while the player was on the court.

Parameters

Parameter Type Description
matchIdrequired numberpath Requested match id

Request

curl --request GET \
  --url 'https://nba.highlightly.net/box-score/{matchId}' \
  --header 'x-rapidapi-key: YOUR_API_KEY'
const response = await fetch('https://nba.highlightly.net/box-score/{matchId}', {
  headers: {
    'x-rapidapi-key': process.env.HIGHLIGHTLY_API_KEY
  }
})

if (!response.ok) {
  throw new Error(`Highlightly responded ${response.status}`)
}

const data = await response.json()
import os
import requests

response = requests.get(
    'https://nba.highlightly.net/box-score/{matchId}',
    headers={
        'x-rapidapi-key': os.environ['HIGHLIGHTLY_API_KEY'],
    },
    timeout=10,
)

response.raise_for_status()
data = response.json()

Response

teamNbaTeamPlayerBoxScoreResponserequired11 fields
idnumberrequired
namestringrequired
logostring
boxScoresNbaBoxScoreItemResponse[]required7 fields
playerNbaBoxScorePlayerResponserequired3 fields
idnumberrequired
namestringrequired
jerseynumber
statisticsNbaBoxScoreStatItemResponse[]required2 fields
namestringrequired
valuenumberrequired

Example response

200 application/json
[
  {
    "team": {
      "id": 32,
      "name": "Sacramento Kings",
      "logo": "https://highlightly.net/nba/images/teams/32.png",
      "boxScores": [
        {
          "player": {
            "id": 99737,
            "name": "Harrison Barnes",
            "jersey": 0
          },
          "statistics": [
            {
              "name": "Total Minutes Played",
              "value": 29
            }
          ]
        }
      ]
    }
  }
]

Values are the examples declared in the OpenAPI spec, not a captured live response.

Errors

Status Description
400 Bad request descriptive error.
500 Internal server error.