Introduction

This API is designed to be used by external parties (as well as internal) to get information about one or many games. It is designed to return information relevant to the games at a specific time, it is not designed to be used to gather historical information about past games.

The API will be hosted in two separate locations:

  1. Arena. The in arena endpoint will only support making calls about the game that is currently in progress at that specific arena.

  2. Centrally The central endpoint will support making calls about any game.

The streaming API is provided over a WebSocket connection. The client establishes a websocket connection to the endpoint and is sent a series of messages. Each connection returns information about only one game.

Parameters

When initiating the websocket connection the following query string parameters are available.
gameId string(10)

Unique identifier for the game (Only required in single game mode)

format enum

The format to return the data in.

json
JSON (Default)
xml
XML
fromMessageId integer

This parameter is used to reconnect to the API from where you left off, so that you don't have to re-handle messages you have previously received. By specifying a messageId with this parameter, messages with a messageId greater than (or equal to) the number specified here will be resent. 0 is valid and will resend all messages on connection. We strongly advise that you use this field to ensure reconnecting to the feed is quick and efficient, if for whatever reason your connection terminates during live games.

Please note this only applies to messages that contain the messageId field, therefore only event and teams messages. Aggregated messages do not contain a messageId field so this will not apply to them. Only valid if allgames is NOT set

types string(100)

A comma separated value of the message types to be sent through the feed. If not set, then the following value is assumed. sc,ev,gi,te

sc
cl
ev
gi
te
of
box
bxa
pbp
language enum

If any of the content is available in multiple languages (eg. the person's names) then this is the language is will be returned in. The language codes are IETF BCP 47 defined tags.

en-US
(Default)
zh-CN

Authentication

For each connection made you must send an authentication message to authorize your connection. This message must be sent within 5 seconds of connection.

 {
      "type": "authentication",
      "apikey": "HDFJJ3839JL823J9238",
 }
type enum

authentication
apikey string;(50)

The API key provided to you

Character Set

All data provided to these API functions is required to be in UTF-8 format.

All responses will be provided as UTF-8 strings.

Message Format

Messages are sent in either JSON or XML depending on the format parameter used in starting the call.

Each message content differs depending on the type and category of the message, but will contain at least the following keys.

  • type This field indicates the type of message. The valid types are each explained in more detail in this documentation.
  • category The messages can be broken down into a number of categories
    • raw-sport Generated courtside these statistics are actions/events that have happened in the game.
    • raw-admin Generated courtside these are administrative actions that do not directly aggregate to the end state of the game. Examples include clock alterations.
    • aggregated This category of messsages contain information that has been aggregated from a number of raw events. Types such as box scores or play by play are examples of this type.
    • state This category of messsages contains information related to the current state of the system and its connections and timing.
  • distributionHost This key contains debugging information indicating from which distributionHost the message is coming from. Clients should ignore this field when processing the data as the field value may change per message.

    {
        "type": "action",
        "category": "raw",
        "distributionHost": "A389E9823",
        ...
        ...
    }

From time to time new key values/structures will be added to this protocol. Any client consuming this data should ignore anything they do not understand. New fields/values/structures should not cause a failure or crash in the client system.

Not all keys will exist in all messages for all events. No value present for a key can be sent either as a value of null or the key not being present in the data.

Message Types

event

This message type contains an individidual game event
type enum

The type of the message

event
category enum

The category of the message

raw-sport
raw-admin
gameId string(10)

Unique identifier for the game

messageId integer

Unique identifier of the message being sent

actionNumber integer

Unique number for this event. Only present when category = raw-sport

orderNumber integer

Unique number identifiying the order of the action in the game. This number may not be sequential but will be unique. Sorting by this number will give the order of actions (and will account for edits and insertions).

clock string

The current time on the clock. The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.

Format is: PTmmMss.ccS
shotClock string

The current time on the shot clock. The format is ISO-8601, where ss represents the number of seconds and cc the number of tenths of a second. If the time left on the shot clock is more than the game clock, then this field will be set to null.

Format is: PTss.ccS
timeActual string

The date/time when this event occurred in UTC

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

periodType enum

The type of period

PREGAME
REGULAR
(Default)
OVERTIME
eventType enum

A code representating the event taken. See Action Types for the list of options.

subType enum

The subType of event occurring. See Action Types for the list of options.

descriptor enum

A descriptor for the subType of the event occurring. See Action Types for the list of options.

qualifiers array

An array of qualifiers to the event. See Action Types for the list of options.

string(50)

success enum

This event was completed successfully. Generally all events except shots are successful.

0
No (Default)
1
Yes
flagged enum

This event is flagged for review by the statistician

0
No (Default)
1
Yes
system enum

This event was automatically generated by the system and not explicitly performed by the user.

0
No (Default)
1
Yes
value string(250)

A text field. Some event types require a value. This is where that value will be placed.

previousAction integer

The number of the previous action if it relates to this action

teamId integer

Unique identifier for the team

personId integer

The unique identifier for the person performing the event

x float

X coordinate on the court as to where the action occurred. Defined in Court Definitions.

y float

Y coordinate on the court as to where the action occurred. Defined in Court Definitions.

possession integer

The teamId of the team that has offensive possession. If no team has possession then this field should be 0.

eg. Shot made / missed => team taking the shot, Rebound => team getting rebound, Steal => team making steal, Turnover => team making turnover, Jumpball => 0, Start Period => 0
area string

The area of the court where the action occurred. Defined in Court Definitions.

areaDetail string

The area of the court where the action occurred. Defined in Court Definitions.

side enum

Indicates which side of the court the player is shooting for.

(blank)
left
right
shotDistance float

If a shot has been taken, this is the distance (in feet) of the shot. If not valid (eg. non shot event) then this key may not be present.

scoreHome string

The current score of the home team. This field will always have the current score even if the action is an insert from earlier in the game.

scoreAway string

The current score of the away team. This field will always have the current score even if the action is an insert from earlier in the game.

edited string

If the action has been edited (after being initially sent) this field should contain the last time it was edited (in UTC).

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
inserted string

If the action has been inserted (added out of sequence) this field should contain the time it was inserted (in UTC).

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
deleted string

If the action has been deleted (after being initially sent) this field should contain the time it was deleted (in UTC).

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
source enum

The source location of where this event was captured.

arena
Event captured in arena (Default)
central
Event captured centrally
device enum

The type of device that generated this event. Only visible if level=3 or above.

primary
Primary capture device (Default)
secondary
Secondary capture device
tertiary
Tertiary capture device
backup
Backup device
clock
Game clock
officialId integer

The unique identifier for the official who called the event. Only visible if level=2 or above.

statisticianId integer

The unique identifier for the statistician who entered the event. Only visible if level=3 or above.

instance string(50)

Unique identifier for the device which generated this event. Only visible if level=2 or above.

Event Types

raw-sport event types

For a particular action an event can have 1 type, 1 subtype, 1 descriptor and any number of qualifiers

If qualifiers are able to be used for a particular action/subType, then any number of qualifiers may be applied to the action.

If the subType indicates (blank) this means that the action can be used without a subType.

Type SubType Descriptor Qualifiers
game      
  start    
  end    
period      
  start    
  end    
2pt     Applies to all 2pt subTypes:
  • 2ndchance
  • fastbreak
  • fromturnover
  • defensivegoaltending
  • pointsinthepaint
  • heave
  (blank)    
  dunk
  • (blank)
  • reverse
  • alleyoop
  • putback
  • tip
  • driving
  • drivingreverse
  • running
  • runningreverse
  • runningalleyoop
  • cutting
 
  layup
  • (blank)
  • reverse
  • alleyoop
  • fingerroll
  • putback
  • tip
  • driving
  • drivingreverse
  • drivingfingerroll
  • running
  • runningreverse
  • runningfingerroll
  • runningalleyoop
  • cutting
  • cuttingfingerroll
 
  hook
  • (blank)
  • bank
  • driving
  • drivingbank
  • turnaround
  • turnaroundbank
 
  jumpshot
  • (blank)
  • bank
  • floating
  • drivingbank
  • drivingfloating
  • drivingfloatingbank
  • turnaround
  • turnaroundbank
  • turnaroundfadeaway
  • turnaroundfadeawaybank
  • fadeaway
  • fadeawaybank
  • stepback
  • stepbackbank
  • pullup
  • pullupbank
  • running
  • runningpullup
 
3pt     Applies to all 3pt subTypes:
  • 2ndchance
  • fastbreak
  • defensivegoaltending
  • fromturnover
  • heave
  (blank)    
  jumpshot
  • (blank)
  • bank
  • floating
  • drivingbank
  • drivingfloating
  • drivingfloatingbank
  • turnaround
  • turnaroundbank
  • turnaroundfadeaway
  • turnaroundfadeawaybank
  • fadeaway
  • fadeawaybank
  • stepback
  • stepbackbank
  • pullup
  • pullupbank
  • running
  • runningpullup
 
freethrow   Applies to all freethrow subTypes:
  • (blank)
  • flagrant
Applies to all freethrow subTypes:
  • fastbreak
  • fromturnover
  1of1
  • technical
 
  1of2
  • clearpath
 
  1of3    
  2of2
  • clearpath
 
  2of3    
  3of3    
  1for1    
  1for2    
  1for3    
jumpball      
    (blank)  
    startperiod  
    lodgedball  
    heldball  
    doubleviolation  
    outofbounds  
    challenge  
  tap    
    unclearpass  
    doublefoul  
  won    
  lost    
  recovered team  
assist      
block      
  received    
rebound     Applies to all subTypes:
  • team
  • deadball
  defensive    
  offensive    
foul     Applies to all foul subTypes:
  • 1freethrow
  • 2freethrow
  • 3freethrow
  • inpenalty
  offensive Applies to offensive subType:
  • charge
  • offtheball
 
  personal Applies to all personal foul subType:
  • take
  • double
  • shooting
  • clearpath
  • looseball
  • blocking
  • playercontrol
  • shootingblock
  • elbow
  • punching
  • flagranttype1
  • flagranttype2
  • awayfromplay
  • inbound
 
  technical Applies to technical subType:
  • (blank)
  • non-unsportsmanlike
  • rimhanging
  • double
  • delay
  • taunting
  • indirect
  • excesstimeout
  • toomanyplayers
  • defensive3second
  • flopping
  • bench
team
  drawn    
timeout     mandatory
  full Mandatory qualifier only applies for full timeout  
  short    
  officials    
  challenge    
  reset    
steal      
turnover      
  (blank)   team
  toomanyplayers   team
  excesstimeout   team
  offensivefoul    
  basketfrombelow    
  swingingelbows    
  punchedball    
  oppositebasket    
  palming    
  jumpballviolation    
  laneviolation    
  inbound    
  discontinuedribble    
  lostball    
  offensivegoaltending    
  badpass    
  backcourt    
  doubledribble    
  outofbounds
  • lostball
  • badpass
  • step
 
  traveling    
  shotclock   team
  3secviolation    
  5secviolation    
  8secviolation    
  5secinboundviolation   team
  offensivekickedball    
  illegalassist    
  illegaloutofboundscreen    
  5secondbacktothebasket    
  10secondfreethrowshooter    
substitution     startperiod
  in    
  out    
violation      
  (blank)    
  delayofgame    
  defensivegoaltending    
  defensive3second    
  lane    
  jumpball    
  kickedball    
  doublelane    
ejection      
  (blank)    
  technical    
  secondtechnical    
  secondflagranttype1    
  flagranttype2    
  other    
stoppage      
  (blank)    
  outofbounds    
  equipmentmalfunction    
  bloodrule    
  courtcleanup    
  injury    
  other    
instantreplay    
 
  • challenge
  • request
  • replaycenter
  • support
  • overturned
  • stands
applies only for request and challenge. Not for altercationrequest.
 
   
  altercationrequest    
memo     The memo text should be in the value field

raw-admin event types

For a particular action an event can have 1 type, 1 subtype and 1 descriptor

If the subType indicates (blank) this means that the action can be used without a subType.

Type SubType Descriptor  
status      
  ready    
  warmup    
  pregame    
  anthem    
  oncourt    
  countdown    
  inprogress    
  periodbreak    
  interrupted    
  cancelled    
  finished    
  finalbox    
  protested    
  complete    
  rescheduled    
  delayed    
  suspended    
periodstatus      
  pending    
  started    
  ended    
  confirmed    
clock      
  start    
  stop    
  adjustment   The number of seconds (use decimal places for fractions of a second) adjustment should be passed in the value field. Negative values are allowed
shotclock      
  reset    
  adjustment   The number of seconds (use decimal places for fractions of a second) adjustment should be passed in the value field. Negative values are allowed
possessionchange    
milestone      
attendance     The number of the attendees should be in the value field
  sellout    
injury      
  available    
  notavailable    
  notreturning    

Court Definitions

Coordinates

Court coordinates are dimensionless and are defined as percentage measurments of the total width and height of the basketball court. The origin (0,0) is the top left corner of the court meaning the bottom right point is (100,100).

Actual physical dimensions can be obtained by multiplying the x and y values by the width and height of the court respectively.

For example: x = 20,45 relates to (20*94/100), (45*50/100) = 18.8ft, 22.5 ft

The bottom of the court (x=0) is defined as the side where the score bench is located.

Court area

Each action comes through with two shot areas, area and areaDetail. These are defined by ruleset, but they break the court up into a number of different zones. Each shot taken is assigned to one simple zone and one detail zone depending on where the person was when the action was taken.

Each one of these zones is given a name which is returned in the data.

As the zones and their names change depending on configuration, they are not defined here, but can be obtained by contacting the NBA.

Example:

An example zone layout is shown, which each colour representing a different zone, which would return a different name.

teams

This message type contains information about the teams and players involved in this game
type enum

The type of the message

teams
category enum

The category of the message

raw-sport
messageId integer

Unique identifier of the message being sent

gameId string(10)

Unique identifier for the game

home object

starters array

An array of periods and players starting those periods

periodNumber integer

What period of the match is this statistic related to. 0 is valid and represents the value for the total match. Overtime periods start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

players array

An array of players who started this period

personId integer

Unique identifier for the person

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
  teamId integer

Unique identifier for the team

  teamName string(100)

The name of the team. eg. Lakers

  teamCity string(50)

The geographical name of the team. eg. Los Angeles

teamNameInternational string(100)

The name of the team suitable for international purposes. Latin characters only.

  teamTricode string(3)

A three letter code for this team

teamTricodeInternational string(3)

A three letter code for this team suitable for international purposes. Latin characters only.

division string(30)

The division for this team

conference string(30)

The conference for this team

players array

An array of players

jerseyNum string(10)

The number of the jersey

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
starter enum

Is the person a starter?

1
Yes
0
No (Default)
status enum

Playing Status

ACTIVE
Active (Default)
INACTIVE
Inactive
notPlayingReason enum

The reason they did not play

DNP_COACH
DNP_INJURY
DNP_REST
DNP_PERSONAL
DNP_TRADE
DNP_TEAM_SUSPENSION
DNP_LEAGUE_SUSPENSION
DNP_HEALTH_AND_SAFETY_PROTOCOLS
DND_COACH
DND_INJURY
DND_REST
DND_PERSONAL
DND_TRADE
DND_LEAGUE_SUSPENSION
DND_TEAM_SUSPENSION
DND_HEALTH_AND_SAFETY_PROTOCOLS
NWT_COACH
NWT_INJURY
NWT_REST
NWT_PERSONAL
NWT_TRADE
NWT_LEAGUE_SUSPENSION
NWT_TEAM_SUSPENSION
NWT_SELF_ISOLATING
NWT_HEALTH_AND_SAFETY_PROTOCOLS
NWT_NOT_WITH_TEAM
INACTIVE_COACH
INACTIVE_INJURY
INACTIVE_REST
INACTIVE_PERSONAL
INACTIVE_TRADE
INACTIVE_SUSPENDED
INACTIVE_GLEAGUE
INACTIVE_GLEAGUE_ON_ASSIGNMENT
INACTIVE_GLEAGUE_TWOWAY
INACTIVE_TEAM_SUSPENSION
INACTIVE_LEAGUE_SUSPENSION
INACTIVE_SELF_ISOLATING
INACTIVE_HEALTH_AND_SAFETY_PROTOCOLS
INACTIVE_NOT_WITH_TEAM
notPlayingDescription string

Additional information for the reason they did not play

personId integer

Unique identifier for the person

  name string(100)

The name of the person

nameI string(100)

The first initial and family name of the person

firstName string(100)

The first name of the person

familyName string(100)

The family name of the person

staff array

An array of team staff

role enum

The staff role of this person.

COACH_HEAD
Head Coach
COACH_ASSISTANTHEAD
Assistant Head Coach
COACH_ASSOCIATEHEAD
Associate Head Coach
COACH_ASSISTANT
Assistant Coach
COACH_INTERIMHEAD
Interim Head Coach
TRAINER
Trainer
TRAINER_ASSISTANT
Assistant Trainer
COACH_STRENGTH
Strength and Conditioning Coach
COACH_ASSISTANTSTRENGTH
Assistant Strength and Conditioning Coach
SCOUT_ADVANCE
Advance Scout/Assistant Coach
DIRECTOR
Director of Athletic Development
COACH_ASSISTANTPLAYER
Assistant Coach for Player Development
COACH_LEADASSISTANT
Lead Assistant Coach
COACH_ASSISTANTPLAYERP
Assistant Coach/Player Performance
personId integer

Unique identifier for the person

  name string(100)

The name of the person

nameI string(100)

The first initial and family name of the person

firstName string(100)

The first name of the person

familyName string(100)

The family name of the person

away object

starters array

An array of periods and players starting those periods

periodNumber integer

What period of the match is this statistic related to. 0 is valid and represents the value for the total match. Overtime periods start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

players array

An array of players who started this period

personId integer

Unique identifier for the person

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
  teamId integer

Unique identifier for the team

  teamName string(100)

The name of the team. eg. Lakers

  teamCity string(50)

The geographical name of the team. eg. Los Angeles

teamNameInternational string(100)

The name of the team suitable for international purposes. Latin characters only.

  teamTricode string(3)

A three letter code for this team

teamTricodeInternational string(3)

A three letter code for this team suitable for international purposes. Latin characters only.

division string(30)

The division for this team

conference string(30)

The conference for this team

players array

An array of players

jerseyNum string(10)

The number of the jersey

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
starter enum

Is the person a starter?

1
Yes
0
No (Default)
status enum

Playing Status

ACTIVE
Active (Default)
INACTIVE
Inactive
notPlayingReason enum

The reason they did not play

DNP_COACH
DNP_INJURY
DNP_REST
DNP_PERSONAL
DNP_TRADE
DNP_TEAM_SUSPENSION
DNP_LEAGUE_SUSPENSION
DNP_HEALTH_AND_SAFETY_PROTOCOLS
DND_COACH
DND_INJURY
DND_REST
DND_PERSONAL
DND_TRADE
DND_LEAGUE_SUSPENSION
DND_TEAM_SUSPENSION
DND_HEALTH_AND_SAFETY_PROTOCOLS
NWT_COACH
NWT_INJURY
NWT_REST
NWT_PERSONAL
NWT_TRADE
NWT_LEAGUE_SUSPENSION
NWT_TEAM_SUSPENSION
NWT_SELF_ISOLATING
NWT_HEALTH_AND_SAFETY_PROTOCOLS
NWT_NOT_WITH_TEAM
INACTIVE_COACH
INACTIVE_INJURY
INACTIVE_REST
INACTIVE_PERSONAL
INACTIVE_TRADE
INACTIVE_SUSPENDED
INACTIVE_GLEAGUE
INACTIVE_GLEAGUE_ON_ASSIGNMENT
INACTIVE_GLEAGUE_TWOWAY
INACTIVE_TEAM_SUSPENSION
INACTIVE_LEAGUE_SUSPENSION
INACTIVE_SELF_ISOLATING
INACTIVE_HEALTH_AND_SAFETY_PROTOCOLS
INACTIVE_NOT_WITH_TEAM
notPlayingDescription string

Additional information for the reason they did not play

personId integer

Unique identifier for the person

  name string(100)

The name of the person

nameI string(100)

The first initial and family name of the person

firstName string(100)

The first name of the person

familyName string(100)

The family name of the person

staff array

An array of team staff

role enum

The staff role of this person.

COACH_HEAD
Head Coach
COACH_ASSISTANTHEAD
Assistant Head Coach
COACH_ASSOCIATEHEAD
Associate Head Coach
COACH_ASSISTANT
Assistant Coach
COACH_INTERIMHEAD
Interim Head Coach
TRAINER
Trainer
TRAINER_ASSISTANT
Assistant Trainer
COACH_STRENGTH
Strength and Conditioning Coach
COACH_ASSISTANTSTRENGTH
Assistant Strength and Conditioning Coach
SCOUT_ADVANCE
Advance Scout/Assistant Coach
DIRECTOR
Director of Athletic Development
COACH_ASSISTANTPLAYER
Assistant Coach for Player Development
COACH_LEADASSISTANT
Lead Assistant Coach
COACH_ASSISTANTPLAYERP
Assistant Coach/Player Performance
personId integer

Unique identifier for the person

  name string(100)

The name of the person

nameI string(100)

The first initial and family name of the person

firstName string(100)

The first name of the person

familyName string(100)

The family name of the person

clockstate

This message type contains the current state of the clock. It is sent on clock ticks.
type enum

The type of the message

clockstate
category enum

The category of the message

state
gameId string(10)

Unique identifier for the game

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
periodNumber integer

The period number. Overtime periods start at 1.

period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

clock string

The current time on the clock. The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.

Format is: PTmmMss.ccS
shotClock string

The current time on the shot clock. The format is ISO-8601, where ss represents the number of seconds and cc the number of tenths of a second. If the time left on the shot clock is more than the game clock, then this field will be set to null.

Format is: PTss.ccS
clockRunning enum

Is the clock running?

0
1

connection

This message type contains information about the status of the connection
type enum

The type of the message

connection
category enum

The category of the message

connection
gameId string(10)

Unique identifier for the game

status enum

This status of the connection to the capture device

CONNECTED
LOST
source enum

This source of the data

arena
Event captured in arena (Default)
central
Event captured centrally
instance string(50)

Unique identifier for the device which generated this event. Only visible if level=2 or above.

gameinformation

This message type contains information about the game
type enum

The type of the message

gameinformation
category enum

The category of the message

aggregated
gameId string(10)

Unique identifier for the game

gameTimeLocal datetime

The scheduled start date/time of the game in the timezone of the arena

Format is: YYYY-MM-DDTHH:MM:SS.s (ISO 8601)
gameTimeUTC datetime

The scheduled start date/time of the game in the UTC timezone

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
gameTimeHome datetime

The scheduled start date/time of the game in the timezone of the home team

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
gameTimeAway datetime

The scheduled start date/time of the game in the timezone of the away team

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
  homeTeamId integer

Unique identifier for the team

  awayTeamId integer

Unique identifier for the team

arenaId integer

The unique identifier for the arena

arenaName string(100)

The name of the arena

arenaNickname string(50)

A non-offical name of the arena

arenaCode string(50)

Short Code of the arena

timezone string

The timezone location as defined by the IANA time zone database. See http://en.wikipedia.org/wiki/List_of_tz_database_time_zones

ruleset object

The ruleset that the game operates under

  rulesetId integer

Unique identifier for the ruleset

  rulesetName string(100)

The name of the ruleset

  numberOfRegulationPeriods integer

The number of regulation periods

  periodLengthRegulation integer

The length of the regulation periods (in minutes)

  periodLengthOvertime integer

The length of any overtime periods (in minutes)

  shotClockLength integer

The maximum value of the shot clock (in seconds)

  doesjumpballalter enum

??

1
Yes
0
No (Default)
hasofficialjersey enum

??

1
Yes
0
No (Default)
  hasdeadballrebouds enum

??

1
Yes
0
No (Default)
  numberOfOfficials integer

The number of officials required

  numberOfPlayers integer

The maximum of players per team

  maxFoulsPlayer integer

The maximum number of fouls a player can receive

  teamFoulPenaltyLimitRegular integer

The maximum number of team fouls in a regular period before penalty

  teamFoulPenaltyLimitOvertime integer

The maximum number of team fouls in a OT period before penalty

  courtConfigurationId integer

The unique identifier of the court configuration

simpleZoneId integer

The unique identifier of the zone configuration for the simple shooting zone (0 not valid).

detailZoneId integer

The unique identifier of the zone configuration for the simple detailed zone (0 not valid).

useFibaFoulBonusRules enum

??

1
Yes
0
No (Default)
useCoachChallenge enum

??

1
Yes
0
No (Default)
heavesConfiguration object

Configuration of heaves

heavesEnabled boolean

Configuration of enabling heaves

true
false
(Default)
heaveShotClockTimeSeconds integer

Configuration of heave shot clock time in seconds

heaveGameClockTimeSeconds integer

Configuration of heave game clock time in seconds

timeouts object

Configuration of timeouts

full object

Configuration of full timeouts

  length integer

The length of this timeout (in seconds)

  givenForGame integer

The number of these timeouts given for the entire game. Should be set to 0 if timeouts are given by halves.

  givenForHalf1 integer

The number of these timeouts given for the first half.

  givenForHalf2 integer

The number of these timeouts given for the second half.

  givenForOT integer

The number of these timeouts given for each OT period.

maximumRules array

Configuration of usage rules

  periodType enum

The type of period

REGULATION
(Default)
OVERTIME
  periodNumber integer

What period of the game is this statistic related to. 0 is valid and represents the value for the total game. Overtime periods should start at 1.

clockStart string

Rule applies from this clock time down to clockEnd

Format is: PTmmMss.ccS
clockEnd string

Rule applies from this clockStart time down to this value

Format is: PTmmMss.ccS
  maximumValue integer

The maximum number of timeouts available in this period

short object

Configuration of short timeouts

  length integer

The length of this timeout (in seconds)

  givenForGame integer

The number of these timeouts given for the entire game. Should be set to 0 if timeouts are given by halves.

  givenForHalf1 integer

The number of these timeouts given for the first half.

  givenForHalf2 integer

The number of these timeouts given for the second half.

  givenForOT integer

The number of these timeouts given for each OT period.

maximumRules array

Configuration of usage rules

  periodType enum

The type of period

REGULATION
(Default)
OVERTIME
  periodNumber integer

What period of the game is this statistic related to. 0 is valid and represents the value for the total game. Overtime periods should start at 1.

clockStart string

Rule applies from this clock time down to clockEnd

Format is: PTmmMss.ccS
clockEnd string

Rule applies from this clockStart time down to this value

Format is: PTmmMss.ccS
  maximumValue integer

The maximum number of timeouts available in this period

reset object

Configuration of reset timeouts

  length integer

The length of this timeout (in seconds)

  givenForGame integer

The number of these timeouts given for the entire game. Should be set to 0 if timeouts are given by halves.

  givenForHalf1 integer

The number of these timeouts given for the first half.

  givenForHalf2 integer

The number of these timeouts given for the second half.

  givenForOT integer

The number of these timeouts given for each OT period.

maximumRules array

Configuration of usage rules

  periodType enum

The type of period

REGULATION
(Default)
OVERTIME
  periodNumber integer

What period of the game is this statistic related to. 0 is valid and represents the value for the total game. Overtime periods should start at 1.

clockStart string

Rule applies from this clock time down to clockEnd

Format is: PTmmMss.ccS
clockEnd string

Rule applies from this clockStart time down to this value

Format is: PTmmMss.ccS
  maximumValue integer

The maximum number of timeouts available in this period

officials

This message type contains information about the persons officiating the game
type enum

The type of the message

officials
category enum

The category of the message

raw-sport
messageId integer

Unique identifier of the message being sent

gameId string(10)

Unique identifier for the game

officials array

An array of officials

jerseyNum string(10)

The number of the jersey

assignment enum

The assignment of the official

OFFICIAL1
OFFICIAL2
OFFICIAL3
ALTERNATE
personId integer

Unique identifier for the person

  name string(100)

The name of the person

nameI string(100)

The first initial and family name of the person

firstName string(100)

The first name of the person

familyName string(100)

The family name of the person

scoreboard

This message type contains the current scoreboard information for the game.
type enum

The type of the message

scoreboard
category enum

The category of the message

aggregated
gameId string(10)

Unique identifier for the game

status enum

The status of the match.

ready
warmup
pregame
anthem
oncourt
countdown
inprogress
periodbreak
interrupted
cancelled
finished
finalbox
protested
complete
rescheduled
delayed
suspended
periodType enum

The type of period

REGULAR
(Default)
OVERTIME
period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

periodNumber integer

The period number. Overtime periods start at 1.

periodStatus enum

The status of the period.

pending
started
ended
confirmed
clock string

The current time on the clock. The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.

Format is: PTmmMss.ccS
shotClock string

The current time on the shot clock. The format is ISO-8601, where ss represents the number of seconds and cc the number of tenths of a second. If the time left on the shot clock is more than the game clock, then this field will be set to null.

Format is: PTss.ccS
clockRunning enum

Is the clock running?

0
1
homeTeam

  teamId integer

Unique identifier for the team

score

This team's total score

fouls

This team's current foul count

foulsToGive

The number of fouls before the team is in penalty. (Fouls before bonus - current fouls)

inBonus

Is this team currently in bonus

0
No (Default)
1
Yes
timeoutsRemaining

Number of timeouts remaining

timeoutsShortRemaining

Number of short timeouts remaining

periods array

periodNumber integer

Data for this period.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
score integer

This team's score for this period

awayTeam

  teamId integer

Unique identifier for the team

score

This team's total score

fouls

This team's current foul count

foulsToGive

The number of fouls before the team is in penalty. (Fouls before bonus - current fouls)

inBonus

Is this team currently in bonus

0
No (Default)
1
Yes
timeoutsRemaining

Number of timeouts remaining

timeoutsShortRemaining

Number of short timeouts remaining

periods array

periodNumber integer

Data for this period.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
score integer

This team's score for this period

attendance integer

The attendance of the game

sellout enum

Is the game a sell out?

0
No (Default)
1
Yes

playbyplay

This message type contains an array of aggregated game actions. This list of actions is the current state of the game and is the result of any inserts,edits,deletes.
type enum

The type of the message

playbyplay
category enum

The category of the message

aggregated
gameId string(10)

Unique identifier for the game

actions array

Array of play by play actions, sorted ascending

linkedActions array

Array of actions that are linked to this one. eg. assist linked to shot

actionNumber integer

Unique number for this action

clock string

The current time on the clock. The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.

Format is: PTmmMss.ccS
shotClock string

The current time on the shot clock. The format is ISO-8601, where ss represents the number of seconds and cc the number of tenths of a second. If the time left on the shot clock is more than the game clock, then this field will be set to null.

Format is: PTss.ccS
timeActual string

The date/time when this action occurred in UTC

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

periodNumber integer

The period number. Overtime periods start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
teamId integer

Unique identifier for the team

teamTricode string(3)

A three letter code for this team

actionType enum

A code representating the action taken. See Action Types for the list of options.

success

This action was completed successfully. Generally all actions except shots are successful.

0
No (Default)
1
Yes
subType enum

The subType of action occurring. See Action Types for the list of options.

descriptor enum

A descriptor for the subType of the action occurring. See Action Types for the list of options.

qualifiers array

An array of qualifiers to the action. See Action Types for the list of options.

string(50)

value string(50)

A text field. Some action types require a value. This is where that value will be placed.

previousAction integer

The number of the previous action if it relates to this action

personId integer

The unique identifier for the person performing the action.

  name string(100)

The first and family name of the person performing the action. Not present if no person involved in the action.

nameI string(100)

The first initial and family name of the person performing the action. Not present if no person involved in the action.

firstName string(100)

The first name of the person performing the action. Not present if no person involved in the action.

familyName string(100)

The family name of the person performing the action. Not present if no person involved in the action.

x float

X coordinate on the court as to where the action occurred. Defined in Court Definitions.

y float

Y coordinate on the court as to where the action occurred. Defined in Court Definitions.

possession integer

The teamId of the team that has offensive possession. If no team has possession then this field should be 0.

eg. Shot made / missed => team taking the shot, Rebound => team getting rebound, Steal => team making steal, Turnover => team making turnover, Jumpball => 0, Start Period => 0
area string

The area of the court where the action occurred. Defined in Court Definitions.

areaDetail string

The area of the court where the action occurred. Defined in Court Definitions.

side enum

Indicates which side of the court the player is shooting for.

(blank)
left
right
shotDistance float

If a shot has been taken, this is the distance (in feet) of the shot. If not valid (eg. non shot event) then this key may not be present.

scoreHome string

The score of the home team after the completion of this action.

scoreAway string

The score of the away team after the completion of this action.

playerTotal integer

The sum of the value of this type of action for this player in the game. eg. Total number of turnovers

description string(250)

A string giving the description of this action. eg. Turnaround Fadeaway shot: Missed

officialId integer

The unique identifier for the official who called the event. Only visible if level=2 or above.

edited string

If the action has been edited (after being initially sent) this field should contain the last time it was edited (in UTC).

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
actionNumber integer

Unique number for this action

clock string

The current time on the clock. The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.

Format is: PTmmMss.ccS
shotClock string

The current time on the shot clock. The format is ISO-8601, where ss represents the number of seconds and cc the number of tenths of a second. If the time left on the shot clock is more than the game clock, then this field will be set to null.

Format is: PTss.ccS
timeActual string

The date/time when this action occurred in UTC

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)
period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

periodNumber integer

The period number. Overtime periods start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
teamId integer

Unique identifier for the team

teamTricode string(3)

A three letter code for this team

actionType enum

A code representating the action taken. See Action Types for the list of options.

success

This action was completed successfully. Generally all actions except shots are successful.

0
No (Default)
1
Yes
subType enum

The subType of action occurring. See Action Types for the list of options.

descriptor enum

A descriptor for the subType of the action occurring. See Action Types for the list of options.

qualifiers array

An array of qualifiers to the action. See Action Types for the list of options.

string(50)

value string(50)

A text field. Some action types require a value. This is where that value will be placed.

previousAction integer

The number of the previous action if it relates to this action

personId integer

The unique identifier for the person performing the action.

  name string(100)

The first and family name of the person performing the action. Not present if no person involved in the action.

nameI string(100)

The first initial and family name of the person performing the action. Not present if no person involved in the action.

firstName string(100)

The first name of the person performing the action. Not present if no person involved in the action.

familyName string(100)

The family name of the person performing the action. Not present if no person involved in the action.

x float

X coordinate on the court as to where the action occurred. Defined in Court Definitions.

y float

Y coordinate on the court as to where the action occurred. Defined in Court Definitions.

possession integer

The teamId of the team that has offensive possession. If no team has possession then this field should be 0.

eg. Shot made / missed => team taking the shot, Rebound => team getting rebound, Steal => team making steal, Turnover => team making turnover, Jumpball => 0, Start Period => 0
area string

The area of the court where the action occurred. Defined in Court Definitions.

areaDetail string

The area of the court where the action occurred. Defined in Court Definitions.

side enum

Indicates which side of the court the player is shooting for.

(blank)
left
right
shotDistance float

If a shot has been taken, this is the distance (in feet) of the shot. If not valid (eg. non shot event) then this key may not be present.

scoreHome string

The score of the home team after the completion of this action.

scoreAway string

The score of the away team after the completion of this action.

playerTotal integer

The sum of the value of this type of action for this player in the game. eg. Total number of turnovers

description string(250)

A string giving the description of this action. eg. Turnaround Fadeaway shot: Missed

officialId integer

The unique identifier for the official who called the event. Only visible if level=2 or above.

edited string

If the action has been edited (after being initially sent) this field should contain the last time it was edited (in UTC).

Format is: YYYY-MM-DDTHH:MM:SS.sZ (ISO 8601)

boxscore

This message type contains box score information.
type enum

The type of the message

boxscore
category enum

The category of the message

aggregated
total object

Total box score information for the entire game

gameId string(10)

Unique identifier for the game

homeTeam object

  teamId integer

Unique identifier for the team

players array

An array of players' boxscore data

order integer

The order of this person in the box score

personId integer

Unique identifier for the person

jerseyNum string(10)

The number of the jersey

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
starter enum

Is the person a starter?

1
Yes
0
No (Default)
oncourt enum

This player is currently on court?

1
Yes
0
No (Default)
played enum

Did they play

1
Yes
0
No (Default)
statistics object

sAssists integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnovers
sBlocks integer

sBlocksReceived integer

sDefensiveRating decimal

Calculated Field

(100 * (sOppTeamPoints / sTeamPossessions)) + 0.2 * (100 * ( sOppTeamPoints / (sOppTeamFieldGoalsMade + (1 - (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2) * sOppTeamFreeThrowsAttempted*0.4)) * (1 - ((((sSteals + sBlocks * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + sReboundsDefensive * (1 - (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))))) + ( (((sOppTeamFieldGoalsAttempted - sOppTeamFieldGoalsMade - sTeamBlocks) / sTeamMinutes) * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + ((sOppTeamTurnovers - sTeamSteals) / sTeamMinutes)) * sMinutes + (sFoulsPersonal / sTeamFoulsPersonal) * 0.4 * sOppTeamFreeThrowsAttempted * (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2))* sOppTeamMinutes) / (sTeamPossessions * sMinutes))) - (100 * (sOppTeamPoints / sTeamPossessions)))
sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsDrawn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sEfficiencyGameScore decimal

Calculated Field

sPoints + 0.4 * sFieldGoalsMade - 0.7 * sFieldGoalsAttempted - 0.4 * ( sFreeThrowsAttempted - sFreeThrowsMade) + 0.7 * sReboundsOffensive + 0.3 * sReboundsDefensive + sSteals + 0.7 * sAssists + 0.7 * sBlocks - 0.4 * sFoulsPersonal - sTurnovers
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectivePercentage decimal

Calculated Field

100 * (sFieldGoalsMade + 0.5 sThreePointersMade)/sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

sFoulsTechnical integer

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sMinus decimal

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensiveRating decimal

Calculated Field

100 * (( ((2 * (sFieldGoalsMade + 0.5 * sThreePointersMade) * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (2 * ((sTeamFieldGoalsMade - sFieldGoalsMade + 0.5 * (sTeamThreePointersMade - sThreePointersMade)) / (sTeamFieldGoalsMade - sFieldGoalsMade)) * 0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + sFreeThrowsMade) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) * (sTeamPoints / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * 0.4 * sTeamFreeThrowsAttempted))))/ ((((sFieldGoalsMade * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + ((1 - ( 1 - (sFreeThrowsMade/sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted)) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)))) + ((sFieldGoalsAttempted - sFieldGoalsMade) * (1 - 1.07 * (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))))) + (((1 - (sFreeThrowsMade / sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted) + sTurnovers))
sPlus decimal

sPlusMinusPoints decimal

Calculated Field

sPlus - sMinus
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sReboundsDefensive integer

sReboundsDefensivePercentage decimal

Calculated Field

100 * (sReboundsDefensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsDefensive + sOppTeamReboundsOffensive))
sReboundsOffensive integer

sReboundsOffensivePercentage decimal

Calculated Field

100 * (sReboundsOffensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsOffensive + sOppTeamReboundsDefensive))
sReboundsPercentage decimal

Calculated Field

100 * (sReboundsTotal * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsTotal + sOppTeamReboundsTotal))
sReboundsTotal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sStealsPercentage decimal

Calculated Field

100 * (sSteals * (sTeamMinutes / 5)) / (sMinutes * sOppTeamPossessions)
sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTrueShootingAttempts decimal

Calculated Field

sFieldGoalsAttempted + (0.44 * sFreeThrowsAttempted)
sTrueShootingPercentage decimal

Calculated Field

100 * sPoints / (2 * sTrueShootingAttempts )
sTurnovers integer

sTurnoversPercentage decimal

Calculated Field

100 * sTurnovers / ( sFieldGoalsAttempted + 0.44 * sFreeThrowsAttempted + sTurnovers)
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
status enum

Playing Status

ACTIVE
Active (Default)
INACTIVE
Inactive
notPlayingReason enum

The reason they did not play

DNP_COACH
DNP_INJURY
DNP_REST
DNP_PERSONAL
DNP_TRADE
DNP_TEAM_SUSPENSION
DNP_LEAGUE_SUSPENSION
DNP_HEALTH_AND_SAFETY_PROTOCOLS
DND_COACH
DND_INJURY
DND_REST
DND_PERSONAL
DND_TRADE
DND_LEAGUE_SUSPENSION
DND_TEAM_SUSPENSION
DND_HEALTH_AND_SAFETY_PROTOCOLS
NWT_COACH
NWT_INJURY
NWT_REST
NWT_PERSONAL
NWT_TRADE
NWT_LEAGUE_SUSPENSION
NWT_TEAM_SUSPENSION
NWT_SELF_ISOLATING
NWT_HEALTH_AND_SAFETY_PROTOCOLS
NWT_NOT_WITH_TEAM
INACTIVE_COACH
INACTIVE_INJURY
INACTIVE_REST
INACTIVE_PERSONAL
INACTIVE_TRADE
INACTIVE_SUSPENDED
INACTIVE_GLEAGUE
INACTIVE_GLEAGUE_ON_ASSIGNMENT
INACTIVE_GLEAGUE_TWOWAY
INACTIVE_TEAM_SUSPENSION
INACTIVE_LEAGUE_SUSPENSION
INACTIVE_SELF_ISOLATING
INACTIVE_HEALTH_AND_SAFETY_PROTOCOLS
INACTIVE_NOT_WITH_TEAM
notPlayingDescription string

Additional information for the reason they did not play

statistics object

The team's boxscore statistics

sAssists integer

sAssistsDefensive integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnoversTotal
sBenchPoints integer

sBiggestLead integer

sBiggestLeadScore string

Format is: 22-45
sBiggestScoringRun integer

sBiggestScoringRunScore string

Format is: 22-45
sBlocks integer

sBlocksReceived integer

sDefensivePointsPerPossession decimal

Calculated Field

sPointsAgainst / sPossessions
sDefensiveRating decimal

Calculated Field

sPointsAgainst/sPossessions * 100
sEfficiency decimal

Calculated Field

(sPoints + sAssists + sBlocks + sSteals + sFoulsDrawn + sReboundsTotal) - (sTurnovers + sBlocksReceived + sFoulsPersonal + sFoulsTechnical + (sTwoPointersAttempted - sTwoPointersMade) + (sThreePointersAttempted - sThreePointersMade))
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectiveAdjusted decimal

Calculated Field

(sFieldGoalsMade + (0.5 * sThreePointersMade)) / sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

The sum of the personal fouls of all team members

sFoulsTeam integer

Calculated Field. sFoulsPersonal excluding offensive and double fouls

sFoulsPersonal - sFoulsOffensive
sFoulsTeamTechnical integer

All technical fouls assigned to staff or team

sFoulsTechnical integer

sFoulsTotal integer

TO BE REMOVED as the same as sFoulsPersonal. The sum of the personal fouls of all team members

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sLeadChanges integer

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensivePointsPerPossession decimal

Calculated Field

sPoints / sPossessions
sOffensiveRating decimal

Calculated Field

sPoints * 100 / sPossessions
sPace decimal

Calculated Field

(NumberOfPeriods * PeriodLength ) * (( sPossessions + sOppPossessions ) / ( 2 * ( sMinutes /5 )))
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsAgainst integer

Calculated Field

Opposing team - sPoints
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sPossessions decimal

Calculated Field

FieldGoals.AttemptsCount + TotalTurnovers + FreeThrows.AttemptsCount * 0.44 - OffensiveReboundsCount
sPossessionsOpponent decimal

Calculated Field

sOppPossessions
sReboundsDefensive integer

sReboundsOffensive integer

sReboundsPersonal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sReboundsTeam integer

sReboundsTeamDefensive integer

sReboundsTeamOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsPersonal + sReboundsTeam
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTimeLeading string

sTimesTied integer

sTransitionDefence decimal

Calculated Field

OppsPointsFastBreak/OppsSteals
sTransitionOffence decimal

Calculated Field

sPointsFastBreak / sSteals
sTurnovers integer

sTurnoversTeam integer

sTurnoversTotal integer

Calculated Field

sTurnovers + sTurnoversTeam
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
sTeamFieldGoalAttempts integer

awayTeam object

  teamId integer

Unique identifier for the team

players array

An array of players' boxscore data

order integer

The order of this person in the box score

personId integer

Unique identifier for the person

jerseyNum string(10)

The number of the jersey

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
starter enum

Is the person a starter?

1
Yes
0
No (Default)
oncourt enum

This player is currently on court?

1
Yes
0
No (Default)
played enum

Did they play

1
Yes
0
No (Default)
statistics object

sAssists integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnovers
sBlocks integer

sBlocksReceived integer

sDefensiveRating decimal

Calculated Field

(100 * (sOppTeamPoints / sTeamPossessions)) + 0.2 * (100 * ( sOppTeamPoints / (sOppTeamFieldGoalsMade + (1 - (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2) * sOppTeamFreeThrowsAttempted*0.4)) * (1 - ((((sSteals + sBlocks * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + sReboundsDefensive * (1 - (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))))) + ( (((sOppTeamFieldGoalsAttempted - sOppTeamFieldGoalsMade - sTeamBlocks) / sTeamMinutes) * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + ((sOppTeamTurnovers - sTeamSteals) / sTeamMinutes)) * sMinutes + (sFoulsPersonal / sTeamFoulsPersonal) * 0.4 * sOppTeamFreeThrowsAttempted * (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2))* sOppTeamMinutes) / (sTeamPossessions * sMinutes))) - (100 * (sOppTeamPoints / sTeamPossessions)))
sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsDrawn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sEfficiencyGameScore decimal

Calculated Field

sPoints + 0.4 * sFieldGoalsMade - 0.7 * sFieldGoalsAttempted - 0.4 * ( sFreeThrowsAttempted - sFreeThrowsMade) + 0.7 * sReboundsOffensive + 0.3 * sReboundsDefensive + sSteals + 0.7 * sAssists + 0.7 * sBlocks - 0.4 * sFoulsPersonal - sTurnovers
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectivePercentage decimal

Calculated Field

100 * (sFieldGoalsMade + 0.5 sThreePointersMade)/sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

sFoulsTechnical integer

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sMinus decimal

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensiveRating decimal

Calculated Field

100 * (( ((2 * (sFieldGoalsMade + 0.5 * sThreePointersMade) * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (2 * ((sTeamFieldGoalsMade - sFieldGoalsMade + 0.5 * (sTeamThreePointersMade - sThreePointersMade)) / (sTeamFieldGoalsMade - sFieldGoalsMade)) * 0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + sFreeThrowsMade) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) * (sTeamPoints / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * 0.4 * sTeamFreeThrowsAttempted))))/ ((((sFieldGoalsMade * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + ((1 - ( 1 - (sFreeThrowsMade/sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted)) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)))) + ((sFieldGoalsAttempted - sFieldGoalsMade) * (1 - 1.07 * (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))))) + (((1 - (sFreeThrowsMade / sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted) + sTurnovers))
sPlus decimal

sPlusMinusPoints decimal

Calculated Field

sPlus - sMinus
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sReboundsDefensive integer

sReboundsDefensivePercentage decimal

Calculated Field

100 * (sReboundsDefensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsDefensive + sOppTeamReboundsOffensive))
sReboundsOffensive integer

sReboundsOffensivePercentage decimal

Calculated Field

100 * (sReboundsOffensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsOffensive + sOppTeamReboundsDefensive))
sReboundsPercentage decimal

Calculated Field

100 * (sReboundsTotal * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsTotal + sOppTeamReboundsTotal))
sReboundsTotal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sStealsPercentage decimal

Calculated Field

100 * (sSteals * (sTeamMinutes / 5)) / (sMinutes * sOppTeamPossessions)
sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTrueShootingAttempts decimal

Calculated Field

sFieldGoalsAttempted + (0.44 * sFreeThrowsAttempted)
sTrueShootingPercentage decimal

Calculated Field

100 * sPoints / (2 * sTrueShootingAttempts )
sTurnovers integer

sTurnoversPercentage decimal

Calculated Field

100 * sTurnovers / ( sFieldGoalsAttempted + 0.44 * sFreeThrowsAttempted + sTurnovers)
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
status enum

Playing Status

ACTIVE
Active (Default)
INACTIVE
Inactive
notPlayingReason enum

The reason they did not play

DNP_COACH
DNP_INJURY
DNP_REST
DNP_PERSONAL
DNP_TRADE
DNP_TEAM_SUSPENSION
DNP_LEAGUE_SUSPENSION
DNP_HEALTH_AND_SAFETY_PROTOCOLS
DND_COACH
DND_INJURY
DND_REST
DND_PERSONAL
DND_TRADE
DND_LEAGUE_SUSPENSION
DND_TEAM_SUSPENSION
DND_HEALTH_AND_SAFETY_PROTOCOLS
NWT_COACH
NWT_INJURY
NWT_REST
NWT_PERSONAL
NWT_TRADE
NWT_LEAGUE_SUSPENSION
NWT_TEAM_SUSPENSION
NWT_SELF_ISOLATING
NWT_HEALTH_AND_SAFETY_PROTOCOLS
NWT_NOT_WITH_TEAM
INACTIVE_COACH
INACTIVE_INJURY
INACTIVE_REST
INACTIVE_PERSONAL
INACTIVE_TRADE
INACTIVE_SUSPENDED
INACTIVE_GLEAGUE
INACTIVE_GLEAGUE_ON_ASSIGNMENT
INACTIVE_GLEAGUE_TWOWAY
INACTIVE_TEAM_SUSPENSION
INACTIVE_LEAGUE_SUSPENSION
INACTIVE_SELF_ISOLATING
INACTIVE_HEALTH_AND_SAFETY_PROTOCOLS
INACTIVE_NOT_WITH_TEAM
notPlayingDescription string

Additional information for the reason they did not play

statistics object

The team's boxscore statistics

sAssists integer

sAssistsDefensive integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnoversTotal
sBenchPoints integer

sBiggestLead integer

sBiggestLeadScore string

Format is: 22-45
sBiggestScoringRun integer

sBiggestScoringRunScore string

Format is: 22-45
sBlocks integer

sBlocksReceived integer

sDefensivePointsPerPossession decimal

Calculated Field

sPointsAgainst / sPossessions
sDefensiveRating decimal

Calculated Field

sPointsAgainst/sPossessions * 100
sEfficiency decimal

Calculated Field

(sPoints + sAssists + sBlocks + sSteals + sFoulsDrawn + sReboundsTotal) - (sTurnovers + sBlocksReceived + sFoulsPersonal + sFoulsTechnical + (sTwoPointersAttempted - sTwoPointersMade) + (sThreePointersAttempted - sThreePointersMade))
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectiveAdjusted decimal

Calculated Field

(sFieldGoalsMade + (0.5 * sThreePointersMade)) / sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

The sum of the personal fouls of all team members

sFoulsTeam integer

Calculated Field. sFoulsPersonal excluding offensive and double fouls

sFoulsPersonal - sFoulsOffensive
sFoulsTeamTechnical integer

All technical fouls assigned to staff or team

sFoulsTechnical integer

sFoulsTotal integer

TO BE REMOVED as the same as sFoulsPersonal. The sum of the personal fouls of all team members

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sLeadChanges integer

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensivePointsPerPossession decimal

Calculated Field

sPoints / sPossessions
sOffensiveRating decimal

Calculated Field

sPoints * 100 / sPossessions
sPace decimal

Calculated Field

(NumberOfPeriods * PeriodLength ) * (( sPossessions + sOppPossessions ) / ( 2 * ( sMinutes /5 )))
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsAgainst integer

Calculated Field

Opposing team - sPoints
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sPossessions decimal

Calculated Field

FieldGoals.AttemptsCount + TotalTurnovers + FreeThrows.AttemptsCount * 0.44 - OffensiveReboundsCount
sPossessionsOpponent decimal

Calculated Field

sOppPossessions
sReboundsDefensive integer

sReboundsOffensive integer

sReboundsPersonal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sReboundsTeam integer

sReboundsTeamDefensive integer

sReboundsTeamOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsPersonal + sReboundsTeam
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTimeLeading string

sTimesTied integer

sTransitionDefence decimal

Calculated Field

OppsPointsFastBreak/OppsSteals
sTransitionOffence decimal

Calculated Field

sPointsFastBreak / sSteals
sTurnovers integer

sTurnoversTeam integer

sTurnoversTotal integer

Calculated Field

sTurnovers + sTurnoversTeam
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
sTeamFieldGoalAttempts integer

gameId string(10)

Unique identifier for the game

periods array

periodNumber integer

What period of the match is this statistic related to. 0 is valid and represents the value for the total match. Overtime periods start at 1.

periodType enum

The type of period

REGULAR
(Default)
OVERTIME
period integer

Sequence number of the period. OVERTIME periods are numbered after REGULAR periods.

gameId string(10)

Unique identifier for the game

homeTeam object

  teamId integer

Unique identifier for the team

players array

An array of players' boxscore data

order integer

The order of this person in the box score

personId integer

Unique identifier for the person

jerseyNum string(10)

The number of the jersey

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
starter enum

Is the person a starter?

1
Yes
0
No (Default)
oncourt enum

This player is currently on court?

1
Yes
0
No (Default)
played enum

Did they play

1
Yes
0
No (Default)
statistics object

sAssists integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnovers
sBlocks integer

sBlocksReceived integer

sDefensiveRating decimal

Calculated Field

(100 * (sOppTeamPoints / sTeamPossessions)) + 0.2 * (100 * ( sOppTeamPoints / (sOppTeamFieldGoalsMade + (1 - (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2) * sOppTeamFreeThrowsAttempted*0.4)) * (1 - ((((sSteals + sBlocks * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + sReboundsDefensive * (1 - (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))))) + ( (((sOppTeamFieldGoalsAttempted - sOppTeamFieldGoalsMade - sTeamBlocks) / sTeamMinutes) * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + ((sOppTeamTurnovers - sTeamSteals) / sTeamMinutes)) * sMinutes + (sFoulsPersonal / sTeamFoulsPersonal) * 0.4 * sOppTeamFreeThrowsAttempted * (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2))* sOppTeamMinutes) / (sTeamPossessions * sMinutes))) - (100 * (sOppTeamPoints / sTeamPossessions)))
sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsDrawn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sEfficiencyGameScore decimal

Calculated Field

sPoints + 0.4 * sFieldGoalsMade - 0.7 * sFieldGoalsAttempted - 0.4 * ( sFreeThrowsAttempted - sFreeThrowsMade) + 0.7 * sReboundsOffensive + 0.3 * sReboundsDefensive + sSteals + 0.7 * sAssists + 0.7 * sBlocks - 0.4 * sFoulsPersonal - sTurnovers
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectivePercentage decimal

Calculated Field

100 * (sFieldGoalsMade + 0.5 sThreePointersMade)/sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

sFoulsTechnical integer

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sMinus decimal

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensiveRating decimal

Calculated Field

100 * (( ((2 * (sFieldGoalsMade + 0.5 * sThreePointersMade) * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (2 * ((sTeamFieldGoalsMade - sFieldGoalsMade + 0.5 * (sTeamThreePointersMade - sThreePointersMade)) / (sTeamFieldGoalsMade - sFieldGoalsMade)) * 0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + sFreeThrowsMade) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) * (sTeamPoints / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * 0.4 * sTeamFreeThrowsAttempted))))/ ((((sFieldGoalsMade * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + ((1 - ( 1 - (sFreeThrowsMade/sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted)) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)))) + ((sFieldGoalsAttempted - sFieldGoalsMade) * (1 - 1.07 * (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))))) + (((1 - (sFreeThrowsMade / sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted) + sTurnovers))
sPlus decimal

sPlusMinusPoints decimal

Calculated Field

sPlus - sMinus
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sReboundsDefensive integer

sReboundsDefensivePercentage decimal

Calculated Field

100 * (sReboundsDefensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsDefensive + sOppTeamReboundsOffensive))
sReboundsOffensive integer

sReboundsOffensivePercentage decimal

Calculated Field

100 * (sReboundsOffensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsOffensive + sOppTeamReboundsDefensive))
sReboundsPercentage decimal

Calculated Field

100 * (sReboundsTotal * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsTotal + sOppTeamReboundsTotal))
sReboundsTotal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sStealsPercentage decimal

Calculated Field

100 * (sSteals * (sTeamMinutes / 5)) / (sMinutes * sOppTeamPossessions)
sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTrueShootingAttempts decimal

Calculated Field

sFieldGoalsAttempted + (0.44 * sFreeThrowsAttempted)
sTrueShootingPercentage decimal

Calculated Field

100 * sPoints / (2 * sTrueShootingAttempts )
sTurnovers integer

sTurnoversPercentage decimal

Calculated Field

100 * sTurnovers / ( sFieldGoalsAttempted + 0.44 * sFreeThrowsAttempted + sTurnovers)
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
status enum

Playing Status

ACTIVE
Active (Default)
INACTIVE
Inactive
notPlayingReason enum

The reason they did not play

DNP_COACH
DNP_INJURY
DNP_REST
DNP_PERSONAL
DNP_TRADE
DNP_TEAM_SUSPENSION
DNP_LEAGUE_SUSPENSION
DNP_HEALTH_AND_SAFETY_PROTOCOLS
DND_COACH
DND_INJURY
DND_REST
DND_PERSONAL
DND_TRADE
DND_LEAGUE_SUSPENSION
DND_TEAM_SUSPENSION
DND_HEALTH_AND_SAFETY_PROTOCOLS
NWT_COACH
NWT_INJURY
NWT_REST
NWT_PERSONAL
NWT_TRADE
NWT_LEAGUE_SUSPENSION
NWT_TEAM_SUSPENSION
NWT_SELF_ISOLATING
NWT_HEALTH_AND_SAFETY_PROTOCOLS
NWT_NOT_WITH_TEAM
INACTIVE_COACH
INACTIVE_INJURY
INACTIVE_REST
INACTIVE_PERSONAL
INACTIVE_TRADE
INACTIVE_SUSPENDED
INACTIVE_GLEAGUE
INACTIVE_GLEAGUE_ON_ASSIGNMENT
INACTIVE_GLEAGUE_TWOWAY
INACTIVE_TEAM_SUSPENSION
INACTIVE_LEAGUE_SUSPENSION
INACTIVE_SELF_ISOLATING
INACTIVE_HEALTH_AND_SAFETY_PROTOCOLS
INACTIVE_NOT_WITH_TEAM
notPlayingDescription string

Additional information for the reason they did not play

statistics object

The team's boxscore statistics

sAssists integer

sAssistsDefensive integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnoversTotal
sBenchPoints integer

sBiggestLead integer

sBiggestLeadScore string

Format is: 22-45
sBiggestScoringRun integer

sBiggestScoringRunScore string

Format is: 22-45
sBlocks integer

sBlocksReceived integer

sDefensivePointsPerPossession decimal

Calculated Field

sPointsAgainst / sPossessions
sDefensiveRating decimal

Calculated Field

sPointsAgainst/sPossessions * 100
sEfficiency decimal

Calculated Field

(sPoints + sAssists + sBlocks + sSteals + sFoulsDrawn + sReboundsTotal) - (sTurnovers + sBlocksReceived + sFoulsPersonal + sFoulsTechnical + (sTwoPointersAttempted - sTwoPointersMade) + (sThreePointersAttempted - sThreePointersMade))
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectiveAdjusted decimal

Calculated Field

(sFieldGoalsMade + (0.5 * sThreePointersMade)) / sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

The sum of the personal fouls of all team members

sFoulsTeam integer

Calculated Field. sFoulsPersonal excluding offensive and double fouls

sFoulsPersonal - sFoulsOffensive
sFoulsTeamTechnical integer

All technical fouls assigned to staff or team

sFoulsTechnical integer

sFoulsTotal integer

TO BE REMOVED as the same as sFoulsPersonal. The sum of the personal fouls of all team members

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sLeadChanges integer

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensivePointsPerPossession decimal

Calculated Field

sPoints / sPossessions
sOffensiveRating decimal

Calculated Field

sPoints * 100 / sPossessions
sPace decimal

Calculated Field

(NumberOfPeriods * PeriodLength ) * (( sPossessions + sOppPossessions ) / ( 2 * ( sMinutes /5 )))
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsAgainst integer

Calculated Field

Opposing team - sPoints
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sPossessions decimal

Calculated Field

FieldGoals.AttemptsCount + TotalTurnovers + FreeThrows.AttemptsCount * 0.44 - OffensiveReboundsCount
sPossessionsOpponent decimal

Calculated Field

sOppPossessions
sReboundsDefensive integer

sReboundsOffensive integer

sReboundsPersonal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sReboundsTeam integer

sReboundsTeamDefensive integer

sReboundsTeamOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsPersonal + sReboundsTeam
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTimeLeading string

sTimesTied integer

sTransitionDefence decimal

Calculated Field

OppsPointsFastBreak/OppsSteals
sTransitionOffence decimal

Calculated Field

sPointsFastBreak / sSteals
sTurnovers integer

sTurnoversTeam integer

sTurnoversTotal integer

Calculated Field

sTurnovers + sTurnoversTeam
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
sTeamFieldGoalAttempts integer

awayTeam object

  teamId integer

Unique identifier for the team

players array

An array of players' boxscore data

order integer

The order of this person in the box score

personId integer

Unique identifier for the person

jerseyNum string(10)

The number of the jersey

position enum

The floor position of the player

G
GF
PG
SG
F
SF
PF
C
FC
FG
CF
starter enum

Is the person a starter?

1
Yes
0
No (Default)
oncourt enum

This player is currently on court?

1
Yes
0
No (Default)
played enum

Did they play

1
Yes
0
No (Default)
statistics object

sAssists integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnovers
sBlocks integer

sBlocksReceived integer

sDefensiveRating decimal

Calculated Field

(100 * (sOppTeamPoints / sTeamPossessions)) + 0.2 * (100 * ( sOppTeamPoints / (sOppTeamFieldGoalsMade + (1 - (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2) * sOppTeamFreeThrowsAttempted*0.4)) * (1 - ((((sSteals + sBlocks * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + sReboundsDefensive * (1 - (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))))) + ( (((sOppTeamFieldGoalsAttempted - sOppTeamFieldGoalsMade - sTeamBlocks) / sTeamMinutes) * (((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) / ((sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted) * (1 - (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + (1 - (sOppTeamFieldGoalsMade / sOppTeamFieldGoalsAttempted)) * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive)))) * (1 - 1.07 * (sOppTeamReboundsOffensive / (sOppTeamReboundsOffensive + sTeamReboundsDefensive))) + ((sOppTeamTurnovers - sTeamSteals) / sTeamMinutes)) * sMinutes + (sFoulsPersonal / sTeamFoulsPersonal) * 0.4 * sOppTeamFreeThrowsAttempted * (1 - (sOppTeamFreeThrowsMade / sOppTeamFreeThrowsAttempted))^2))* sOppTeamMinutes) / (sTeamPossessions * sMinutes))) - (100 * (sOppTeamPoints / sTeamPossessions)))
sEfficiency decimal

Calculated Field

(sPoints+sAssists+sBlocks+sSteals+sFoulsDrawn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
sEfficiencyGameScore decimal

Calculated Field

sPoints + 0.4 * sFieldGoalsMade - 0.7 * sFieldGoalsAttempted - 0.4 * ( sFreeThrowsAttempted - sFreeThrowsMade) + 0.7 * sReboundsOffensive + 0.3 * sReboundsDefensive + sSteals + 0.7 * sAssists + 0.7 * sBlocks - 0.4 * sFoulsPersonal - sTurnovers
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectivePercentage decimal

Calculated Field

100 * (sFieldGoalsMade + 0.5 sThreePointersMade)/sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

sFoulsTechnical integer

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sMinus decimal

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensiveRating decimal

Calculated Field

100 * (( ((2 * (sFieldGoalsMade + 0.5 * sThreePointersMade) * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (2 * ((sTeamFieldGoalsMade - sFieldGoalsMade + 0.5 * (sTeamThreePointersMade - sThreePointersMade)) / (sTeamFieldGoalsMade - sFieldGoalsMade)) * 0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + sFreeThrowsMade) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) * (sTeamPoints / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * 0.4 * sTeamFreeThrowsAttempted))))/ ((((sFieldGoalsMade * (1 - 0.5 * ((sPoints - sFreeThrowsMade) / (2 * sFieldGoalsAttempted)) * ( ((sMinutes / (sTeamMinutes / 5)) * (1.14 * ((sTeamAssists - sAssists) / sTeamFieldGoalsMade))) + ((((sTeamAssists / sTeamMinutes) * sMinutes * 5 - sAssists) / ((sTeamFieldGoalsMade / sTeamMinutes) * sMinutes * 5 - sFieldGoalsMade)) * (1 - (sMinutes / (sTeamMinutes / 5))))))) + (0.5 * (((sTeamPoints - sTeamFreeThrowsMade) - (sPoints - sFreeThrowsMade)) / (2 * (sTeamFieldGoalsAttempted - sFieldGoalsAttempted))) * sAssists) + ((1 - ( 1 - (sFreeThrowsMade/sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted)) * (1 - (sTeamReboundsOffensive / (sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4)) * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) + (sReboundsOffensive * (((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))) / ((1 - (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive)))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)) + (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))) * (1 - ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers))))) * ((sTeamFieldGoalsMade + (1 - (1 - (sTeamFreeThrowsMade / sTeamFreeThrowsAttempted))^2) * sTeamFreeThrowsAttempted * 0.4) / (sTeamFieldGoalsAttempted + sTeamFreeThrowsAttempted * 0.4 + sTeamTurnovers)))) + ((sFieldGoalsAttempted - sFieldGoalsMade) * (1 - 1.07 * (sTeamReboundsOffensive / (sTeamReboundsOffensive + (sOppTeamReboundsTotal - sOppTeamReboundsOffensive))))) + (((1 - (sFreeThrowsMade / sFreeThrowsAttempted))^2) * 0.4 * sFreeThrowsAttempted) + sTurnovers))
sPlus decimal

sPlusMinusPoints decimal

Calculated Field

sPlus - sMinus
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sReboundsDefensive integer

sReboundsDefensivePercentage decimal

Calculated Field

100 * (sReboundsDefensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsDefensive + sOppTeamReboundsOffensive))
sReboundsOffensive integer

sReboundsOffensivePercentage decimal

Calculated Field

100 * (sReboundsOffensive * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsOffensive + sOppTeamReboundsDefensive))
sReboundsPercentage decimal

Calculated Field

100 * (sReboundsTotal * (sTeamMinutes /5)) / (sMinutes * (sTeamReboundsTotal + sOppTeamReboundsTotal))
sReboundsTotal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sStealsPercentage decimal

Calculated Field

100 * (sSteals * (sTeamMinutes / 5)) / (sMinutes * sOppTeamPossessions)
sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTrueShootingAttempts decimal

Calculated Field

sFieldGoalsAttempted + (0.44 * sFreeThrowsAttempted)
sTrueShootingPercentage decimal

Calculated Field

100 * sPoints / (2 * sTrueShootingAttempts )
sTurnovers integer

sTurnoversPercentage decimal

Calculated Field

100 * sTurnovers / ( sFieldGoalsAttempted + 0.44 * sFreeThrowsAttempted + sTurnovers)
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
status enum

Playing Status

ACTIVE
Active (Default)
INACTIVE
Inactive
notPlayingReason enum

The reason they did not play

DNP_COACH
DNP_INJURY
DNP_REST
DNP_PERSONAL
DNP_TRADE
DNP_TEAM_SUSPENSION
DNP_LEAGUE_SUSPENSION
DNP_HEALTH_AND_SAFETY_PROTOCOLS
DND_COACH
DND_INJURY
DND_REST
DND_PERSONAL
DND_TRADE
DND_LEAGUE_SUSPENSION
DND_TEAM_SUSPENSION
DND_HEALTH_AND_SAFETY_PROTOCOLS
NWT_COACH
NWT_INJURY
NWT_REST
NWT_PERSONAL
NWT_TRADE
NWT_LEAGUE_SUSPENSION
NWT_TEAM_SUSPENSION
NWT_SELF_ISOLATING
NWT_HEALTH_AND_SAFETY_PROTOCOLS
NWT_NOT_WITH_TEAM
INACTIVE_COACH
INACTIVE_INJURY
INACTIVE_REST
INACTIVE_PERSONAL
INACTIVE_TRADE
INACTIVE_SUSPENDED
INACTIVE_GLEAGUE
INACTIVE_GLEAGUE_ON_ASSIGNMENT
INACTIVE_GLEAGUE_TWOWAY
INACTIVE_TEAM_SUSPENSION
INACTIVE_LEAGUE_SUSPENSION
INACTIVE_SELF_ISOLATING
INACTIVE_HEALTH_AND_SAFETY_PROTOCOLS
INACTIVE_NOT_WITH_TEAM
notPlayingDescription string

Additional information for the reason they did not play

statistics object

The team's boxscore statistics

sAssists integer

sAssistsDefensive integer

sAssistsTurnoverRatio decimal

Calculated Field

sAssists/sTurnoversTotal
sBenchPoints integer

sBiggestLead integer

sBiggestLeadScore string

Format is: 22-45
sBiggestScoringRun integer

sBiggestScoringRunScore string

Format is: 22-45
sBlocks integer

sBlocksReceived integer

sDefensivePointsPerPossession decimal

Calculated Field

sPointsAgainst / sPossessions
sDefensiveRating decimal

Calculated Field

sPointsAgainst/sPossessions * 100
sEfficiency decimal

Calculated Field

(sPoints + sAssists + sBlocks + sSteals + sFoulsDrawn + sReboundsTotal) - (sTurnovers + sBlocksReceived + sFoulsPersonal + sFoulsTechnical + (sTwoPointersAttempted - sTwoPointersMade) + (sThreePointersAttempted - sThreePointersMade))
sFastBreakPointsAttempted integer

sFastBreakPointsMade integer

sFastBreakPointsPercentage decimal

Calculated Field

100 * sFastBreakPointsMade / sFastBreakPointsAttempted
sFieldGoalsAttempted integer

sFieldGoalsEffectiveAdjusted decimal

Calculated Field

(sFieldGoalsMade + (0.5 * sThreePointersMade)) / sFieldGoalsAttempted
sFieldGoalsMade integer

sFieldGoalsPercentage decimal

Calculated Field

100 * sFieldGoalsMade/sFieldGoalsAttempted
sFoulsOffensive integer

sFoulsDrawn integer

sFoulsPersonal integer

The sum of the personal fouls of all team members

sFoulsTeam integer

Calculated Field. sFoulsPersonal excluding offensive and double fouls

sFoulsPersonal - sFoulsOffensive
sFoulsTeamTechnical integer

All technical fouls assigned to staff or team

sFoulsTechnical integer

sFoulsTotal integer

TO BE REMOVED as the same as sFoulsPersonal. The sum of the personal fouls of all team members

sFreeThrowsAttempted integer

sFreeThrowsMade integer

sFreeThrowsPercentage decimal

Calculated Field

100 * sFreeThrowsMade / sFreeThrowsAttempted
sLeadChanges integer

sMinutes string

Format is: PTmmMss.ccS The format is ISO-8601, where mm represents the number of minutes, ss the number of seconds and cc the number of tenths of a second.
sMinutesCalculated string

Calculated value for whole player minutes

Format is: PTmmM The format is ISO-8601, where mm represents the number of minutes.
sOffensivePointsPerPossession decimal

Calculated Field

sPoints / sPossessions
sOffensiveRating decimal

Calculated Field

sPoints * 100 / sPossessions
sPace decimal

Calculated Field

(NumberOfPeriods * PeriodLength ) * (( sPossessions + sOppPossessions ) / ( 2 * ( sMinutes /5 )))
sPoints integer

Calculated Field

(sTwoPointersMade * 2) + (sThreePointersMade * 3) + sFreeThrowsMade
sPointsAgainst integer

Calculated Field

Opposing team - sPoints
sPointsFastBreak integer

sPointsFromTurnovers integer

sPointsInThePaint integer

sPointsInThePaintAttempted integer

sPointsInThePaintMade integer

sPointsInThePaintPercentage decimal

Calculated Field

100 * sPointsInThePaintMade / sPointsInThePaintAttempted
sPointsSecondChance integer

sPossessions decimal

Calculated Field

FieldGoals.AttemptsCount + TotalTurnovers + FreeThrows.AttemptsCount * 0.44 - OffensiveReboundsCount
sPossessionsOpponent decimal

Calculated Field

sOppPossessions
sReboundsDefensive integer

sReboundsOffensive integer

sReboundsPersonal integer

Calculated Field

sReboundsOffensive + sReboundsDefensive
sReboundsTeam integer

sReboundsTeamDefensive integer

sReboundsTeamOffensive integer

sReboundsTotal integer

Calculated Field

sReboundsPersonal + sReboundsTeam
sSecondChancePointsAttempted integer

sSecondChancePointsMade integer

sSecondChancePointsPercentage decimal

Calculated Field

100 * sSecondChancePointsMade / sSecondChancePointsAttempted
sSteals integer

sThreePointersAttempted integer

sThreePointersMade integer

sThreePointersPercentage decimal

Calculated Field

100 * sThreePointersMade / sThreePointersAttempted
sTimeLeading string

sTimesTied integer

sTransitionDefence decimal

Calculated Field

OppsPointsFastBreak/OppsSteals
sTransitionOffence decimal

Calculated Field

sPointsFastBreak / sSteals
sTurnovers integer

sTurnoversTeam integer

sTurnoversTotal integer

Calculated Field

sTurnovers + sTurnoversTeam
sTwoPointersAttempted integer

sTwoPointersMade integer

sTwoPointersPercentage decimal

Calculated Field

100 * sTwoPointersMade / sTwoPointersAttempted
sTeamFieldGoalAttempts integer