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?
When we present date only values we present these in the ISO 8601 standard format.
ex: 2013-04-03
We use these for attributes that have date and no time (such as birthdate). For more information: https://en.wikipedia.org/wiki/ISO_8601
What format are the date/time fields presented in?
All of our Date/Time attributes are in UTC, presented in the ISO 8601 standard format.
ex: 2013-04-03T18:15:00+00:00
For more information: https://en.wikipedia.org/wiki/ISO_8601
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
– DuplicateM-LEAGUE
– Sent to minor league teamTEN-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.
Player Positions
What player positions can I expect to see?
NA
C
C-F
F
F-C
F-G
G
G-F
What player primary positions can I expect to see?
NA
C
PF
PG
SF
SG
<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?
Unknown
Day to Day
Out
Out for Season
Out 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
?DNP - Coaches Decision
DNP - Injury/Illness
DNP - Personal
DNP - Rest
DNP - Trade Pending
DNP - League Suspension
DNP - Team Suspension
DNP - Return to Competition Reconditioning
DNP - Ineligible to Play
DNP - Health and Safety Protocols
DND - Coaches Decision
DND - Injury/Illness
DND - Personal
DND - Rest
DND - Trade Pending
DND - League Suspension
DND - Team Suspension
DND - Return to Competition Reconditioning
DND - Ineligible to Play
DND - Health and Safety Protocols
NWT - Coaches Decision
NWT - Injury/Illness
NWT - Personal
NWT - Rest
NWT - Trade Pending
NWT - League Suspension
NWT - Team Suspension
NWT - Return to Competition Reconditioning
NWT - Ineligible to Play
NWT - Health and Safety Protocols
NWT - Not With Team
Inactive - Injury/Illness
Inactive - Personal
Inactive - Rest
Inactive - Suspended
Inactive - Trade Pending
Inactive - Coaches Decision
Inactive - G League Team
Inactive - G League - On Assignment
Inactive - G League - Two-Way
Inactive - Not With Team
Inactive - Team Suspension
Inactive - League Suspension
Inactive - Health and Safety Protocols
Inactive - Return to Competition Reconditioning
Inactive - NWT Return to Competition Reconditioning
Inactive - Ineligible to Play
<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?DND
status populates when the initial game rosters are setDNP
status 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
-Activated
MIN
-Assigned to Minors
CL
-Claimed
CEXP
-Contract Expired
CEXT
-Contract Extension
DEC
-Deceased
FA
-Declared Free Agency
DRA
-Drafted
SUS
-League Suspension
ABS
-Leave of Absence
NWT
-Not With Team
TRAN
-Other Transaction
INACT
-Placed on Inactive List
RSGN
-Re-Signed
REC
-Recalled from Minors
RSUS
-Reinstated from Suspension
REL
-Released
RET
-Retired
EDRA
-Selected in Expansion Draft
SGN
-Signed
10D
-Signed to 10-Day Contract
10D2
-Signed to Second 10-Day Contract
TSUS
-Team Suspension
TRD
-Traded
WA
-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)
bank
driving
driving bank
driving floating
driving floating bank
turnaround
turnaround bank
turnaround fadeaway
turnaround fadeaway bank
floating
fadeaway
fadeaway bank
stepback
stepback bank
pullup
pullup bank
running
running pullup
Layup
alley-oop
cutting
cutting finger roll
driving
driving reverse
driving finger roll
finger roll
putback
reverse
running
running reverse
running finger roll
running alley-oop
tip
Dunk
alley-oop
tip
driving
driving reverse
putback
running
reverse
running reverse
running alley-oop
cutting
Tip Shot
Hook
bank
driving
driving bank
turnaround
turnaround 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)jumpball
- 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)personalfoul
- charged_to personal foul (foul_type_desc) (drawn_by draws the foul)possession
- possession gain possessionrebound
- given_to offensive/defensive reboundrequestreview
- Instant replay (request)review
- 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 (turnovertype_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
<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?
freethrow
freethrow,score
foul
foul,flagrant
foul,warning
lineupchange
period,stoppage
period,stoppage,possession
possession
shot
shot,score
stoppage
timeout,stoppage
turnover
violation
"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"
}
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 the divisioneliminated
– 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"
}
}
]
},
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 Bounds
Lost Ball
Step
Bad 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 Bounds
Equipment Malfunction
Blood Rule
Court Cleanup
Injury
Other
{
"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 jump ball reasons I can expect to see?
Lodged Ball
Held Ball
Double Violation
Unclear Pass
Double Foul
What are the valid free throw types I can expect to see?
Regular
Technical
Flagrant
Clear Path
<freethrow made="true" free_throw_type="regular" points="1">
What are the possible values for statistics type used in the Push Events feed?
fieldgoal
assist
block
attemptblocked
rebound
freethrow
turnover
steal
personalfoul
flagrantfoul
technicalfoul
ejection
fouldrawn
offensivefoul
What are the valid qualifier names?
2ndchance
fastbreak
fromturnover
defensivegoaltending
pointsinthepaint
fastbreak
fromturnover
team
deadball
1freethrow
2freethrow
mandatory
<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?
Charge
Off the Ball
Block
Take
Double
Shooting
Clear Path
Loose Ball
Blocking
Player Control
Shooting block
Elbowing
Punching
Flagrant One
Flagrant Two
Away from Play
Unsportsmanlike Conduct
Rim Hanging
Delay of Game
Taunting
Indirect
Excess Timeout
Too Many Players
Inbound
Defensive Three Second
Flopping
What are the possible Unsportsmanlike and Non-Unsportsmanlike technical foul descriptions?
Non-Unsportsmanlike (Player):
Non-unsportsmanlike
Rim Hanging
Defensive 3 seconds
Flopping
Non-Unsportsmanlike (Team):
Delay
Indirect
Excess Timeout
Too many players
Bench
Team
Unsportsmanlike (Player):
- Null (empty)
Double
Taunting
What ejection types can I expect to see?
Technical
Second Technical
Second Flagrant Type 1
Flagrant Type 2
Other
All-Star Game
How do you cover the NBA All-Star Game?
Please see our dedicated All-Star FAQ for questions and sample data.
Splits
What types of splits do you provide?
Our splits are broken down into the following categories based on feed endpoint:
Game:
home
loss
opponent
over_500
road
under_500
venue
win
Hierarchy:
conference
division
In-game>:
higher_fg_pct
less_personal_fouls
less_rebounds
less_turnovers
lower_fg_pct
more_personal_fouls
more_rebounds
more_turnovers
over_100_against
over_100_for
same_personal_fouls
same_rebounds
same_turnovers
under_100_against
under_100_for
Schedule:
days_of_rest
day_of_week
last_5
last_10
month
week
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 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 6 languages: Brazilian Portuguese, English, French, Russian, Simplified Chinese, and Spanish. The codes are as follows:
- Brazilian Portuguese:
br
- English:
en
- French:
fr
- Russian:
ru
- Simplified Chinese:
zh
- Spanish:
es
Please note, our translated feeds include translated teams, players, and play-by-play descriptions. The feeds themselves are in English, but the content of the attributes has been 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.
- Defensive Points per Possession
- Defensive Rating
- Defensive Rebounds Percentage
- Fast Break Attempts
- Fast Break Made
- Fast Break Percentage
- Minus
- Offensive Points per Possession
- Offensive Rating
- Offensive Rebounds Percentage
- Opponent Possessions
- Plus
- Rebounds Percentage
- Second Chance Attempts
- Second Chance Made
- Second Chance Percentage
- Team Defensive Rebounds
- Team Offensive Rebounds
- Time Spent Leading
- Turnovers Percentage
After the game, when on-venue data can be received again, these fields will be updated. See here for more info.
Scoring
When are scores added to the schedule feeds?
Final scores are added to the schedule feeds when the game status changes to complete
.
Efficiency Formulas
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.