Docs
Coverage MatrixDocumentationRelease LogLog In

Push Statistics

NBA Push Statistics retrieves detailed, real-time game stats at the team and player level for all live games.

Syntax

https://api.sportradar.com/nba/{access_level}/stream/{language_code}/statistics/subscribe?api_key={your_api_key}

Replace the placeholders with the following path parameters:

ParameterDescription
access_levelDefines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation).
language_codeOptional code for supported languages: en (English) or translations (Any other language translations. See optional query string parameters for locale.)
your_api_keyYour API key.

Optional Query String Parameters

In addition to the URL parameters listed above, you can filter the statistical information with one or more of the following optional query string parameters.

๐Ÿ“˜

Note

Optional query string parameters must be added after your API key with an ampersand (&). If you are filtering for more than one result, separate the results with a comma (,) and no spaces.

Replace placeholders with the following query parameters:

ParameterDescription
localeLocale expressed as 2 letter code: locale={language_code}
Example: locale=en
matchMatch id expressed as: sd:match:{match_id}.
Example: match=sd:match:0f4a0ce6-9abb-44ac-867f-75cc2154bb40
playersPlayer id expressed as: sd:player:{player_id}.
Example: players=sd:player:92ec1ed2-95f7-45da-a923-71fd541d6cdb
stats_typeStat type expressed as {stats_type}.
Example: stats_type=player
teamTeam id expressed as: sd:team:{team_id}.
Example: team=sd:team:583eca2f-fb46-11e1-82cb-f4ce4684ea4c
statusStatus type expressed as: inprogress or created.
Example: status=inprogress

Code Samples

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/nba/trial/stream/en/statistics/subscribe?api_key={your_api_key}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
import requests
import json

r = requests.get("https://api.sportradar.com/nba/trial/stream/en/statistics/subscribe",
    params = {'api_key': 'your_api_key'},
    allow_redirects=False)

redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)

for line in r.iter_lines():
    # filter out keep-alive new lines
    if line:
        decoded_line = line.decode('utf-8')
        print(json.loads(decoded_line))
curl -L GET 'api.sportradar.us/nba/trial/stream/en/statistics/subscribe?api_key={your_api_key}'

Samples with Query String Params

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/nba/trial/stream/en/statistics/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:0f4a0ce6-9abb-44ac-867f-75cc2154bb40")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
import requests
import json

r = requests.get("https://api.sportradar.com/nba/trial/stream/en/statistics/subscribe",
    params = {'api_key': 'your_api_key', 'status': 'inprogress', 'match': 'sd:match:0f4a0ce6-9abb-44ac-867f-75cc2154bb40'},
    allow_redirects=False)

redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)

for line in r.iter_lines():
    # filter out keep-alive new lines
    if line:
        decoded_line = line.decode('utf-8')
        print(json.loads(decoded_line))
curl -L GET 'api.sportradar.us/nba/trial/stream/en/statistics/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:0f4a0ce6-9abb-44ac-867f-75cc2154bb40'

Response Sample

The above commands return json like this.



Data Points

Starters & Activity:
AttributeParent ElementTypeDescription
activeplayerBooleanSignifies a player is on the active roster
ejectedplayerBooleanSignifies a player is ejected from a game
fouled_outplayerBooleanSignifies a player is fouled out of a game
not_playing_descriptionplayerStringText description of a "Not Playing" player
ex. Left Hamstring; Strain
not_playing_reasonplayerStringText description of a "Not Playing" reason
ex. Inactive - Injury/Illness

See our FAQ for a complete list of reasons
on_courtplayerBooleanSignifies a player is currently on the court
playedplayerBooleanSignifies a player played in a game
starterplayerBooleanSignifies a player started a game
Game:
AttributeParent ElementTypeDescription
coveragegameStringCoverage level of a game
full, extended_boxscore
idgameGUIDUnique ID of a game
ex. 1f730a9a-8221-48ff-a259-ac2103fb58b0
referencegameStringLeague reference ID of a game
ex. 1610612758
sr_idgameGUIDUnique Sportradar ID of a game
ex. sr:match:35431817
statusgameStringThe status of a game
scheduled, created, inprogress, halftime, complete, closed, cancelled, delayed, postponed, time-tbd, if-necessary, unnecessary

Please see our FAQ section for a list of game status definitions
titlegameStringGame title
ex. Game 6
scheduledgamedateTimeScheduled date and time of a game
ex. 2022-09-25T20:10:00+00:00
awaygame - time_zonesStringTime zone of the away team
ex. US/Pacific
homegame - time_zonesStringTime zone of the home team
ex. US/Eastern
venuegame - time_zonesStringTime zone of the venue
ex. US/Eastern
Player Statistics (Game):
AttributeParent ElementTypeDescription
assistsplayer - statisticsIntegerNumber of assists
assists_turnover_ratioplayer - statisticsDecimalAssist to turnover ratio
blocked_attplayer - statisticsIntegerNumber of blocked attempts
blocksplayer - statisticsIntegerNumber of shots blocked
coach_ejectionsplayer - statisticsIntegerNumber of coach ejections
coach_tech_foulsplayer - statisticsIntegerNumber of coach technical fouls
defensive_ratingplayer - statisticsDecimalDefensive Rating
ex. 106.11873436165
defensive_reboundsplayer - statisticsIntegerNumber of defensive rebounds
defensive_rebounds_pctplayer - statisticsDecimalDefensive rebound percentage
ex. 27.7537372335189
double_doubleplayer - statisticsBooleanSignifies a double-double
effective_fg_pctplayer - statisticsDecimalEffective Field Goal Percentage
(FG + 0.5 * 3P) / FGA
efficiencyplayer - statisticsDecimalPlayer Efficiency Rating
(sPoints+sAssists+sBlocks+sSteals+sFoulsDrawn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
efficiency_game_scoreplayer - statisticsDecimalPlayer Efficiency Game Score
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
fast_break_attplayer - statisticsIntegerNumber of fast break attempts
fast_break_madeplayer - statisticsIntegerNumber of fast break baskets
fast_break_pctplayer - statisticsDecimalFast break percentage
ex. 100.0
fast_break_ptsplayer - statisticsIntegerNumber of fast break points
field_goals_attplayer - statisticsIntegerNumber of field goal attempts
field_goals_madeplayer - statisticsIntegerNumber of field goals made
field_goals_pctplayer - statisticsDecimalField goal percentage
ex. 56.5
flagrant_foulsplayer - statisticsIntegerNumber of flagrant fouls
fouled_outplayer - statisticsBooleanSignifies a fouled out player
fouls_drawnplayer - statisticsIntegerNumber of fouls drawn
free_throws_attplayer - statisticsIntegerNumber of free throw attempts
free_throws_madeplayer - statisticsIntegerNumber of free throws made
free_throws_pctplayer - statisticsDecimalFree throw percentage
ex. 100.0
minusplayer - statisticsIntegerNumber of team points against while a player is on the court
minutesplayer - statisticsStringNumber of minutes played
ex. 40:07
offensive_foulsplayer - statisticsIntegerNumber of offensive fouls
offensive_ratingplayer - statisticsDecimalOffensive Rating
ex. 171.93820667994
offensive_reboundsplayer - statisticsIntegerNumber of offensive rebounds
offensive_rebounds_pctplayer - statisticsDecimalOffensive rebound percentage
ex. 20.0
personal_foulsplayer - statisticsIntegerNumber of personal fouls
plusplayer - statisticsIntegerNumber of team points scored while a player is on the court
pls_minplayer - statisticsIntegerPlus/Minus (Team scoring while a player is on the court)
ex. -1 or 12
pointsplayer - statisticsIntegerNumber of points
points_in_paintplayer - statisticsIntegerNumber of points in the paint
points_in_paint_attplayer - statisticsIntegerNumber of points in the paint attempts
points_in_paint_madeplayer - statisticsIntegerNumber of points in the paint baskets
points_in_paint_pctplayer - statisticsDecimalPoints in the paint percentage
ex. 28.6
points_off_turnoversplayer - statisticsIntegerNumber of points off turnovers
reboundsplayer - statisticsIntegerNumber of rebounds
rebounds_pctplayer - statisticsDecimalRebound percentage
ex. 26.7857142857143
second_chance_attplayer - statisticsIntegerNumber of second chance attempts
second_chance_madeplayer - statisticsIntegerNumber of second chance baskets
second_chance_pctplayer - statisticsDecimalSecond chance percentage
ex. 20.0
second_chance_ptsplayer - statisticsIntegerNumber of second chance points
stealsplayer - statisticsIntegerNumber of steals
steals_pctplayer - statisticsDecimalSteal percentage
ex. 1.23425509677491
tech_foulsplayer - statisticsIntegerNumber of total unsportsmanlike technical fouls
tech_fouls_non_unsportsmanlikeplayer - statisticsIntegerNumber of non-unsportsmanlike technical fouls
three_points_attplayer - statisticsIntegerNumber of 3-point attempts
three_points_madeplayer - statisticsIntegerNumber of 3-point baskets
three_points_pctplayer - statisticsDecimal3-point percentage
ex. 100.0
triple_doubleplayer - statisticsBooleanSignifies a triple-double
true_shooting_attplayer - statisticsDecimalNumber of attempts used to determine true shooting percentage
sFieldGoalsAttempted + (0.44 * sFreeThrowsAttempted)
true_shooting_pctplayer - statisticsDecimalTrue Shooting Percentage
100 sPoints / (2 sTrueShootingAttempts )
turnoversplayer - statisticsIntegerNumber of turnovers
turnovers_pctplayer - statisticsDecimalTurnover Percentage
ex. 3.88198757763975
two_points_attplayer - statisticsIntegerNumber of 2-point attempts
two_points_madeplayer - statisticsIntegerNumber of 2-point baskets
two_points_pctplayer - statisticsDecimal2-point percentage
ex. 100.0
Team Statistics (Game):
AttributeParent ElementTypeDescription
assiststeam - statisticsIntegerNumber of assists
assists_turnover_ratioteam - statisticsDecimalAssist to turnover ratio
bench_pointsteam - statisticsIntegerNumber of bench points
biggest_leadteam - statisticsIntegerLargest lead in points for a team
blocked_attteam - statisticsIntegerNumber of blocked attempts
blocksteam - statisticsIntegerNumber of shots blocked
coach_ejectionsteam - statisticsIntegerNumber of coach ejections
coach_tech_foulsteam - statisticsIntegerNumber of coach technical fouls
defensive_points_per_possessionteam - statisticsIntegerAverage defensive points per position
defensive_ratingteam - statisticsDecimalDefensive Rating
ex. 106.11873436165
defensive_reboundsteam - statisticsIntegerNumber of defensive rebounds
effective_fg_pctteam - statisticsDecimalEffective Field Goal Percentage
(FG + 0.5 * 3P) / FGA
efficiencyteam - statisticsDecimalPlayer Efficiency Rating
(sPoints+sAssists+sBlocks+sSteals+sFoulsDrawn+sReboundsTotal)-(sTurnovers+sBlocksReceived+sFoulsPersonal+sFoulsTechnical+(sTwoPointersAttempted-sTwoPointersMade)+(sThreePointersAttempted-sThreePointersMade)+(sFreeThrowsAttempted-sFreeThrowsMade))
efficiency_game_scoreteam - statisticsDecimalPlayer Efficiency Game Score
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
ejectionsteam - statisticsIntegerNumber of ejections
fast_break_attteam - statisticsIntegerNumber of fast break attempts
fast_break_madeteam - statisticsIntegerNumber of fast break baskets
fast_break_pctteam - statisticsDecimalFast break percentage
ex. 100.0
fast_break_ptsteam - statisticsIntegerNumber of fast break points
field_goals_attteam - statisticsIntegerNumber of field goal attempts
field_goals_madeteam - statisticsIntegerNumber of field goals made
field_goals_pctteam - statisticsDecimalField goal percentage
ex. 56.5
flagrant_foulsteam - statisticsIntegerNumber of flagrant fouls
fouloutsteam - statisticsIntegerNumber of fouled out players
fouls_drawnteam - statisticsIntegerNumber of fouls drawn
free_throws_attteam - statisticsIntegerNumber of free throw attempts
free_throws_madeteam - statisticsIntegerNumber of free throws made
free_throws_pctteam - statisticsDecimalFree throw percentage
ex. 100.0
minutesteam - statisticsStringNumber of minutes played
ex. 4:25:00
opp_scoreteam - statistics - most_unansweredIntegerOpponents score when a team's largest scoring run was attained
own_scoreteam - statistics - most_unansweredIntegerTeam's score when its largest score run was attained
pointsteam - statistics - most_unansweredIntegerLongest streak of unanswered points
offensive_foulsteam - statisticsIntegerNumber of offensive fouls
offensive_points_per_possessionteam - statisticsIntegerAverage offensive points per position
offensive_ratingteam - statisticsDecimalOffensive Rating
ex. 171.93820667994
offensive_reboundsteam - statisticsIntegerNumber of offensive rebounds
opponent_possessionsteam - statisticsDecimalNumber of opponent's possessions based on the possessions formula
personal_foulsteam - statisticsIntegerNumber of personal fouls
personal_reboundsteam - statisticsIntegerTotal number of rebounds attributed to players
Note: this appears under rebounds in previous API versions
player_tech_foulsteam - statisticsIntegerNumber of player technical fouls
player_turnoversteam - statisticsIntegerNumber of turnovers attributed to players
Note: this appears under turnovers in previous API versions
pls_minteam - statisticsIntegerPlus/Minus
pointsteam - statisticsIntegerNumber of points
points_againstteam - statisticsIntegerNumber of points against
points_in_paintteam - statisticsIntegerNumber of points in the paint
points_in_paint_attteam - statisticsIntegerNumber of points in the paint attempts
points_in_paint_madeteam - statisticsIntegerNumber of points in the paint baskets
points_in_paint_pctteam - statisticsDecimalPoints in the paint percentage
ex. 28.6
points_off_turnoversteam - statisticsIntegerNumber of points off turnovers
possessionsteam - statisticsDecimalTeam possessions
0.5 ((sFieldGoalsAttempted + 0.4 sFreeThrowsAttempted - 1.07 (sReboundsOffensive / (sReboundsOffensive + sOppReboundsDefensive )) (sFieldGoalsAttempted - sFieldGoalsMade) + sTurnovers) + (sOppFieldGoalsAttempted + 0.4 sOppFreeThrowsAttempted - 1.07 (sOppReboundsOffensive / (sOppReboundsOffensive + sReboundsDefensive)) * (sOppFieldGoalsAttempted - sOppFieldGoalsMade) + sOppTurnovers))
second_chance_attteam - statisticsIntegerNumber of second chance attempts
second_chance_madeteam - statisticsIntegerNumber of second chance baskets
second_chance_pctteam - statisticsDecimalSecond chance percentage
ex. 20.0
second_chance_ptsteam - statisticsIntegerNumber of second chance points
stealsteam - statisticsIntegerNumber of steals
team_defensive_reboundsteam - statisticsIntegerNumber of team defensive rebounds
team_foulsteam - statisticsIntegerNumber of team fouls
team_offensive_reboundsteam - statisticsIntegerNumber of team offensive rebounds
team_reboundsteam - statisticsIntegerNumber of team rebounds
team_tech_foulsteam - statisticsIntegerNumber of team technical fouls
team_turnoversteam - statisticsIntegerSum of team turnovers
technical_otherteam - statisticsIntegerNumber of other technical fouls
This stat is no longer in use but may be present for past games
three_points_attteam - statisticsIntegerNumber of 3-point attempts
three_points_madeteam - statisticsIntegerNumber of 3-point baskets
three_points_pctteam - statisticsDecimal3-point percentage
ex. 80.0
time_leadingteam - statisticsStringTime leading in a game for a team
ex. 43:14
total_foulsteam - statisticsIntegerNumber of total fouls (team fouls + personal fouls)
total_reboundsteam - statisticsIntegerNumber of total rebounds (team rebounds + player rebounds)
total_turnoversteam - statisticsIntegerNumber of total team turnovers (player_turnovers + team_turnovers)
true_shooting_attteam - statisticsDecimalNumber of attempts used to determine true shooting percentage
sFieldGoalsAttempted + (0.44 * sFreeThrowsAttempted)
true_shooting_pctteam - statisticsDecimalTrue Shooting Percentage
100 sPoints / (2 sTrueShootingAttempts )
turnoversteam - statisticsIntegerSum of player turnovers
two_points_attteam - statisticsIntegerNumber of 2-point attempts
two_points_madeteam - statisticsIntegerNumber of 2-point baskets
two_points_pctteam - statisticsDecimal2-point percentage
ex. 100.0
Metadata:
AttributeParent ElementTypeDescription
leaguemetadataStringAlias of a league
ex. NBA
localemetadataStringLanguage code
ex. en (English)
matchmetadataGUIDUnique ID of a game
ex. sd:match:d8539eb6-3e27-40c8-906f-9cd1736321d8
operationmetadataStringOperation of an update
update, delete
playersmetadataGUIDUnique ID(s) of players associated with an event
ex. sd:player:68b7aac9-02fd-4bd8-b10c-6702d2c5eb98,sd:player:ffa9a64f-d624-4033-bd23-59dcfd805175
stats_typemetadataStringType of statistic
ex. team or player
statusmetadataStringThe status of a game
scheduled, created, inprogress, halftime, complete, closed, cancelled, delayed, postponed, time-tbd, if-necessary, unnecessary

Please see our FAQ section for a list of game status definitions
teammetadataGUIDUnique ID(s) of team(s) associated with an event
ex. sd:team:583ecefd-fb46-11e1-82cb-f4ce4684ea4c,sr:team:3410
versionmetadataStringVersion of the API
ex. v7
Play-by-Play - Home/Away Teams:
AttributeParent ElementTypeDescription
bonusgame - awayBooleanSignifies a team is in the bonus
pointsgame - awayIntegerTotal points for the away team
idgame - awayGUIDUnique ID of the away team
ex. 583ed0ac-fb46-11e1-82cb-f4ce4684ea4c
marketgame - awayStringMarket name of the away team
ex. Sacramento
namegame - awayStringAway team name
ex. Kings
referencegame - awayStringLeague reference ID of the away team
ex. 1610612750
remaining_timeoutsgame - awayIntegerRemaining timeouts for the away team
sr_idgame - awayGUIDUnique Sportradar ID of the away team
ex. sr:team:3415
bonusgame - homeBooleanSignifies a team is in the bonus
pointsgame - homeIntegerTotal points for the home team
idgame - homeGUIDUnique ID of the home team
ex. 583ed0ac-fb46-11e1-82cb-f4ce4684ea4c
marketgame - homeStringMarket name of the home team
ex. Sacramento
namegame - homeStringHome team name
ex. Kings
referencegame - homeStringLeague reference ID of the home team
ex. 1610612750
remaining_timeoutsgame - homeIntegerRemaining timeouts for the home team
sr_idgame - homeGUIDUnique Sportradar ID of the home team
ex. sr:team:3415
Player:
AttributeParent ElementTypeDescription
first_nameplayerStringFirst name of a player
ex. Stephen
full_nameplayerStringFull name of a player
ex. Stephen Curry
idplayerGUIDUnique player ID
ex. 8ec91366-faea-4196-bbfd-b8fab7434795
jersey_numberplayerIntegerNumber of a player's jersey
last_nameplayerStringLast name of a player
ex. Curry
name_suffixplayerStringSuffix of a player
ex. Jr.
positionplayerStringPosition of a player
NA, C, C-F, F, F-C, F-G, G, G-F
primary_positionplayerStringPrimary position of a player
NA, C, PF, PG, SF, SG
referenceplayerStringLeague reference ID of a player
ex. 1626157
sr_idplayerGUIDUnique Sportradar ID of a player
ex. sr:player:608110
Team:
AttributeParent ElementTypeDescription
idteamGUIDUnique ID of a team
ex. 583ed0ac-fb46-11e1-82cb-f4ce4684ea4c
marketteamStringMarket name of a team
ex. Sacramento
nameteamStringTeam name
ex. Kings
referenceteamStringLeague reference ID of a team
ex. 1610612750
sr_idteamGUIDUnique Sportradar ID of a team
ex. sr:team:3415