Frequently asked questions for NBA v8
Click on the categories below or browse questions on the right panel.
Categories
.
Coverage
How is each NBA game covered?
Coverage information for the NBA can be found here.
How do you handle the In-Season and Play-In Tournaments?
See our In-Season Tournament and Play-In Tournament documentation for all info.
Do you cover the NBA Summer League?
The Summer League is not covered in the NBA API. All Summer League tournaments are available under sr:competition:15822 in the Global Basketball API.
Integration
Are simulations available for this API?
Yes! You can replay past games as though they were live using our on-demand Simulations service.
What format are date fields presented in?
Date values are presented in the ISO 8601 standard format.
Timestamp fields are in UTC. These could include scheduled start times or play-by-play event timestamps. Examples: scheduled="2024-02-11T23:30:00+00:00", created_at="2024-02-11T23:43:20+00:00"
Date-only fields reflect local league convention and are not UTC-adjusted. These could include season start dates and birth dates. Examples: start_date="2024-08-16", date_of_birth="1984-09-22"
How do I locate the TTL (Time to Live)/cache on an API endpoint?
The cache (in seconds) can be accessed in the returned header information on each RESTful API call, under cache-control.
ex. cache-control: max-age=1, public, s-maxage=1 or
cache-control: public, must-revalidate, max-age=120
The TTL may adjust when an event is live for some game-centric endpoints. This information is available for each endpoint on our developer portal.
Game & Series Statuses
What game statuses can I expect to see and what are their definitions?
Here are the valid game statuses and their definitions:
scheduled- The game is scheduled to occur.created– The game has been created and we have begun logging information.inprogress– The game is in progress.halftime- The game is currently at halftime.complete– The game is over, but stat validation is not complete.closed– The game is over and the stats have been validated.cancelled– The game has been cancelled. No makeup game will be played as a result.delayed– The start of the game is currently delayed or the game has gone from in progress to delayed for some reason.postponed– The game has been postponed, to be made up at another day and time. Once the makeup game is announced, a new game and ID will be created and scheduled on the announced makeup date.time-tbd– The game has been scheduled, but a time has yet to be announced.if-necessary– The game will be scheduled if it is required.unnecessary– The series game was scheduled to occur, but will not take place due to one team clinching the series early.
What series statuses can I expect to see and what are their definitions?
scheduled– The series is scheduled to occur.inprogress– The series is in progress.closed– The series is over.
Data Workflow
How can I find timings for data entry updates?
Our NBA Data Entry Workflow section covers data availability updates. This includes updates for transactions, rankings, stat validation, and more.
Player Statuses
What player statuses can I expect to see?
ACT– The player is on the team’s active rosterSUS– The player is suspendedIR– The player is on injured reserveTWO-WAY- The player is on a two-way contractNWT– The player is no longer with the teamFA– Free AgentRET– RetiredDUP– DuplicateTEN-DAY– The player is on a ten-day contract
Why is a player missing a player.id in a game?
player.id in a game?Player id is an optional attribute and may be absent for a period of time in a game.
In some instances (mostly preseason games) players will appear on a roster who are previously unmapped in Sportradar's database. In these instances, a player may be without an id for a period of time.
This could also occur in a regular season game, but will be resolved prior to game start.
Why does a player have a status of active=true alongside a not_playing_reason?
active=true alongside a not_playing_reason?Players can be declared as part of the 13-person active roster for a game but still not participate. Consider Caleb Martin as an example:
<player full_name="Caleb Martin" jersey_number="16" id="566685c7-ff63-439a-8888-5278904835fa" first_name="Caleb" last_name="Martin" position="F" primary_position="SF" active="true" not_playing_reason="DND - Injury/Illness" not_playing_description="Right Hip; Strain" on_court="false" sr_id="sr:player:1166892" reference="1628997">In this instance, Martin's status is set to active="true", indicating he is one of the 13 designated active players for the game. However, his not_playing_reason is DND - Injury/Illness, meaning he did not dress for the game due to an injury.
For more information on in-game player statuses and rosters see our NBA Integration Guide.
Do in-game injuries affect player status updates?
In-game injuries do not affect player status updates.
Player Positions
What player positions can I expect to see?
NACC-FFF-CF-GGG-F
What player primary positions can I expect to see?
NACPFPGSFSG
<player id="d0c7135a-1aea-40cb-ba20-df656de71749" status="ACT" full_name="Anthony Edwards"
first_name="Anthony" last_name="Edwards" abbr_name="A.Edwards" height="76" weight="225"
position="G" primary_position="SG" Schedules
How do I pull in schedule data for future games in which teams are not yet known?
This API features a TBD team used for every entry in to-be-determined matchups. This virtual team will have its own unique ID specific to this API.
Find the TBD team in the Teams endpoint.
<team id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" name="TBD" alias="TBD" market="Team"/>
The matchups will appear as below in the Schedule endpoints.
<series id="0f81bb4d-1d0c-4a3b-82de-507534154095" title="NBA Finals - TBD vs TBD" round="4" start_date="2024-06-06" status="scheduled">
<games>
<game id="342f103b-0fd7-47ac-a84d-1391e3605e96" status="time-tbd" title="Game 1" coverage="full" scheduled="2024-06-06T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
<time_zones/>
<home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</away>
</game>
<game id="71d8d5fc-6836-43c1-85a0-61a828296a06" status="time-tbd" title="Game 2" coverage="full" scheduled="2024-06-09T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
<time_zones/>
<home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</away>
</game>
<game id="50b170b9-37e2-47d0-b517-e56ebb960cba" status="time-tbd" title="Game 3" coverage="full" scheduled="2024-06-12T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
<time_zones/>
<home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</away>
</game>
<game id="8e94445c-c223-4a49-a759-0b651e440b95" status="time-tbd" title="Game 4" coverage="full" scheduled="2024-06-14T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
<time_zones/>
<home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</away>
</game>
<game id="aaa3ddb3-dd1b-459e-a686-d2bfc4408881" status="if-necessary" title="Game 5 (if necessary)" coverage="full" scheduled="2024-06-17T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
<time_zones/>
<home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</away>
</game>
<game id="7c16f1ec-6629-4675-aaaa-2a31835862a6" status="if-necessary" title="Game 6 (if necessary)" coverage="full" scheduled="2024-06-20T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
<time_zones/>
<home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</away>
</game>
<game id="09129676-2320-4151-976d-713ea785d97b" status="if-necessary" title="Game 7 (if necessary)" coverage="full" scheduled="2024-06-23T17:00:00+00:00" neutral_site="false" track_on_court="true" home_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6" away_team="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
<time_zones/>
<home name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</home>
<away name="Team TBD" alias="TBD" id="907dc4e5-6957-4d19-b7d4-b1b7003b91e6">
</away>
</game>
</games>
</series>
"series": [
{
"id": "0f81bb4d-1d0c-4a3b-82de-507534154095",
"title": "NBA Finals - TBD vs TBD",
"round": 4,
"start_date": "2024-06-06",
"status": "scheduled",
"participants": [],
"games": [
{
"id": "342f103b-0fd7-47ac-a84d-1391e3605e96",
"status": "time-tbd",
"title": "Game 1",
"coverage": "full",
"scheduled": "2024-06-06T17:00:00+00:00",
"neutral_site": false,
"track_on_court": true,
"home": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
},
"away": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
}
},
{
"id": "71d8d5fc-6836-43c1-85a0-61a828296a06",
"status": "time-tbd",
"title": "Game 2",
"coverage": "full",
"scheduled": "2024-06-09T17:00:00+00:00",
"neutral_site": false,
"track_on_court": true,
"home": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
},
"away": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
}
},
{
"id": "50b170b9-37e2-47d0-b517-e56ebb960cba",
"status": "time-tbd",
"title": "Game 3",
"coverage": "full",
"scheduled": "2024-06-12T17:00:00+00:00",
"neutral_site": false,
"track_on_court": true,
"home": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
},
"away": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
}
},
{
"id": "8e94445c-c223-4a49-a759-0b651e440b95",
"status": "time-tbd",
"title": "Game 4",
"coverage": "full",
"scheduled": "2024-06-14T17:00:00+00:00",
"neutral_site": false,
"track_on_court": true,
"home": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
},
"away": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
}
},
{
"id": "aaa3ddb3-dd1b-459e-a686-d2bfc4408881",
"status": "if-necessary",
"title": "Game 5 (if necessary)",
"coverage": "full",
"scheduled": "2024-06-17T17:00:00+00:00",
"neutral_site": false,
"track_on_court": true,
"home": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
},
"away": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
}
},
{
"id": "7c16f1ec-6629-4675-aaaa-2a31835862a6",
"status": "if-necessary",
"title": "Game 6 (if necessary)",
"coverage": "full",
"scheduled": "2024-06-20T17:00:00+00:00",
"neutral_site": false,
"track_on_court": true,
"home": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
},
"away": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
}
},
{
"id": "09129676-2320-4151-976d-713ea785d97b",
"status": "if-necessary",
"title": "Game 7 (if necessary)",
"coverage": "full",
"scheduled": "2024-06-23T17:00:00+00:00",
"neutral_site": false,
"track_on_court": true,
"home": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
},
"away": {
"name": "Team TBD",
"alias": "TBD",
"id": "907dc4e5-6957-4d19-b7d4-b1b7003b91e6"
}
}
]
},
Make note of the status attribute to determine whether the time of the game is known. A status of time-tbd indicates the game has been scheduled, but a time has yet to be announced. A status of scheduled indicates the game time is known.
Injuries
What player injury statuses can I expect to see?
UnknownDay to DayOutOut for SeasonOut Indefinitely
<injuries>
<injury id="1805a44b-1b17-42e7-a26a-5270882d4248" comment="McLaughlin did not play in Wednesday's (Nov.8) game against New Orleans."
desc="Knee" status="Day To Day" start_date="2023-11-07" update_date="2023-11-08"/>
</injuries>"injuries": [
{
"id": "1805a44b-1b17-42e7-a26a-5270882d4248",
"comment": "McLaughlin did not play in Wednesday's (Nov.8) game against New Orleans.",
"desc": "Knee",
"status": "Day To Day",
"start_date": "2023-11-07",
"update_date": "2023-11-08"
}
]
What are the possible values for player – not_playing_reason?
player – not_playing_reason?Click to view all valid reasons
- DND - Coaches Decision
- DND - Concussion Protocol
- DND - G League - On Assignment
- DND - G league
- DND - G league - Two-Way
- DND - Health and Safety Protocols
- DND - Injury/Illness
- DND - League Suspension
- DND - Not With Team
- DND - Return to Competition Reconditioning
- DND - Suspended
- DND - Team Suspension
- DND - Trade Pending
- DND – Ineligible to Play
- DND – Personal
- DND – Rest
- DNP - Concussion Protocol
- DNP - G LEAGUE - Two-Way
- DNP - G League
- DNP - G League - On Assignment
- DNP - Health and Safety Protocols
- DNP - League Suspension
- DNP - Not With Team
- DNP - Return to Competition Reconditioning
- DNP - Team Suspension
- DNP - Trade Pending
- DNP – Coach's Decision
- DNP – Ineligible to Play
- DNP – Injury/Illness
- DNP – Personal
- DNP – Rest
- DNP – Suspended
- Inactive - Coaches Decision
- Inactive - G League - On Assignment
- Inactive - G League - Two-Way
- Inactive - G League Team
- Inactive - Health and Safety Protocols
- Inactive - Injury/Illness
- Inactive - League Suspension
- Inactive - Not With Team
- Inactive - Not With Team Return To Competition Reconditioning
- Inactive - Self Isolating
- Inactive - Team Suspension
- Inactive - Trade Pending
- Inactive – Concussion Protocol
- Inactive – Ineligible to Play
- Inactive – Personal
- Inactive – Pregnancy Childbirth
- Inactive – Rest
- Inactive – Return to Competition Reconditioning
- Inactive – Suspended
- NWT - Coaches Decision
- NWT - Concussion Protocol
- NWT - G League
- NWT - G League - On Assignment
- NWT - G League - Two-Way
- NWT - Health and Safety Protocols
- NWT - Injury/Illness
- NWT - League Suspension
- NWT - Not With Team
- NWT - Return to Competition Reconditioning
- NWT - Self Isolating
- NWT - Suspended
- NWT - Team Suspension
- NWT - Trade Pending
- NWT – Ineligible to Play
- NWT – Personal
- NWT – Rest
- NWT- Returning to Competition Reconditioning
<player full_name="Trey Murphy III" jersey_number="25" id="51b62fe8-1e5c-4c65-8ad3-2ad06e749b70"
first_name="Trey" last_name="Murphy III" position="G-F" primary_position="SF" name_suffix="III"
not_playing_reason="Inactive - Injury/Illness" not_playing_description="Left Knee; Partial Meniscectomy "
on_court="false" sr_id="sr:player:2196318" reference="1630530">{
"full_name": "Wendell Moore Jr.",
"jersey_number": "7",
"id": "e23521cd-8e92-4701-b9e7-dc4acd21dfec",
"first_name": "Wendell",
"last_name": "Moore Jr.",
"position": "G",
"primary_position": "SG",
"name_suffix": "Jr.",
"not_playing_reason": "Inactive - G League - On Assignment",
"on_court": false,
"sr_id": "sr:player:1797216",
"reference": "1631111",
"statistics": {}
},When do DND (Did Not Dress) and DNP (Did Not Play) populate?
DND (Did Not Dress) and DNP (Did Not Play) populate?DNDstatus populates when the initial game rosters are setDNPstatus populates after the game is complete
<player full_name="Devonte' Graham" jersey_number="4" id="604571ce-5be8-4938-b8fb-945ff8d15f8d"
first_name="Devonte'" last_name="Graham" position="G" primary_position="PG" active="true"
not_playing_reason="DNP – Coach's Decision" on_court="false" sr_id="sr:player:1497683"
reference="1628984">{
"full_name": "Devonte' Graham",
"jersey_number": "4",
"id": "604571ce-5be8-4938-b8fb-945ff8d15f8d",
"first_name": "Devonte'",
"last_name": "Graham",
"position": "G",
"primary_position": "PG",
"active": true,
"not_playing_reason": "DNP – Coach's Decision",
"on_court": false,
"sr_id": "sr:player:1497683",
"reference": "1628984",
}See this guide for more on integrating injury data into your application.
Transactions
What are the valid transaction_code and transaction_type values?
transaction_code and transaction_type values?ACT-ActivatedMIN-Assigned to MinorsCL-ClaimedCEXP-Contract ExpiredCEXT-Contract ExtensionDEC-DeceasedFA-Declared Free AgencyDRA-DraftedSUS-League SuspensionABS-Leave of AbsenceNWT-Not With TeamTRAN-Other TransactionINACT-Placed on Inactive ListRSGN-Re-SignedREC-Recalled from MinorsRSUS-Reinstated from SuspensionREL-ReleasedRET-RetiredEDRA-Selected in Expansion DraftSGN-Signed10D-Signed to 10-Day Contract10D2-Signed to Second 10-Day ContractTSUS-Team SuspensionTRD-TradedWA-Waived
For more on integration transaction data into your application, see this guide.
Shot Types
What shot type descriptions can I expect to see?
Jump Shot (This is the only shot type for 3-point attempts)
bankdrivingdriving bankdriving floatingdriving floating bankturnaroundturnaround bankturnaround fadeawayturnaround fadeaway bankfloatingfadeawayfadeaway bankstepbackstepback bankpulluppullup bankrunningrunning pullup
Layup
alley-oopcuttingcutting finger rolldrivingdriving reversedriving finger rollfinger rollputbackreverserunningrunning reverserunning finger rollrunning alley-ooptip
Dunk
alley-ooptipdrivingdriving reverseputbackrunningreverserunning reverserunning alley-oopcutting
Tip Shot
Hook
bankdrivingdriving bankturnaroundturnaround bank
Event Types
What are the valid events types tracked in the Play-by-Play endpoint?
challengereview- Instant replay (challenge: outcome)challengetimeout- team name challenge timeoutclearpathfoul- charged_to clear path foul (drawn_by draws the foul)deadball- given_to rebound (deadball)defaultviolation- charged_to violationdefensivegoaltending- charged_to defensive goaltending violationdelay- charged_to delay of game violationdoublelane- charged_to double lane violationejection- given_to ejected from the game (ejection_type)endperiod- End of nth period/halfflagrantone- charged_to flagrant 1 (drawn_by draws the foul)flagranttwo- charged_to flagrant 2 (drawn_by draws the foul)freethrowmade- taken_by makes free_throw_type free throw attemptfreethrowmiss- taken_by misses free_throw_type free throw attempt (charged_to lane_violation)heave- team misses heave shotjumpball- Jump ball reason. possessor vs challenger (possession gains possession)jumpballviolation- charged_to jump ball violationkickball- charged_to kicked ball violationlane- charged_to lane violationlineupchange- team_name lineup change (players)offensivefoul- charged_to offensive foul (foul_type_desc) (drawn_by draws the foul)officialtimeout- Official timeoutopeninbound- Open inbound team_nameopentip- home vs away (possession gains possession)periodstart- Start of nth period/halfpersonalfoul- charged_to personal foul (foul_type_desc) (drawn_by draws the foul)possession- possession gain possessionrebound- given_to offensive/defensive reboundrequestreview- Instant replay (request)resettimeout* - team_name reset timeoutreview- Play review (reason, outcome)shootingfoul- charged_to shooting foul (drawn_by draws the foul)stoppage- Stoppage (reason)teamtimeout- team_name duration second timeouttechnicalfoul- charged_to technical foul (foul_type_desc)technicalfoulnonunsportsmanlike- charged_to technical foul (foul_type_desc)threepointmade- taken_by makes three point shot_type_desc shot_type (assisted_by assists)threepointmiss- taken_by misses three point shot_type_desc shot_type or blocked_by blocks taken_by three point shot_type_desc shot_typeturnover- charged_to turnover (turnover_type_desc_)tvtimeout- TV Timeouttwopointmade- taken_by makes two point shot_type_desc shot_type (assisted_by assists)twopointmiss- taken_by misses two point shot_type_desc shot_type or blocked_by blocks taken_by two point shot_type_desc shot_type
*WNBA only
<event id="b2979d2c-f1e5-4871-bd19-570b14102491" clock="11:42" updated="2023-10-25T01:55:30Z"
wall_clock="2023-10-24T23:36:13Z" sequence="1698190573000" home_points="0" away_points="2"
clock_decimal="11:42" number="7" event_type="twopointmade">
<description>Anthony Davis makes two point dunk (D'Angelo Russell assists)</description> <event id="fa7ebeaf-b05f-47f1-a7ce-f5976048d07c" clock="9:16" updated="2023-10-25T01:55:32Z"
wall_clock="2023-10-24T23:39:22Z" sequence="1698190762600" home_points="9" away_points="10"
clock_decimal="9:16" number="30" event_type="freethrowmiss" attempt="1 of 1">
<description>Nikola Jokic misses regular free throw 1 of 1</description><event id="3a67d3c2-3dfb-4c34-bf77-6f5db86c548e" clock="3:52" updated="2023-10-25T01:55:50Z"
wall_clock="2023-10-25T00:22:22Z" sequence="1698193342400" home_points="54" away_points="42"
clock_decimal="3:52" number="268" event_type="personalfoul">
<description>Rui Hachimura personal foul (Loose ball) (Nikola Jokic draws the foul)</description>What are the possible values for event category used in the Push Events feed?
freethrowfreethrow,scorefoulfoul,flagrantfoul,warninglineupchangeperiod,stoppageperiod,stoppage,possessionpossessionshotshot,scorestoppagetimeout,stoppageturnoverviolation
"locale":"en",
"metadata":{
"league":"NBA",
"match":"sd:match:d8539eb6-3e27-40c8-906f-9cd1736321d8",
"status":"inprogress",
"team":"sd:team:583ecefd-fb46-11e1-82cb-f4ce4684ea4c,sr:team:3410",
"players":"sd:player:68b7aac9-02fd-4bd8-b10c-6702d2c5eb98,sd:player:ffa9a64f-d624-4033-bd23-59dcfd805175,sd:player:c7a6b9c5-c600-49d9-b7be-e2b12b464e40,sd:player:c179fb5c-9845-4e37-aef7-6e00d97548eb,sd:player:65700e81-3aa0-49a9-8a94-004f2cfb64e5,sd:player:266cd359-f378-45c6-957e-6e21378e5219,sd:player:906578a8-c01e-4799-a972-2b47e02108b9,sd:player:1c9a1c2e-3e3b-439e-8d72-0b41b17e4ba9,sd:player:c978afe7-cf22-45fc-8d0f-da8f867eb5ee,sd:player:931f7ae2-4ce4-49e6-a3ad-e24790469fec",
"event_type":"threepointmade",
"event_category":"shot,score",
"locale":"en",
"operation":"update",
"version":"v7"
}What is a heave shot and how does it behave in the API?
Heave Shot Definition:
- A “heave” shot is defined as a long-distance shot taken at the end of a quarter or half, typically when time is expiring.
- If the shot is unsuccessful (missed), it does not count as a field goal attempt for the individual player. Instead, it is logged as a team missed field goal attempt.
- If the shot is successful (made), it is credited as a normal field goal attempt for the player and team.
Play-by-Play Sample:
Game ID c4b777f4-cc46-4593-908b-8fb85a58b089 includes a good sample of heave shot behavior in the NBA API.
Note that, while the event is recorded as a team shot in the description field (Grizzlies miss heave shot), there is no corresponding statistics object which adds a shot attempt to the team for the game.
<event id="9492ef09-dd7c-496c-9aac-aa37486e896e" clock="00:00" updated="2025-10-16T01:37:08Z" wall_clock="2025-10-16T01:27:48Z" sequence="1760578068100" home_points="145" away_points="116" clock_decimal="00:00.60" created="2025-10-16T01:36:24Z" number="782" event_type="heave">
<description>Grizzlies miss heave shot</description>
<qualifiers>
<qualifier name="fromturnover"/>
</qualifiers>
<attribution name="Grizzlies" market="Memphis" id="583eca88-fb46-11e1-82cb-f4ce4684ea4c" team_basket="left" sr_id="sr:team:3415" reference="1610612763"/>
<location coord_x="455" coord_y="38" action_area="outsideright"/>
<on_court>
<home name="Hornets" market="Charlotte" id="583ec97e-fb46-11e1-82cb-f4ce4684ea4c" sr_id="sr:team:3430" reference="1610612766">
<player full_name="Liam McNeeley" jersey_number="33" id="fa142a43-00a4-4e79-be7b-d469c09dfdd0" sr_id="sr:player:2865129" reference="1642862"/>
<player full_name="KJ Simpson" jersey_number="25" id="8f6ef350-1d9a-4eda-bee9-294d0e9e64db" sr_id="sr:player:1163986" reference="1642354"/>
<player full_name="Sion James" jersey_number="4" id="fba3e1cf-82e4-412a-b8db-148f9b93ebf3" sr_id="sr:player:2079995" reference="1642883"/>
<player full_name="Pat Connaughton" jersey_number="21" id="298852ca-299d-4cb9-a9e5-6ac909582f78" sr_id="sr:player:852114" reference="1626192"/>
<player full_name="Moussa Diabate" jersey_number="14" id="78dc76b4-a810-4e4a-9418-5cf3fa03582f" sr_id="sr:player:2216782" reference="1631217"/>
</home>
<away name="Grizzlies" market="Memphis" id="583eca88-fb46-11e1-82cb-f4ce4684ea4c" sr_id="sr:team:3415" reference="1610612763">
<player full_name="Vince Williams Jr." jersey_number="5" id="0e5eb37e-e112-4587-98d8-8a9b46254f28" sr_id="sr:player:1591504" reference="1631246"/>
<player full_name="Lawson Lovering" jersey_number="34" id="b72c0b0f-48df-4724-920f-efde15dce017" sr_id="sr:player:2217844" reference="1643133"/>
<player full_name="Cam Spencer" jersey_number="24" id="9e51be65-7d39-433c-8d8c-de896da6267d" sr_id="sr:player:1876310" reference="1642285"/>
<player full_name="Cedric Coward" jersey_number="23" id="9f666f68-046c-4315-a89d-d9ec2e9a852d" sr_id="sr:player:2252757" reference="1642907"/>
<player full_name="GG Jackson" jersey_number="45" id="28549c0f-c6e6-4757-a515-dbc2e1b78007" sr_id="sr:player:2438851" reference="1641713"/>
</away>
</on_court>
</event>Standings & Rankings
What are the valid clinched playoff values for a team in the Rankings endpoint?
clinched playoff values for a team in the Rankings endpoint?Here is a list of the clinched values and their definitions:
conference– The team has clinched the best record home court advantage for the playoffsdivision– The team has clinched their divisiondivision_playoff_berth– The team has clinched their division and a playoff bertheliminated– The team has been eliminated from playoff contentionplayoff_berth– The team has clinched a playoff berthplay_in_berth– The team has clinched at least the play-in game
<division id="582d6502-9a93-4a8d-8785-69374d732875" name="Atlantic" alias="ATLANTIC">
<team id="583eccfa-fb46-11e1-82cb-f4ce4684ea4c" name="Celtics" market="Boston" sr_id="sr:team:3422" reference="1610612738">
<rank conference="1" division="1" clinched="conference"/>
</team>
<team id="583ec70e-fb46-11e1-82cb-f4ce4684ea4c" name="Knicks" market="New York" sr_id="sr:team:3421" reference="1610612752">
<rank conference="2" division="2" clinched="playoff_berth"/>
</team>
<team id="583ec87d-fb46-11e1-82cb-f4ce4684ea4c" name="76ers" market="Philadelphia" sr_id="sr:team:3420" reference="1610612755">
<rank conference="7" division="3" clinched="playoff_berth"/>
</team>
<team id="583ec9d6-fb46-11e1-82cb-f4ce4684ea4c" name="Nets" market="Brooklyn" sr_id="sr:team:3436" reference="1610612751">
<rank conference="11" division="4" clinched="eliminated"/>
</team>
<team id="583ecda6-fb46-11e1-82cb-f4ce4684ea4c" name="Raptors" market="Toronto" sr_id="sr:team:3433" reference="1610612761">
<rank conference="12" division="5" clinched="eliminated"/>
</team>
</division>{
"id": "582d6502-9a93-4a8d-8785-69374d732875",
"name": "Atlantic",
"alias": "ATLANTIC",
"teams": [
{
"id": "583eccfa-fb46-11e1-82cb-f4ce4684ea4c",
"name": "Celtics",
"market": "Boston",
"sr_id": "sr:team:3422",
"reference": "1610612738",
"rank": {
"conference": 1,
"division": 1,
"clinched": "conference"
}
},
{
"id": "583ec70e-fb46-11e1-82cb-f4ce4684ea4c",
"name": "Knicks",
"market": "New York",
"sr_id": "sr:team:3421",
"reference": "1610612752",
"rank": {
"conference": 2,
"division": 2,
"clinched": "playoff_berth"
}
},
{
"id": "583ec87d-fb46-11e1-82cb-f4ce4684ea4c",
"name": "76ers",
"market": "Philadelphia",
"sr_id": "sr:team:3420",
"reference": "1610612755",
"rank": {
"conference": 7,
"division": 3,
"clinched": "playoff_berth"
}
},
{
"id": "583ec9d6-fb46-11e1-82cb-f4ce4684ea4c",
"name": "Nets",
"market": "Brooklyn",
"sr_id": "sr:team:3436",
"reference": "1610612751",
"rank": {
"conference": 11,
"division": 4,
"clinched": "eliminated"
}
},
{
"id": "583ecda6-fb46-11e1-82cb-f4ce4684ea4c",
"name": "Raptors",
"market": "Toronto",
"sr_id": "sr:team:3433",
"reference": "1610612761",
"rank": {
"conference": 12,
"division": 5,
"clinched": "eliminated"
}
}
]
},Why do early-season standings list teams that haven’t played yet above teams that are 0-1?
We follow the official NBA standings ordering. In the NBA’s published standings (including preseason/early regular season), teams with no games played are listed ahead of teams with a loss.
Court Dimensions
What is the scale of the X Y coordinates?
The court we use is 1128 by 600. The scale is in inches.
What x/y vertices define action areas in the x/y coordinate graph?
A list of areas is included below. Note that these vertices are for the left side of the court. For the right side, we use the following calculation, where length=1128 and width=600:
- right-court-point = (length - x, width - y)
- left_basket=[63, 300]
- right_basket=[1065, 300]
Areas:
- underbasket: [ 48, 252 ], [ 77, 258 ], [ 111, 300 ], [ 77, 342 ], [ 48, 348 ]
- inthepaint: [ 0, 204 ], [ 228, 204 ], [ 228, 396 ], [ 0, 396 ]
- insiderightwing: [ 0, 36 ], [ 115, 36 ], [ 77, 204 ], [ 0, 204 ]
- insideright: [ 115, 36 ], [ 225, 87 ], [ 294, 161 ], [ 225, 204 ], [ 77, 204 ]
- insidecenter: [ 225, 204 ], [ 294, 161 ], [ 324, 218 ], [ 337, 300 ], [ 324, 382 ], [ 294, 439 ], [ 225, 396 ]
- insideleft: [ 115, 564 ], [ 225, 513 ], [ 294, 439 ], [ 225, 396 ], [ 77, 396 ]
- insideleftwing: [ 0, 564 ], [ 115, 564 ], [ 77, 396 ], [ 0, 396 ]
- outsiderightwing: [ 0, 0 ], [ 122, 0 ], [ 115, 36 ], [ 0, 36 ]
- outsideright: [ 122, 0 ], [ 492, 0 ], [ 492, 69 ], [ 324, 218 ], [ 294, 161 ], [ 225, 87 ], [ 115, 36 ]
- outsidecenter: [ 324, 216 ], [ 492, 69 ], [ 492, 531 ], [ 324, 382 ], [ 337, 300 ]
- outsideleft: [ 122, 600 ], [ 492, 600 ], [ 492, 531 ], [ 324, 382 ], [ 294, 439 ], [ 225, 513 ], [ 115, 564 ]
- outsideleftwing: [ 0, 600 ], [ 122, 600 ], [ 115, 564 ], [ 0, 564 ]
- backcourt: [ 492, 0 ], [ 564, 0 ], [ 564, 600 ], [ 492, 600 ]
Why does the team_basket attribution in the Play-by-Play endpoint not match the basket orientation (left vs. right) in the broadcast or game tracking?
team_basket attribution in the Play-by-Play endpoint not match the basket orientation (left vs. right) in the broadcast or game tracking?Our team_basket attribution is set to match the orientation of the local television broadcast, which is on the opposite side of the scorer's table. The team_basket attribution may not match the orientation used by the particular broadcast or game tracker that you are viewing.
If you want to provide a perspective from the scorer's table, you will have to map the coordinates so that the coordinates attributed to left side of the court are attributed to the right side of the court on your end (and vice versa).
Play-by-Play Types
What are the valid turnover type descriptions?
-
Traveling -
Bad Pass -
Lost Ball -
Carrying -
Palming -
Out of BoundsLost BallStepBad Pass
-
Double Dribble -
Offensive Goaltending -
3-second violation -
5-second violation -
8-second violation -
10-second violation -
Back Court Violation -
Shot Clock Violation -
Lane Violation -
Illegal Assist -
Illegal Screen -
Turnover -
Too Many Players -
Excess Timeout -
Basket from Below -
Swinging Elbows -
Offensive Foul -
Punched Ball -
Opposite Basket -
Jump Ball Violation -
Inbound -
Discontinue Dribble -
5-second Violation Inbound -
Kicked ball Violation -
5-second Violation Back to the Basket
<event id="5f7be1b5-b4a2-4da9-a0d7-053f24dc8345" clock="2:14" updated="2023-10-25T01:55:52Z"
wall_clock="2023-10-25T00:25:28Z" sequence="1698193528300" home_points="58" away_points="48"
clock_decimal="2:14" number="289" event_type="turnover" turnover_type="Bad Pass">
<description>Austin Reaves turnover (bad pass) (Michael Porter Jr. steals)</description>{
"id": "f359da78-1de6-493d-a868-a1fa9d084edd",
"clock": "8:36",
"updated": "2023-10-25T01:55:59Z",
"description": "Nuggets turnover (shot clock violation)",
"wall_clock": "2023-10-25T00:58:14Z",
"sequence": 1698195494100,
"home_points": 70,
"away_points": 62,
"clock_decimal": "8:36",
"number": 372,
"event_type": "turnover",
"turnover_type": "Shot Clock Violation",
"qualifiers": [
{
"qualifier": "team"
}
],What are the valid stoppage reasons I can expect to see?
Out of BoundsEquipment MalfunctionBlood RuleCourt CleanupInjuryOther
{
"id": "c4febe02-deb8-4855-867e-ee91e1d26147",
"clock": "00:09",
"updated": "2023-10-25T01:56:08Z",
"description": "Stoppage (Out of bounds)",
"wall_clock": "2023-10-25T01:17:27Z",
"sequence": 1698196647900,
"home_points": 87,
"away_points": 80,
"clock_decimal": "00:09.80",
"number": 486,
"event_type": "stoppage",
"on_court": {
"home": {
"name": "Nuggets",What are the valid free throw types I can expect to see?
RegularTechnicalFlagrantClear Path
<freethrow made="true" free_throw_type="regular" points="1">What are the possible values for statistics type used in the Push Events feed?
fieldgoalassistblockattemptblockedreboundfreethrowturnoverstealpersonalfoulflagrantfoultechnicalfoulejectionfouldrawnoffensivefoul
What are the valid qualifier names?
2ndchancefastbreakfromturnoverdefensivegoaltendingpointsinthepaintfastbreakfromturnoverteamdeadball1freethrow2freethrowmandatory
<event id="bab1f014-4aa0-43d9-a6ca-ae52620b4165" clock="2:24" updated="2023-11-09T02:33:19Z"
wall_clock="2023-11-09T01:00:33Z" sequence="1699491633100" home_points="55" away_points="51"
clock_decimal="2:24" number="295" event_type="rebound">
<description>Pacers offensive rebound</description>
<qualifiers>
<qualifier name="deadball"/>
<qualifier name="team"/>
</qualifiers>Foul Types
What are the valid foul type descriptions I can expect to see?
ChargeOff the BallBlockTakeDoubleShootingClear PathLoose BallBlockingPlayer ControlShooting blockElbowingPunchingFlagrant OneFlagrant TwoAway from PlayUnsportsmanlike ConductRim HangingDelay of GameTauntingIndirectExcess TimeoutToo Many PlayersInboundDefensive Three SecondFlopping
What are the possible Unsportsmanlike and Non-Unsportsmanlike technical foul descriptions?
Non-Unsportsmanlike (Player):
Non-unsportsmanlikeRim HangingDefensive 3 secondsFlopping
Non-Unsportsmanlike (Team):
DelayIndirectExcess TimeoutToo many playersBenchTeam
Unsportsmanlike (Player):
- Null (empty)
DoubleTaunting
What ejection types can I expect to see?
TechnicalSecond TechnicalSecond Flagrant Type 1Flagrant Type 2Other
All-Star Game
How do I locate the All-Star game(s)?
The games can be found in the regular season Schedule endpoint or in the Daily Schedule endpoint.
Every game-centric feed (e.g. Game Play-by-Play, Game Summary, Push Events) can be accessed during the game. Click here for for a Game Summary or Play-by-Play sample of the 2022 game, or replay available games via our Simulations.
Is the All-Star game covered in realtime?
Yes. The game is covered in realtime, including the same level of team and player statistics as a regular season game.
How are team Ids handled?
All-Star teams may represent Conferences (East/West), team captains (Team Durant East), or other groupings (Team USA/Global Stars/Young Stars). Each team retains their unique Id across seasons. Conference team Ids are consistent beginning in 2024.
All team Ids can be found in the Teams endpoint. Please note that they are not present the League Hierarchy endpoint.
When are the All-Star rosters set?
All-Star game rosters will be available shortly prior to tipoff.
Please note that we only provide game rosters (not team rosters) for each game. Request the Game Summary endpoint prior to the game to receive rosters.
If you require rosters earlier, we suggest using the Team Profile endpoints of each NBA team to pull in players manually.
Do you cover any of the other All-Star game events?
Yes. We also cover the Rising Stars Challenge in the NBA API. Locate these games in the Schedule or Daily Schedule endpoints.
We do not cover any of the isolated events, such as the Slam Dunk Contest or Three-Point Contest.
How do clock values and minutes played behave for untimed games?
Clock values - Games begin with a clock value of 99 minutes and decrease as the game progresses. We recommend to ignore our clock values for these events.
Player minutes played - Due to unlimited events, minutes played for players may return odd values during a game. Our data entry team will adjust the values during the closing process.
Click here for inprogress samples of a 2025 "OGs at Rising Stars" game, or replay available games via our Simulations.
Splits
What types of splits do you provide?
Our splits are broken down into the following categories based on feed endpoint:
Game:
homelossopponentover_500roadunder_500venuewin
Hierarchy:
conferencedivision
In-game:
higher_fg_pctless_personal_foulsless_reboundsless_turnoverslower_fg_pctmore_personal_foulsmore_reboundsmore_turnoversover_100_againstover_100_forsame_personal_foulssame_reboundssame_turnoversunder_100_againstunder_100_for
Schedule:
days_of_restday_of_weeklast_5last_10monthweek
NBA Draft
When should I expect to see prospect data in the Prospects endpoint?
College prospects will appear after the NCAA Early-Entrant withdrawal deadline has passed.
International prospects will appear after the the NBA Early-Entrant withdrawal deadline has passed.
When does the Draft order become available?
We set the NBA Draft order - and populate the yearly Draft Summary endpoint - after all 1st and 2nd round picks have been determined. This is typically made available after the NBA Draft lottery in mid-May.
When should I expect pre-draft trades to be reflected in Trades and Draft Summary endpoints?
The Trades and Draft Summary endpoints will reflect pre-draft trades after the NBA Draft Lottery has occurred.
When are drafted players added to the core endpoints?
Drafted players will be available on their NBA team (Team Profile) after each completed round.
For more details about NBA Draft solutions, check out our Draft integration scenario.
Languages
Do you provide your feeds in any languages other than English?
Currently, we provide our feeds in 8 languages: Brazilian Portuguese, English, French, German, Italian, Russian, Simplified Chinese, and Spanish. The codes are as follows:
- Brazilian Portuguese:
br - English:
en - French:
fr - German:
de - Italian:
it - Russian:
ru - Simplified Chinese:
zh - Spanish:
es
Please note our translations include teams, players, and play-by-play descriptions. The feeds themselves are in English, but the content of the attributes are translated.
Failover
Are there cases when not all game data is available?
Yes, in cases when Sportradar is unable to receive data from the venue, Sportradar's in-house operators will take over coverage of the game. In these cases, the following data points will not be available or will not update during the game.
For more information about failover data points, see the Live Game Updates section in the NBA Integration Guide.
Scoring
When are scores added to the schedule feeds?
Final scores are added to the schedule feeds when the game status changes to complete.
Stat Definitions
How do you define a team rebound?
A team rebound is recorded when no individual player is credited with a rebound following a missed field goal or free throw, but the team gains or is awarded possession of the ball.
Typical scenarios include:
- The ball goes out of bounds after a missed shot without any player securing control
- Possession is awarded after certain violations (e.g., lane violations, loose-ball fouls)
- Simultaneous recovery situations where no single player can be identified as controlling the rebound
Every missed shot must result in either a player rebound or a team rebound to maintain statistical balance.
{
"id": "287b808f-c78d-4dfc-b0a6-cc1b21a555ea",
"clock": "10:13",
"updated": "2025-10-16T01:36:06Z",
"description": "Ryan Kalkbrenner misses two point tip layup",
"wall_clock": "2025-10-15T23:12:54Z",
"sequence": 1760569974300,
"home_points": 5,
"away_points": 4,
"clock_decimal": "10:13",
"created": "2025-10-15T23:16:43Z",
"number": 41,
"event_type": "twopointmiss",
"qualifiers": [
{
"qualifier": "pointsinthepaint"
},
{
"qualifier": "2ndchance"
}
],
"attribution": {
"name": "Hornets",
"market": "Charlotte",
"id": "583ec97e-fb46-11e1-82cb-f4ce4684ea4c",
"team_basket": "left",
"sr_id": "sr:team:3430",
"reference": "1610612766"
},
"location": {
"coord_x": 78,
"coord_y": 313,
"action_area": "underbasket"
},
"on_court": {
"home": {
"name": "Hornets",
"market": "Charlotte",
"id": "583ec97e-fb46-11e1-82cb-f4ce4684ea4c",
"sr_id": "sr:team:3430",
"reference": "1610612766",
"players": [
{
"full_name": "LaMelo Ball",
"jersey_number": "1",
"id": "be53f27f-c666-4bd2-8fcd-0713f963aa2b",
"sr_id": "sr:player:1875466",
"reference": "1630163"
},
{
"full_name": "Kon Knueppel",
"jersey_number": "7",
"id": "0b9a642d-d6f6-4c65-a7bd-d82e016e1b5d",
"sr_id": "sr:player:2838879",
"reference": "1642851"
},
{
"full_name": "Miles Bridges",
"jersey_number": "0",
"id": "af8f331b-96a6-416e-8837-b14d5b11c52d",
"sr_id": "sr:player:1158306",
"reference": "1628970"
},
{
"full_name": "Ryan Kalkbrenner",
"jersey_number": "11",
"id": "388ec80d-171a-48f7-9cc8-5a8bebde54e0",
"sr_id": "sr:player:2075373",
"reference": "1641750"
},
{
"full_name": "Brandon Miller",
"jersey_number": "24",
"id": "775e4450-cdcd-43a1-b4cd-dc29fba48503",
"sr_id": "sr:player:2438503",
"reference": "1641706"
}
]
},
"away": {
"name": "Grizzlies",
"market": "Memphis",
"id": "583eca88-fb46-11e1-82cb-f4ce4684ea4c",
"sr_id": "sr:team:3415",
"reference": "1610612763",
"players": [
{
"full_name": "Jaylen Wells",
"jersey_number": "0",
"id": "f2d36d30-3544-41cb-831d-afec9e256418",
"sr_id": "sr:player:2492961",
"reference": "1642377"
},
{
"full_name": "Javon Small",
"jersey_number": "10",
"id": "d1951755-732a-453b-bede-69ff9e5a595c",
"sr_id": "sr:player:2218444",
"reference": "1642914"
},
{
"full_name": "Jaren Jackson Jr.",
"jersey_number": "8",
"id": "3e492a6a-ed3c-499d-b3f5-ff68ca16f6fd",
"sr_id": "sr:player:1316824",
"reference": "1628991"
},
{
"full_name": "Jock Landale",
"jersey_number": "31",
"id": "02dc6e18-95a4-4919-b4fc-f8a981ccd359",
"sr_id": "sr:player:1159256",
"reference": "1629111"
},
{
"full_name": "Kentavious Caldwell-Pope",
"jersey_number": "3",
"id": "cecc054e-b9ec-4c71-8bbb-5ee665a8c3a9",
"sr_id": "sr:player:608182",
"reference": "203484"
}
]
}
},
"statistics": [
{
"type": "fieldgoal",
"made": false,
"shot_type": "layup",
"shot_type_desc": "tip",
"shot_distance": 1.65,
"team": {
"name": "Hornets",
"market": "Charlotte",
"id": "583ec97e-fb46-11e1-82cb-f4ce4684ea4c",
"sr_id": "sr:team:3430",
"reference": "1610612766"
},
"player": {
"full_name": "Ryan Kalkbrenner",
"jersey_number": "11",
"id": "388ec80d-171a-48f7-9cc8-5a8bebde54e0",
"sr_id": "sr:player:2075373",
"reference": "1641750"
}
}
]
},
{
"id": "a908bef6-b62a-4bd7-b66d-f862e6942e32",
"clock": "10:13",
"updated": "2025-10-16T01:36:06Z",
"description": "Hornets offensive rebound",
"wall_clock": "2025-10-15T23:12:54Z",
"sequence": 1760569974300,
"home_points": 5,
"away_points": 4,
"clock_decimal": "10:13",
"created": "2025-10-15T23:16:43Z",
"number": 42,
"event_type": "rebound",
"qualifiers": [
{
"qualifier": "team"
}
],
"attribution": {
"name": "Hornets",
"market": "Charlotte",
"id": "583ec97e-fb46-11e1-82cb-f4ce4684ea4c",
"team_basket": "left",
"sr_id": "sr:team:3430",
"reference": "1610612766"
},
"location": {
"coord_x": 78,
"coord_y": 313,
"action_area": "underbasket"
},
"possession": {
"name": "Hornets",
"market": "Charlotte",
"id": "583ec97e-fb46-11e1-82cb-f4ce4684ea4c",
"sr_id": "sr:team:3430",
"reference": "1610612766"
},
"on_court": {
"home": {
"name": "Hornets",
"market": "Charlotte",
"id": "583ec97e-fb46-11e1-82cb-f4ce4684ea4c",
"sr_id": "sr:team:3430",
"reference": "1610612766",
"players": [
{
"full_name": "LaMelo Ball",
"jersey_number": "1",
"id": "be53f27f-c666-4bd2-8fcd-0713f963aa2b",
"sr_id": "sr:player:1875466",
"reference": "1630163"
},
{
"full_name": "Kon Knueppel",
"jersey_number": "7",
"id": "0b9a642d-d6f6-4c65-a7bd-d82e016e1b5d",
"sr_id": "sr:player:2838879",
"reference": "1642851"
},
{
"full_name": "Miles Bridges",
"jersey_number": "0",
"id": "af8f331b-96a6-416e-8837-b14d5b11c52d",
"sr_id": "sr:player:1158306",
"reference": "1628970"
},
{
"full_name": "Ryan Kalkbrenner",
"jersey_number": "11",
"id": "388ec80d-171a-48f7-9cc8-5a8bebde54e0",
"sr_id": "sr:player:2075373",
"reference": "1641750"
},
{
"full_name": "Brandon Miller",
"jersey_number": "24",
"id": "775e4450-cdcd-43a1-b4cd-dc29fba48503",
"sr_id": "sr:player:2438503",
"reference": "1641706"
}
]
},
"away": {
"name": "Grizzlies",
"market": "Memphis",
"id": "583eca88-fb46-11e1-82cb-f4ce4684ea4c",
"sr_id": "sr:team:3415",
"reference": "1610612763",
"players": [
{
"full_name": "Jaylen Wells",
"jersey_number": "0",
"id": "f2d36d30-3544-41cb-831d-afec9e256418",
"sr_id": "sr:player:2492961",
"reference": "1642377"
},
{
"full_name": "Javon Small",
"jersey_number": "10",
"id": "d1951755-732a-453b-bede-69ff9e5a595c",
"sr_id": "sr:player:2218444",
"reference": "1642914"
},
{
"full_name": "Jaren Jackson Jr.",
"jersey_number": "8",
"id": "3e492a6a-ed3c-499d-b3f5-ff68ca16f6fd",
"sr_id": "sr:player:1316824",
"reference": "1628991"
},
{
"full_name": "Jock Landale",
"jersey_number": "31",
"id": "02dc6e18-95a4-4919-b4fc-f8a981ccd359",
"sr_id": "sr:player:1159256",
"reference": "1629111"
},
{
"full_name": "Kentavious Caldwell-Pope",
"jersey_number": "3",
"id": "cecc054e-b9ec-4c71-8bbb-5ee665a8c3a9",
"sr_id": "sr:player:608182",
"reference": "203484"
}
]
}
},
"statistics": [
{
"type": "rebound",
"rebound_type": "offensive",
"team": {
"name": "Hornets",
"market": "Charlotte",
"id": "583ec97e-fb46-11e1-82cb-f4ce4684ea4c",
"sr_id": "sr:team:3430",
"reference": "1610612766"
}
}
]
},What formulas are used to calculate efficiency and efficiency game score?
Here are the formulas we use:
Efficiency: (Points + Rebounds + Assists + Steals + Blocks − Missed Field Goal Attempts − Missed Free Throw Attempts - Turnovers)
Efficiency Game Score: (Points) + (0.4_Field Goals Made) - (0.7_Field Goals Attempted) - (0.4_Free Throws Missed) + (0.7_Offensive Rebounds) + (0.3_Defensive Rebounds) + (Steals) + (0.7_Assists) + (0.7_Blocks) – (0.4_Personal Fouls) – (Turnovers)
Note: For this team efficiency calculations, statistics attributed to the team rather than a player are not counted (i.e. team rebounds, team turnovers, team fouls, etc.).
More questions?Reach out to [email protected] for further assistance.
