NBA v5

Frequently Asked Questions
API & Version Data Entry Workflow Failover XSD Schema
Official NBA v5 Data Entry Workflow Failover Details
Failover Summary
Download
Note: Authentication is required for all API calls.
## NBA API Map To best utilize the NBA API v5, you will need several parameters to create your API calls. The map below illustrates how you can obtain the parameters you need. >

Examples:

>To find a team's leader in assists for a given game: >
  1. Call the season or series schedule and find the Game Id for the chosen game
  2. Call the Game Boxscore using the Game Id
  3. Find the Team Assists Leader statistics and locate the player full_name attribute
>The name of the team's leader in assists is displayed. >
    >To find a player's average points per game: >
    1. Call the season or series schedule and find id for the team the player is on
    2. Call the Team Profile using the Team ID
    3. Locate the Player ID for your chosen player and call the Player Profile.
    4. Find the average element with the points attribute
    >The players's average points are displayed. The primary feeds require only a date or season to call the endpoints. Those feeds provide Game, Team, or Player Ids which can be used to generate the game, team, and player feeds. All of the other feeds require no variables. ## Coverage Levels We provide two different levels of detail to ensure maximum coverage. We combine coverage levels with the correct feeds to ensure you are getting the most comprehensive data offering in the most efficient manner possible. Extended Boxscore – We provide scores, time remaining, and team leaders (assists, points, and rebounds), in a timely manner, as the game progresses. We provide team- and player-level data for the game within 30 minutes of the official results being posted. Full – We provide live play-by-play coverage for the entire game. We provide updated scores and time remaining as well as team- and player-level data in near real time. Full coverage is available for all regular and postseason games.
    Note: Preseason coverage of NBA games may vary. Due to data-entry coverage (from venue) not being available, some games may be covered via our extended boxscore coverage.
    ## NBA API v5 Simulations Our NBA simulations give you the opportunity to test your code against a simulation of live data before the preseason starts or any time! Our simulation system replays select completed games allowing you to view our API feeds as if they were happening live. Simulations run every day according to the below schedule. Data is reset for each day's simulations at 12:45pm UTC.
    Quick Access
    Start Time (UTC) Game Game ID
    1:00pm Chicago Bulls at New York Knicks 26e0906a-a222-4013-a9c8-dea6a8fe1f4f
    1:00pm Brooklyn Nets at Portland Trailblazers 0d996d35-85e5-4913-bd45-ac9cfedbf272
    5:00pm Utah Jazz at Los Angeles Clippers a2a43125-5538-43f7-84a9-e8e02a8a772f
    5:00pm Philadelphia 76ers at Detroit Pistons 9c322810-33cc-4aa8-b1c7-43bc6ed9af73
    5:00pm Washington Wizards at Golden State Warriors f8367461-6e6f-4cbb-b758-4b866f554f80​
    7:00pm San Antonio Spurs at Los Angeles Lakers 12b2e554-c80f-404f-b140-c25400996ac7
    To retrieve the game IDs, team IDs, and other associated information for each game listed above, you can use the following URL with the syntax noted below. If you have an existing NBA API key, simply replace the access_level (trial or production) in the URL of a feed with simulation. https://api.sportradar.us/nba/simulation/`{version}`/`{language_code}`/games/2017/SIM/schedule.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `nba_season` | Regular Season (REG). | | `season_year`| Year in 4 digit format (YYYY). *Use 2017 for simulations* | | `format` | xml or json. | | `your_api_key` | Your API key. |

    Feeds Available: Schedule, Standings, League Hierarchy, Game Boxscore, Game Summary, Play-By-Play, Team Profile, Seasonal Statistics, Injuries, Rankings, Push Events, and Push Statistics

    For syntax structure on each feed, please reference the below documentation. ## In-Season Tournament The inaugural NBA In-Season Tournament will take place during the 2023-24 NBA season. The tournament is divided into a group play stage and a knockout stage. In group play, all 30 teams are randomly drawn into groups of five (six groups overall) within their conference based on their previous season’s win-loss record. Each team will play four designated group play games against each opponent in its group, with two games at home and two on the road. Eight teams advance to the knockout rounds: the six teams with the best standing in their group and two wild card teams (the team from each conference with the best record in Group Play games that finished second in its group). All 67 In-Season Tournament games count towards the regular season standings except for the In-season Tournament Championship game. Each team will continue to play 82 regular season games. ### Season Types A new season type was created in the NBA API for the NBA In-Season Tournament called In-Season Tournament with code (also referred to as parameter) of IST. This season type can be retrieved via the NBA Seasons feed: > Click below for XML and JSON samples of the Seasons feed with the IST season included
    XML - JSON https://api.sportradar.com/nba/production/v8/en/league/seasons.xml?api_key= This code (or parameter) can be used to retrieve endpoints for the following feeds:
    • League Leaders
    • Rankings
    • Schedule
    • Seasonal Statistics
    • Seasons
    • Series Schedule
    • Splits (Game)
    • Splits (Hierarchy)
    • Splits (In-Game)
    • Splits (Schedule)
    • Standings
    ### Tournament Schedule

    Group Play

    With the exception of the In-season Championship Game, all NBA In-Season Tournament games will appear in the NBA API Regular Season (REG) schedule. Example for 2023 season: https://api.sportradar.com/nba/production/v8/en/games/2023/REG/schedule.xml?api_key= > Click below for XML and JSON samples of the Schedule feed with the inseason_tournament games included
    XML - JSON The regular season games included in the NBA In-Season Tournament will have a game attribute called inseason_tournament with a value of true.

    Quarterfinals & Semifinals

    In the knockout rounds, all games will be created as a part of a one-game series. The quarterfinals and semifinals will be created in the regular season and will appear in the regular season schedule paths (League Schedule and Series Schedule): > Click below for XML and JSON samples of the knockout rounds
    XML - JSON League Schedule: https://api.sportradar.us/nba/production/v8/en/games/2023/REG/schedule.xml?api_key= Series Schedule: https://api.sportradar.us/nba/production/v8/en/series/2023/REG/schedule.xml?api_key= Sample Data:

    Championship Game

    The NBA In-Season Tournament Championship game, due to not counting towards the regular season standings, will appear in the In-Season Tournament (IST) season and series schedule: > Click below for XML and JSON samples of the Championship round
    XML - JSON League Schedule: https://api.sportradar.us/nba/production/v8/en/games/2023/IST/schedule.xml?api_key= Series Schedule: https://api.sportradar.us/nba/production/v8/en/series/2023/IST/schedule.xml?api_key= Sample Data:

    ### Standings To access the In-Season Tournament standings, you need use the IST season parameter. In the endpoint below, you will see teams placed in the In-Season Tournament groups. > Click below for XML and JSON samples of the IST Standings feed games included
    XML - JSON Please note that no in-season tournament data will exist in the Regular Season standings. https://api.sportradar.us/nba/production/v8/en/seasons/2023/IST/standings.xml?api_key= Sample Data:

    ## Play-In Tournament Each NBA season will feature a play-in tournament to determine the 7th and 8th seeds for each conference’s playoff bracket. The 2024 Play-In Tournament will take place from April 16-19. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/nba/trial/v7/en/games/2021/PIT/schedule.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v7/en/games/2021/PIT/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.com/nba/trial/v7/en/games/2021/PIT/schedule.xml?api_key={your_api_key}" ``` > Click below for XML and JSON samples of the Play-In Tournament Schedule feed
    XML - JSON In the NBA API, these games will be found in the Play-in Tournament (PIT) season schedule: https://api.sportradar.com/nba/production/v7/en/games/2023/PIT/schedule.xml?api= The season parameter of PIT must also be used to retrieve seasonal statistics for these games. At the conclusion of the regular season but prior to the first round of the playoffs, the team with the 7th-highest winning percentage in each conference will host the team with the 8th-highest winning percentage in a Play-In Game (the “Seven-Eight Game”). The winner of the Seven-Eight Game in each conference will earn the No. 7 seed.
      In the below example, the Miami Heat would host the Charlotte Hornets in the Seven-Eight Game. The winner of that game would be the 7th seed in the Eastern Conference playoffs and would play the 2nd seed in the first round.
      Additionally, the team with the 9th-highest winning percentage in each conference will host the team with the 10th-highest winning percentage in the “Nine-Ten Game”.
      In this example, the Indiana Pacers would host the Washington Wizards in the “Nine-Ten Game.” The loser of that game would be eliminated from playoff contention. The winner would play the loser of the Heat/Hornets game (Seven-Eight Game). The winner of that game would earn the 8th seed and play the 1st seed in the first round of the playoffs.
    While all playoff series will appear in the postseason series schedule feed at the completion of the regular season, the final playoff matchups will not be determined until the play-in tournament is complete. https://api.sportradar.com/nba/`{access_level}`/v7/`{language_code}`/series/`{season_year}`/PST/schedule.`{format}`?api_key=`{your_api_key}` ## Daily Change Log Provides IDs and timestamps for teams, players, game statistics, schedules, and standings that have been modified on a given date. To receive the data updates, use these unique IDs to pull relevant API feeds.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Info Data Points: Game Id Last Updated
    League Info Data Points: League Alias
    League Id
    League Name Season Id
    Player Data Points: Full Name
    Last Modified
    Id SR Id
    Team Data Points: Id
    Last Modified
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/league/2013/12/21/changes.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/league/2013/12/21/changes.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/league/2013/12/21/changes.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Daily Change Log feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/league/`{year}`/`{month}`/`{day}`/changes.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Change Log, use the following URL. https://feed.elasticstats.com/schema/basketball/changelog-v2.0.xsd Return to API map ## Daily Schedule Date, time, location, and other event details for every game taking place in the league-defined day.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Info Data Points: Away Team Alias
    Away Team Id
    Away Team Name
    Away Team Points
    Away Team Reference
    Away Team Seed Number
    Away Team SR Id
    Broadcast Cable
    Broadcast Channel
    Broadcast Internet
    Broadcast Locale
    Broadcast Network
    Broadcast Radio
    Broadcast Satellite
    Broadcast Type
    Game Coverage
    Game Id
    Game Reference
    Game SR Id
    Game Status
    Game Title
    Home Team Alias
    Home Team Id
    Home Team Name
    Home Team Points
    Home Team Reference
    Home Team Seed Number
    Home Team SR Id
    Neutral Site
    Scheduled Date
    Scheduled Date and Time
    Time Zones Away Team
    Time Zones Home Team
    Time Zones Venue
    Track on Court
    League Info Data Points: League Alias League Id League Name
    Venue Info Data Points: Address
    Capacity
    City
    Country
    Description
    Name
    SR Id
    State
    Id
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/games/2013/12/21/schedule.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/games/2013/12/21/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/games/2013/12/21/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Daily Schedule feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/games/`{year}`/`{month}`/`{day}`/schedule.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Schedule, use the following URL. https://feed.elasticstats.com/schema/basketball/schedule-v5.0.xsd Return to API map ## Daily Transfers Information for all transfers added or edited during the league-defined day.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: League Alias League Id League Name
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Transfers Description
    Transfers Effective Date
    Transfers End Date
    Transfers Id
    Transfers New Team Id
    Transfers New Team Market
    Transfers New Team Name
    Transfers New Team Reference
    Transfers New Team SR Id
    Transfers Notes
    Transfers Old Team Id
    Transfers Old Team Market
    Transfers Old Team Name
    Transfers Old Team Reference
    Transfers Old Team SR Id
    Transfers Start Date
    Transfers Update Date
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/league/2013/12/21/transfers.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/league/2013/12/21/transfers.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/league/2013/12/21/transfers.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Daily Transfers feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/league/`{year}`/`{month}`/`{day}`/transfers.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Daily Transfers, use the following URL. https://feed.elasticstats.com/schema/basketball/transfers-v2.0.xsd Return to API map ## Draft Summary Provides pre-draft pick order with live pick selections during the draft. Displays information on draft rounds, picks, teams, and prospects for a given draft year.
    Update Frequency: 5am CST Daily
    Content Type: Raw XML or JSON
    Draft Information Data Points: Broadcast Channel
    Broadcast Internet
    Broadcast Network
    Draft End Date
    Draft Id
    Draft Start Date
    Draft Status
    Draft Team Alias
    Draft Team Id
    Draft Team Market
    Draft Team Name
    Draft Year
    Pick Id
    Pick Number
    Pick Overall
    Round End Date
    Round Id
    Round Number
    Round Start Date
    Round Status
    Trade Id
    League Information Data Points: Alias Id Name
    Player Information Data Points: Prospect Birth Place
    Prospect Experience
    Prospect First Name
    Prospect Height
    Prospect Id
    Prospect Last Name
    Prospect League Id
    Prospect Name
    Prospect Position
    Prospect Source Id
    Prospect Top Prospect
    Prospect Weight
    Team Information Data Points: Alias
    Id
    Market Name
    Venue Information Data Points: Address
    City
    Country
    Name
    State
    > To generate the Draft Summary for 2018 replace {your_api_key} with your API key: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/v1/en/2019/draft.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/draft/nba/trial/v1/en/2019/draft.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/draft/nba/trial/v1/en/2019/draft.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Draft Summary feed by replacing the parameters in the following URL: https://api.sportradar.us/draft/nba/`{access_level}`/`{version}`/`{language_code}`/`{year}`/draft.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), or Trial (trial). | | `version` | Version number of the Draft API you are accessing (current version: v1). NOTE: All draft feeds are currently v1. | | `language_code` | 2 letter code for supported languages: en (English). | | `year` | Year in 4 digit format (YYYY). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Draft Summary, use the following URL. https://feed.elasticstats.com/schema/draft/summary-v1.0.xsd Return to API map ## Free Agents Detailed player information for all current free agents in the league.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: League Alias League Id League Name
    Player Info Data Points: Abbreviated Name
    Birth Date
    Birth Place
    College
    Experience
    First Name
    Full Name
    Height (in)
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Status
    Updated
    Weight (lbs)
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/league/free_agents.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/league/free_agents.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/league/free_agents.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Free Agents feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/league/free_agents.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Free Agents, use the following URL. https://feed.elasticstats.com/schema/basketball/free-agents-v2.0.xsd Return to API map ## Game Boxscore Top-level team scores by quarter, along with full statistics for each team's leader in points, rebounds, and assists.
    Update Frequency: Real-time
    Content Type: XML or JSON
    Game Info Data Points: Away Team Id
    Game Clock
    Game Coverage
    Game Duration
    Game Id
    Game Quarter
    Game Reference
    Game SR Id
    Game Status
    Game Title
    Home Team Id
    Neutral Site
    Scheduled Date And Time
    Time Zones Away Team
    Time Zones Home
    Time Zones Venue
    Track on Court
    Boxscore Data Points: Attendance
    Lead Changes
    Scoreboard - Away Team Game Score
    Scoreboard - Away Team Id
    Scoreboard - Away Team Market
    Scoreboard - Away Team Name
    Scoreboard - Away Team Quarter Score
    Scoreboard - Away Team Reference
    Scoreboard - Away Team SR Id
    Scoreboard - Home Team Flag
    Scoreboard - Home Team Game Score
    Scoreboard - Home Team Id
    Scoreboard - Home Team Market
    Scoreboard - Home Team Name
    Scoreboard - Home Team Quarter Score
    Scoreboard - Home Team Reference
    Scoreboard - Home Team SR Id
    Scoreboard - Quarter Number
    Scoreboard - Quarter Sequence
    Team Assists Leader - Player Full Name
    Team Assists Leader - Player Id
    Team Assists Leader - Player Reference
    Team Assists Leader - Player SR Id
    Team Points Leader - Player Full Name
    Team Points Leader - Player Id
    Team Points Leader - Player Reference
    Team Points Leader - Player SR Id
    Team Rebounds Leader - Player Full Name
    Team Rebounds Leader - Player Id
    Team Rebounds Leader - Player Reference
    Team Rebounds Leader - Player SR Id
    Times Tied
    Team Info Data Points: Id
    Market
    Name
    Reference
    SR Id
    Player Info Data Points: Full Name
    Jersey Number
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Player Game Statistics Data Points: Assists
    Assists To Turnover Ratio
    Blocked Attempts
    Blocked Shots
    Defensive Rebounds
    Double Double
    Effective Field Goal Percentage
    Efficiency
    Efficiency Game Score
    Field Goal Attempts
    Field Goal Percentage
    Field Goals Made
    Flagrant Fouls
    Fouls Drawn
    Free Throw Attempts
    Free Throw Percentage
    Free Throws Made
    Minutes Played
    Offensive Fouls
    Offensive Rebounds
    Personal Fouls
    Plus/Minus
    Points
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Made
    Points in the Paint Percentage
    Points Off Turnovers
    Rebounds
    Second Chance Points
    Steals
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Point Attempts
    Three Point Percentage
    Three Points Made
    Triple Double
    Turnovers
    Two Point Attempts
    Two Point Percentage
    Two Points Made
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/boxscore.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/boxscore.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/boxscore.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Boxscore feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/boxscore.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Game Boxscore, use the following URL. https://feed.elasticstats.com/schema/basketball/game-v5.0.xsd Return to API map ## Game Summary Top-level boxscore information along with detailed game stats at the team and player levels.
    Update Frequency: Real-time
    Content Type: XML or JSON
    Game Info Data Points: Away Team Id
    Game Clock
    Game Coverage
    Game Duration
    Game Id
    Game Quarter
    Game SR Id
    Game Status
    Game Title
    Home Team Id
    Neutral Site
    Scheduled Date And Time
    Time Zones Away Team
    Time Zones Home
    Time Zones Venue
    Track on Court
    Boxscore Info Data Points: Attendance
    Game Officials - Assignment
    Game Officials - Experience
    Game Officials - First Name
    Game Officials - Full Name
    Game Officials - Id
    Game Officials - Last Name
    Game Officials - Number
    Lead Changes
    Lineups - Active For Game
    Lineups - Ejected
    Lineups - Fouled Out
    Lineups - Not Playing Reason
    Lineups - On Court
    Lineups - Played
    Lineups - Started
    Scoreboard - Away Team Game Score
    Scoreboard - Away Team Id
    Scoreboard - Away Team Market
    Scoreboard - Away Team Name
    Scoreboard - Away Team Quarter Score
    Scoreboard - Away Team Reference
    Scoreboard - Away Team SR Id
    Scoreboard - Home Team Flag
    Scoreboard - Home Team Game Score
    Scoreboard - Home Team Id
    Scoreboard - Home Team Market
    Scoreboard - Home Team Name
    Scoreboard - Home Team Quarter Score
    Scoreboard - Home Team Reference
    Scoreboard - Home Team SR Id
    Scoreboard - Quarter Number
    Scoreboard - Quarter Sequence
    Times Tied
    Team Info Data Points: Coach - First Name
    Coach - Full Name
    Coach - Id
    Coach - Last Name
    Coach - Position
    Id
    Market
    Name
    Reference
    SR Id
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Player Period Statistics Data Points: Assists
    Assists To Turnover Ratio
    Blocked Attempts
    Blocked Shots
    Coach Ejections
    Coach Tech Fouls
    Defensive Rating
    Defensive Rebounds
    Defensive Rebounds Percentage
    Effective Field Goal Percentage
    Efficiency
    Efficiency Game Score
    Fast Break Attempts
    Fast Break Made
    Fast Break Percentage
    Fast Break Points
    Field Goal Attempts
    Field Goal Percentage
    Field Goals Made
    Flagrant Fouls
    Fouls Drawn
    Free Throw Attempts
    Free Throw Percentage
    Free Throws Made
    Minus
    Minutes Played
    Offensive Fouls
    Offensive Rating
    Offensive Rebounds
    Offensive Rebounds Percentage
    Personal Fouls
    Period Id
    Period Number
    Period Type
    Period Sequence
    Plus
    Plus/Minus
    Points
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Made
    Points in the Paint Percentage
    Points Off Turnovers
    Rebounds
    Rebounds Percentage
    Second Chance Attempts
    Second Chance Made
    Second Chance Percentage
    Second Chance Points
    Steals
    Steals Percentage
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Point Attempts
    Three Point Percentage
    Three Points Made
    True Shooting Attempts
    True Shooting Percentage
    Turnovers
    Turnovers Percentage
    Two Point Attempts
    Two Point Percentage
    Two Points Made
    Team Period Statistics Data Points: Assists
    Assists To Turnover Ratio
    Bench Points
    Biggest Lead
    Blocked Attempts
    Blocked Shots
    Coach Ejections
    Coach Technical Fouls
    Defensive Points per Possession
    Defensive Rating
    Defensive Rebounds
    Effective Field Goal Percentage
    Efficiency
    Efficiency Game Score
    Ejections
    Fast Break Attempts
    Fast Break Made
    Fast Break Percentage
    Fast Break Points
    Field Goal Attempts
    Field Goal Percentage
    Field Goals Made
    Flagrant Fouls
    Fouls Drawn
    Free Throw Attempts
    Free Throw Percentage
    Free Throws Made
    Minutes Played
    Offensive Fouls
    Offensive Points per Possession
    Offensive Rating
    Offensive Rebounds
    Opponent Possessions
    Period Id
    Period Number
    Period Sequence
    Period Type
    Personal Fouls
    Player Technical Fouls
    Plus/Minus
    Points
    Points Against
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Percentage
    Points in the Paint Made
    Points off Turnovers
    Possessions
    Rebounds
    Second Chance Attempts
    Second Chance Made
    Second Chance Percentage
    Second Chance Points
    Steals
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Rebounds
    Team Technical Fouls
    Team Turnovers
    Technical Other
    Three Point Attempts
    Three Point Percentage
    Three Points Made
    Time Leading
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Percentage
    Turnovers
    Two Point Attempts
    Two Point Percentage
    Two Points Made
    Player Game Statistics Data Points: Assists
    Assists To Turnover Ratio
    Blocked Attempts
    Blocked Shots
    Coach Ejections
    Coach Tech Fouls
    Defensive Rating
    Defensive Rebounds
    Defensive Rebounds Percentage
    Double Double
    Effective Field Goal Percentage
    Efficiency
    Efficiency Game Score
    Fast Break Attempts
    Fast Break Made
    Fast Break Percentage
    Fast Break Points
    Field Goal Attempts
    Field Goal Percentage
    Field Goals Made
    Flagrant Fouls
    Fouled Out
    Fouls Drawn
    Free Throw Attempts
    Free Throw Percentage
    Free Throws Made
    Games Played
    Games Started
    Minus
    Minutes Played
    Offensive Fouls
    Offensive Rating
    Offensive Rebounds
    Offensive Rebounds Percentage
    Personal Fouls
    Plus
    Plus/Minus
    Points
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Made
    Points in the Paint Percentage
    Points Off Turnovers
    Rebounds
    Rebounds Percentage
    Second Chance Attempts
    Second Chance Made
    Second Chance Percentage
    Second Chance Points
    Steals
    Steals Percentage
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Point Attempts
    Three Point Percentage
    Three Points Made
    Triple Double
    True Shooting Attempts
    True Shooting Percentage
    Turnovers
    Turnovers Percentage
    Two Point Attempts
    Two Point Percentage
    Two Points Made
    Team Game Statistics Data Points: Assists
    Assists To Turnover Ratio
    Bench Points
    Biggest Lead
    Blocked Attempts
    Blocked Shots
    Coach Ejections
    Coach Technical Fouls
    Defensive Points per Possession
    Defensive Rating
    Defensive Rebounds
    Effective Field Goal Percentage
    Efficiency
    Efficiency Game Score
    Ejections
    Fast Break Attempts
    Fast Break Made
    Fast Break Percentage
    Fast Break Points
    Field Goal Attempts
    Field Goal Percentage
    Field Goals Made
    Flagrant Fouls
    Foul Outs
    Fouls Drawn
    Free Throw Attempts
    Free Throw Percentage
    Free Throws Made
    Minutes Played
    Most Unanswered - Opponent Score
    Most Unanswered - Own Score
    Most Unanswered - Points
    Offensive Fouls
    Offensive Points per Possession
    Offensive Rating
    Offensive Rebounds
    Opponent Possessions
    Personal Fouls
    Player Technical Fouls
    Plus/Minus
    Points
    Points Against
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Percentage
    Points in the Paint Made
    Points off Turnovers
    Possessions
    Rebounds
    Second Chance Attempts
    Second Chance Made
    Second Chance Percentage
    Second Chance Points
    Steals
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Rebounds
    Team Technical Fouls
    Team Turnovers
    Technical Other
    Three Point Attempts
    Three Point Percentage
    Three Points Made
    Time Leading
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Percentage
    Turnovers
    Two Point Attempts
    Two Point Percentage
    Two Points Mad
    Venue Data Points: Address
    Capacity
    City
    Country
    Description
    Name
    SR Id
    State
    Venue Id
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/summary.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/summary.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Summary feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/summary.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Game Summary, use the following URL. https://feed.elasticstats.com/schema/basketball/game-v5.0.xsd Return to API map ## Injuries Information concerning all active player injuries for each NBA team.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Data Points: League Alias League Id League Name
    Player Info Data Points: First Name
    Full Name
    Injuries - Injury Comment
    Injuries - Injury Description
    Injuries - Injury Id
    Injuries - Injury Start Date
    Injuries - Injury Status
    Injuries - Update Date
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Team Info Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/league/injuries.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/league/injuries.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/league/injuries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Injuries feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/league/injuries.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Injuries, use the following URL. https://feed.elasticstats.com/schema/basketball/injuries-v2.0.xsd Return to API map ## League Hierarchy League, conference, division, and team identification and association information.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    League Alias
    League Id
    League Name
    Team Info Data Points: Alias
    Id
    Market
    Name
    Reference
    SR Id
    Venue Info Data Points: Address
    Capacity
    City
    Country
    Description
    Name
    SR Id
    State
    Venue Id
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/league/hierarchy.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/league/hierarchy.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/league/hierarchy.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the League Hierarchy feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/league/hierarchy.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for League Hierarchy, use the following URL. https://feed.elasticstats.com/schema/basketball/nba/hierarchy-v5.0.xsd Return to API map ## League Leaders NBA leader information for various offensive and defensive categories including full player seasonal statistics for each player in each category.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Season Id Season Type Season Year
    League Leaders Data Points: Assists
    Assists Per Game
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Category Name
    Category Type
    Defensive Rebounds
    Defensive Rebounds Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Foulouts
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Leaders Alias
    Leaders Id
    Leaders Name
    Leaders SR Id
    Minutes Played
    Minutes Played Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Player Rank
    Points
    Points Per Game
    Rebounds
    Rebounds Per Game
    Stat Category
    Steals
    Steals Per Game
    Technical Fouls
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Tied Flag
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Player Season Statistics Data Points: Assists
    Assists Per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Tech Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency Per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Fouled Out
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Games Started
    Minus
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Plus
    Points
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points Off Turnovers
    Points Off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Team Data Points: Id
    Market
    Name SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2017/REG/leaders.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2017/REG/leaders.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2017/REG/leaders.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the League Leaders feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/leaders.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), Play in Tournament (PIT), In-Season Tournament (IST), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for League Leaders, use the following URL. https://feed.elasticstats.com/schema/basketball/statistics-v3.0.xsd Return to API map ## Play-By-Play Detailed, real-time information on every team possession and game event.
    Update Frequency: Real-time
    Content Type: XML or JSON
    Game Info Data Points: Away Team Id
    Game Clock
    Game Coverage
    Game Id
    Game Quarter
    Game SR Id
    Game Status
    Game Title
    Home Team Id
    Neutral Site
    Scheduled Date And Time
    Time Zones Away Team
    Time Zones Home Team
    Time Zones Venue
    Track on Court
    Boxscore Info Data Points: Attendance Lead Changes Times Tied
    Play-By-Play Data Points: Attribution - Team Id
    Attribution - Team Market
    Attribution - Team Name
    Attribution - Team Reference
    Attribution - Team SR Id
    Away Team Game Score
    Away Team Id
    Away Team Market
    Away Team Name
    Away Team Quarter Score
    Away Team Reference
    Away Team SR Id
    Basket Team is Attacking
    Event Attempt
    Event Away Points
    Event Clock
    Event Description
    Event Free Throw Type
    Event Home Points
    Event Id
    Event Action Area
    Event Location - X Coordinate
    Event Location - Y Coordinate
    Event Number
    Event Participants - Player Full Name
    Event Participants - Player Id
    Event Participants - Player Jersey Number
    Event Participants - Player Reference
    Event Participants - Player SR Id
    Event Participants - Team Id
    Event Participants - Team Market
    Event Participants - Team Name
    Event Participants - Team Reference
    Event Participants - Team SR Id
    Event Qualifier Name
    Event Qualifiers
    Event Sequence
    Event Shot Type
    Event Shot Type Description
    Event Turnover Type
    Event Type
    Event Updated
    Event Wall Clock
    Fieldgoal - Made Flag
    Fieldgoal - Points
    Fieldgoal - Shot Type
    Fieldgoal - Shot Type Description
    Fieldgoal - Three Point Shot
    Freethrow - Made Flag
    Freethrow - Free Throw Type
    Home Team Game Score
    Home Team Id
    Home Team Market
    Home Team Name
    Home Team Quarter Score
    Home Team Reference
    Home Team SR Id
    On Court Participants - Player Full Name
    On Court Participants - Player Id
    On Court Participants - Player Jersey Number
    On Court Participants - Player Reference
    On Court Participants - Player SR Id
    On Court Participants - Team Id
    On Court Participants - Team Market
    On Court Participants - Team Name
    On Court Participants - Team Reference
    On Court Participants - Team SR Id
    Overtime Id
    Overtime Number
    Overtime Sequence
    Possession - Team Id
    Possession - Team Market
    Possession - Team Name
    Possession - Team Reference
    Possession - Team SR Id
    Quarter Id
    Quarter Number
    Quarter Sequence
    Rebound - Rebound Type
    Scoring Times Tied
    Scoring Lead Changes
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/pbp.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/pbp.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/games/013dd2a7-fec4-4cc5-b819-f3cf16a1f820/pbp.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Play-By-Play feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/games/`{game_id}`/pbp.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `game_id` | ID for a given game. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Play-By-Play, use the following URL. https://feed.elasticstats.com/schema/basketball/pbp-v5.0.xsd Return to API map ## Player Profile Provides player biographical information, draft information, and seasonal statistics.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: League Alias
    League Id
    League Name
    Season Id
    Season Type
    Season Year
    Player Info Data Points: Abbreviated Name
    Birth Date
    Birth Place
    College
    Draft Pick
    Draft Round
    Draft Team
    Draft Year
    Experience
    First Name
    Full Name
    Height (in)
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Status
    Update Date
    Weight (lbs)
    Player Seasonal Statistics Data Points: Assists
    Assists Per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Tech Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency Per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Fouled Out
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Games Started
    Minus
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Plus
    Points
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points Off Turnovers
    Points Off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Team Info Data Points: Alias
    Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/players/37fbc3a5-0d10-4e22-803b-baa2ea0cdb12/profile.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/players/37fbc3a5-0d10-4e22-803b-baa2ea0cdb12/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/players/37fbc3a5-0d10-4e22-803b-baa2ea0cdb12/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Player Profile feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/players/`{player_id}`/profile.`{format}`?api_key=`{your_api_key}` Access the Player Profile feed by replacing the parameters in the following URL: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `player_id` | ID for a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Player Profile, use the following URL. https://feed.elasticstats.com/schema/basketball/profile-v3.0.xsd Return to API map ## Prospects Provides a list of upcoming or historical draft prospects for a given year.
    Update Frequency: As Necessary
    Content Type: Raw XML or JSON
    Draft Information Data Points: Broadcast Channel
    Broadcast Internet
    Broadcast Network
    Draft End Date
    Draft Id
    Draft Start Date
    Draft Status
    Draft Team Alias
    Draft Team Id
    Draft Team Market
    Draft Team Name
    Draft Year
    League Information Data Points: Alias
    Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Id
    Name
    Player Information Data Points: Prospect Birth Place
    Prospect Experience
    Prospect First Name
    Prospect Height
    Prospect Id
    Prospect Last Name
    Prospect League Id
    Prospect Name
    Prospect Position
    Prospect Source Id
    Prospect Top Prospect
    Prospect Weight
    Team Information Data Points: Alias
    Id
    Market Name
    Venue Information Data Points: Address
    City
    Country
    Name
    State
    > To generate the Prospects for the year below replace {your_api_key} with your API key: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/v1/en/2019/prospects.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/draft/nba/trial/v1/en/2019/prospects.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/draft/nba/trial/v1/en/2019/prospects.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Prospects feed by replacing the parameters in the following URL: https://api.sportradar.us/draft/nba/`{access_level}`/`{version}`/`{language_code}`/`{year}`/prospects.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), or Trial (trial). | | `version` | Version number of the Draft API you are accessing (current version: v1). NOTE: All draft feeds are currently v1. | | `language_code` | 2 letter code for supported languages: en (English). | | `year` | Year in 4 digit format (YYYY). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Prospects use the following URL. https://feed.elasticstats.com/schema/draft/prospects-v1.0.xsd Return to API map ## Rankings Conference and division rank for each team, including postseason clinching status.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    League Alias
    League Id
    League Name
    Season Id
    Season Type
    Season Year
    Standings Info Data Points: Conference Rank Division Rank Playoff Status
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2016/REG/rankings.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2016/REG/rankings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2016/REG/rankings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Rankings feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/rankings.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), In-Season Tournament (IST), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Rankings, use the following URL. https://feed.elasticstats.com/schema/basketball/nba/rankings-v3.0.xsd Return to API map ## Schedule Date, time, location, and other event details for every match-up taking place in the full league season.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Info Data Points: Away Team Alias
    Away Team Id
    Away Team Name
    Away Team Points
    Away Team Reference
    Away Team Seed Number
    Away Team SR Id
    Broadcast Cable
    Broadcast Channel
    Broadcast Internet
    Broadcast Locale
    Broadcast Network
    Broadcast Radio
    Broadcast Satellite
    Broadcast Type
    Game Coverage
    Game Id
    Game Reference
    Game SR Id
    Game Status
    Game Title
    Home Team Alias
    Home Team Id
    Home Team Name
    Home Team Points
    Home Team Reference
    Home Team Seed Number
    Home Team SR Id
    Neutral Site
    Scheduled Date and Time
    Time Zones Away Team
    Time Zones Home Team
    Time Zones Venue
    Track on Court
    League Info Data Points: League Alias
    League Id
    League Name
    Season Id
    Season Type
    Season Year
    Venue Info Data Points: Address
    Capacity
    City
    Country
    Description
    Name
    SR Id
    State
    Venue Id
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/games/2016/REG/schedule.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/games/2016/REG/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/games/2016/REG/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Schedule feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/games/`{season_year}`/`{nba_season}`/schedule.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), Play in Tournament (PIT), In-Season Tournament (IST), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Schedule, use the following URL. https://feed.elasticstats.com/schema/basketball/schedule-v5.0.xsd Return to API map ## Seasonal Statistics (Season To Date) Provides complete team and player seasonal statistics for a given season and season type.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Season Id Season Type Season Year
    Player Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Opponent Seasonal Statistics Data Points: Assists
    Assists Per Game
    Assists To Turnover Ratio
    Bench Points
    Bench Points Per Game
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Technical Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Foul Outs
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Points
    Points Against
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points off Turnovers
    Points off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Technical Other
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Player Seasonal Statistics Data Points: Assists
    Assists Per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Tech Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency Per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Fouled Out
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Games Started
    Minus
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Plus
    Points
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points Off Turnovers
    Points Off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Team Seasonal Statistics Data Points: Assists
    Assists Per Game
    Assists To Turnover Ratio
    Bench Points
    Bench Points Per Game
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Technical Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Foul Outs
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Points
    Points Against
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points off Turnovers
    Points off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Technical Other
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Team Info Data Points: Id
    Market
    Name SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2013/REG/teams/583eca2f-fb46-11e1-82cb-f4ce4684ea4c/statistics.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2013/REG/teams/583eca2f-fb46-11e1-82cb-f4ce4684ea4c/statistics.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2013/REG/teams/583eca2f-fb46-11e1-82cb-f4ce4684ea4c/statistics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Seasonal Statistics feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/teams/`{team_id}`/statistics.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), Play in Tournament (PIT), In-Season Tournament (IST), or Postseason (PST). | | `team_id` | ID for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Seasonal Statistics, use the following URL. https://feed.elasticstats.com/schema/basketball/statistics-v3.0.xsd Return to API map ## Series Schedule Playoff participant information as well as the date, time, location, and other event details for every match-up taking place for the entire playoffs.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Game Info Data Points: Away Team Alias
    Away Team Id
    Away Team Name
    Away Team Points
    Away Team Reference
    Away Team Seed Number
    Away Team SR Id
    Broadcast Cable
    Broadcast Channel
    Broadcast Internet
    Broadcast Locale
    Broadcast Network
    Broadcast Radio
    Broadcast Satellite
    Broadcast Type
    Game Coverage
    Game Id
    Game Reference
    Game SR Id
    Game Status
    Game Title
    Home Team Alias
    Home Team Id
    Home Team Name
    Home Team Points
    Home Team Reference
    Home Team Seed Number
    Home Team SR Id
    Neutral Site
    Scheduled Date and Time
    Time Zones Away Team
    Time Zones Home Team
    Time Zones Venue
    Track on Court
    League Info Data Points: League Alias
    League Id
    League Name
    Season Id
    Season Type
    Season Year
    Series Info Data Points: Participant - Name
    Participant - Record
    Participant - Seed
    Round
    Series Id
    Series Title
    Start Date
    Status
    Team Info Data Points: Alias
    Id
    Market
    Name
    SR Id
    Venue Info Data Points: Address
    Capacity
    City
    Country
    Description
    Name
    SR Id
    State
    Venue Id
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/series/2016/PST/schedule.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/series/2016/PST/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/series/2016/PST/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Series Schedule feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/series/`{season_year}`/`{nba_season}`/schedule.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Regular Season (REG), In-Season Tournament (IST), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Series Schedule, use the following URL. https://feed.elasticstats.com/schema/basketball/schedule-v5.0.xsd Return to API map ## Series Statistics Detailed team and player statistics for a given playoff series.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    Series Info Data Points: Series Id Series Title Series Status
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Opponent Seasonal Statistics Data Points: Assists
    Assists Per Game
    Assists To Turnover Ratio
    Bench Points
    Bench Points Per Game
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Technical Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Foul Outs
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Points
    Points Against
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points off Turnovers
    Points off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Technical Other
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Player Seasonal Statistics Data Points: Assists
    Assists Per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Tech Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency Per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Fouled Out
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Games Started
    Minus
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Plus
    Points
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points Off Turnovers
    Points Off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Team Seasonal Statistics Data Points: Assists
    Assists Per Game
    Assists To Turnover Ratio
    Bench Points
    Bench Points Per Game
    Blocked Attempts
    Blocked Attempts Per Game
    Blocked Shots
    Blocked Shots Per Game
    Coach Ejections
    Coach Technical Fouls
    Defensive Rebounds
    Defensive Rebounds Per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts Per Game
    Fast Break Made
    Fast Break Made Per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points Per Game
    Field Goal Attempts
    Field Goal Attempts Per Game
    Field Goal Percentage
    Field Goals Made
    Field Goals Made Per Game
    Flagrant Fouls
    Flagrant Fouls Per Game
    Foul Outs
    Fouls Drawn
    Fouls Drawn Per Game
    Free Throw Attempts
    Free Throw Attempts Per Game
    Free Throw Percentage
    Free Throws Made
    Free Throws Made Per Game
    Games Played
    Minutes Played
    Minutes Played Per Game
    Offensive Fouls
    Offensive Fouls Per Game
    Offensive Rebounds
    Offensive Rebounds Per Game
    Personal Fouls
    Personal Fouls Per Game
    Points
    Points Against
    Points in the Paint
    Points in the Paint Attempts
    Points in the Paint Attempts Per Game
    Points in the Paint Made
    Points in the Paint Made Per Game
    Points in the Paint Per Game
    Points in the Paint Percentage
    Points off Turnovers
    Points off Turnovers Per Game
    Points Per Game
    Rebounds
    Rebounds Per Game
    Second Chance Attempts
    Second Chance Attempts Per Game
    Second Chance Made
    Second Chance Made Per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points Per Game
    Steals
    Steals Per Game
    Technical Fouls
    Technical Other
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Three Point Attempts
    Three Point Attempts Per Game
    Three Point Percentage
    Three Points Made
    Three Points Made Per Game
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts Per Game
    True Shooting Percentage
    Turnovers
    Turnovers Per Game
    Two Point Attempts
    Two Point Attempts Per Game
    Two Point Percentage
    Two Points Made
    Two Points Made Per Game
    Team Data Points: Id
    Market
    Name SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/series/dc528f4c-c8c8-4067-9981-bb64ba1a3e2f/teams/583eccfa-fb46-11e1-82cb-f4ce4684ea4c/statistics.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/series/dc528f4c-c8c8-4067-9981-bb64ba1a3e2f/teams/583eccfa-fb46-11e1-82cb-f4ce4684ea4c/statistics.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/series/dc528f4c-c8c8-4067-9981-bb64ba1a3e2f/teams/583eccfa-fb46-11e1-82cb-f4ce4684ea4c/statistics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Series Statistics feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/series/`{series_id}`/teams/`{team_id}`/statistics.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `series id` | ID of a given series. | | `team_id` | ID for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Series Statistics, use the following URL. https://feed.elasticstats.com/schema/basketball/statistics-v3.0.xsd Return to API map ## Splits (Game) Detailed Team, Player, and Opponent game splits across various views including: Home Team, Loss, Vs Opponent, Overtime, Over 500, Road, Under 500, At Venue, and Wins.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Season Id
    Season Type
    Season Year
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Opponent Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Player Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempts per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempts
    Free Throws Attempts per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Games Started
    Minus
    Minutes
    Minutes per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Plus
    Points
    Points in Paint
    Points in Paint Attempts
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Points Attempted
    Three Points Attempts per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempts per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/game.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/game.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/game.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Game Splits feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/teams/`{team_id}`/splits/game.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), Play in Tournament (PIT), In-Season Tournament (IST), or Postseason (PST). | | `team_id` | Id for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Game Splits, use the following URL. https://feed.elasticstats.com/schema/basketball/statistics-v3.0.xsd Return to API map ## Splits (Hierarchy) Detailed Team, Player, and Opponent splits across each Conference and Division.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Season Id
    Season Type
    Season Year
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Opponent Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Player Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempts per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempts
    Free Throws Attempts per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Games Started
    Minus
    Minutes
    Minutes per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Plus
    Points
    Points in Paint
    Points in Paint Attempts
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Points Attempted
    Three Points Attempts per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempts per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/hierarchy.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/hierarchy.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/hierarchy.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Hierarchy Splits feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/teams/`{team_id}`/splits/hierarchy.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), Play in Tournament (PIT), In-Season Tournament (IST), or Postseason (PST). | | `team_id` | Id for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Hierarchy Splits, use the following URL. https://feed.elasticstats.com/schema/basketball/statistics-v3.0.xsd Return to API map ## Splits (In-game) Detailed Team, Player, and Opponent in-game splits across various views including: Higher Field Goal Percentage, Less Personal Fouls, Less Rebounds, Less Turnovers, Lower Field Goal Percentage, More Personal Fouls, More Rebounds, More Turnovers, Over 100 Against, Over 100 For, Same Personal Fouls, Same Rebounds, Same Turnovers, Under 100 Against, and Under 100 For.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Season Id
    Season Type
    Season Year
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Opponent Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Player Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempts per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempts
    Free Throws Attempts per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Games Started
    Minus
    Minutes
    Minutes per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Plus
    Points
    Points in Paint
    Points in Paint Attempts
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Points Attempted
    Three Points Attempts per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempts per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/ingame.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/ingame.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/ingame.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the In-Game Splits feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/teams/`{team_id}`/splits/ingame.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), Play in Tournament (PIT), In-Season Tournament (IST), or Postseason (PST). | | `team_id` | Id for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for In-Game Splits, use the following URL. https://feed.elasticstats.com/schema/basketball/statistics-v3.0.xsd Return to API map ## Splits (Schedule) Detailed Team, Player, and Opponent splits across various schedule views including: Days of Rest (1, 2, or 3+), Day of the Week, Last 5, Last 10, By Month, and By Week.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Season Id
    Season Type
    Season Year
    Player Info Data Points: First Name
    Full Name
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Opponent Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Player Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Double Doubles
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempts per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempts
    Free Throws Attempts per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Games Started
    Minus
    Minutes
    Minutes per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Plus
    Points
    Points in Paint
    Points in Paint Attempts
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Technical Fouls
    Technical Fouls - Non-Unsportsmanlike
    Three Points Attempted
    Three Points Attempts per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Triple Doubles
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempts per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Splits Data Points: Assists
    Assists per Game
    Assists to Turnover Ratio
    Bench Points
    Bench Points per Game
    Blocked Attempts
    Blocked Attempts per Game
    Blocks
    Blocks per Game
    Coach Ejections
    Coach Technical Fouls
    Day of Week
    Days of Rest
    Defensive Rebounds
    Defensive Rebounds per Game
    Effective Field Goal Percentage
    Efficiency
    Efficiency per Game
    Ejections
    Fast Break Attempts
    Fast Break Attempts per Game
    Fast Break Made
    Fast Break Made per Game
    Fast Break Percentage
    Fast Break Points
    Fast Break Points per Game
    Field Goals Attempted
    Field Goals Attempted per Game
    Field Goals Made
    Field Goals Made per Game
    Field Goals Percentage
    Flagrant Fouls
    Flagrant Fouls per Game
    Foulouts
    Fouls Drawn
    Fouls Drawn per Game
    Free Throws Attempted
    Free Throws Attempted per Game
    Free Throws Made
    Free Throws Made per Game
    Free Throws Percentage
    Games Played
    Minutes Played
    Minutes Played per Game
    Month
    Offensive Fouls
    Offensive Fouls per Game
    Offensive Rebounds
    Offensive Rebounds per Game
    Personal Fouls
    Personal Fouls per Game
    Points
    Points Against
    Points in Paint
    Points in Paint Attempted
    Points in Paint Attempts per Game
    Points in Paint Made
    Points in Paint Made per Game
    Points in Paint per Game
    Points in Paint Percentage
    Points Off Turnovers
    Points Off Turnovers per Game
    Points per Game
    Rebounds
    Rebounds per Game
    Second Chance Attempts
    Second Chance Attempts per Game
    Second Chance Made
    Second Chance Made per Game
    Second Chance Percentage
    Second Chance Points
    Second Chance Points per Game
    Split Category
    Steals
    Steals per Game
    Team Defensive Rebounds
    Team Fouls
    Team Offensive Rebounds
    Team Technical Fouls
    Technical Fouls
    Technical Other
    Three Points Attempted
    Three Points Attempted per Game
    Three Points Made
    Three Points Made per Game
    Three Points Percentage
    Total Fouls
    Total Rebounds
    True Shooting Attempts
    True Shooting Attempts per Game
    True Shooting Percentage
    Turnovers
    Turnovers per Game
    Two Points Attempted
    Two Points Attempted per Game
    Two Points Made
    Two Points Made per Game
    Two Points Percentage
    Week
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/schedule.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/schedule.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2017/PST/teams/583ec825-fb46-11e1-82cb-f4ce4684ea4c/splits/schedule.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Schedule Splits feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/teams/`{team_id}`/splits/schedule.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), Play in Tournament (PIT), In-Season Tournament (IST), or Postseason (PST). | | `team_id` | Id for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Schedule Splits, use the following URL. https://feed.elasticstats.com/schema/basketball/statistics-v3.0.xsd Return to API map ## Standings Detailed team records across various views including, overall, conference, and division information.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    League Alias
    League Id
    League Name
    Season Id
    Season Type
    Season Year
    Standings Data Points: Conference Losses
    Conference Winning Percentage
    Conference Wins
    Division Losses
    Division Winning Percentage
    Division Wins
    Equal Rebounds Losses
    Equal Rebounds Winning Percentage
    Equal Rebounds Wins
    Equal Turnovers Losses
    Equal Turnovers Winning Percentage
    Equal Turnovers Wins
    Fewer Turnovers Losses
    Fewer Turnovers Winning Percentage
    Fewer Turnovers Wins
    Games Behind Conference
    Games Behind Division
    Games Behind League
    Games Decided by 10 pts or More Losses
    Games Decided by 10 pts or More Winning Percentage
    Games Decided by 10 pts or More Wins
    Games Decided by 3 pts or Less Losses
    Games Decided by 3 pts or Less Winning Percentage
    Games Decided by 3 pts or Less Wins
    Home Losses
    Home Winning Percentage
    Home Wins
    Last 10 Games Losses
    Last 10 Games Winning Percentage
    Last 10 Games Wins
    Last 10 Home Games Losses
    Last 10 Home Games Winning Percentage
    Last 10 Home Games Wins
    Last 10 Road Games Losses
    Last 10 Road Games Winning Percentage
    Last 10 Road Games Wins
    Leads Field Goal Percentage Losses
    Leads Field Goal Percentage Winning Percentage
    Leads Field Goal Percentage Wins
    Leads Rebounds Losses
    Leads Rebounds Winning Percentage
    Leads Rebounds Wins
    Opponent Fewer Turnovers Losses
    Opponent Fewer Turnovers Winning Percentage
    Opponent Fewer Turnovers Wins
    Opponent Leads Field Goal Percentage Losses
    Opponent Leads Field Goal Percentage Winning Percentage
    Opponent Leads Field Goal Percentage Wins
    Opponent Leads Rebounds Losses
    Opponent Leads Rebounds Winning Percentage
    Opponent Leads Rebounds Wins
    Opponent Scores 100 or More Losses
    Opponent Scores 100 or More Winning Percentage
    Opponent Scores 100 or More Wins
    Overall Losses
    Overall Point Differential
    Overall Points Against
    Overall Points For
    Overall Winning Percentage
    Overall Wins
    Overtime Losses
    Overtime Winning Percentage
    Overtime Wins
    Road Losses
    Road Winning Percentage
    Road Wins
    Scores 100 or More Losses
    Scores 100 or More Winning Percentage
    Scores 100 or More Wins
    Streak
    Versus Atlantic Division Losses
    Versus Atlantic Division Winning Percentage
    Versus Atlantic Division Wins
    Versus Central Division Losses
    Versus Central Division Winning Percentage
    Versus Central Division Wins
    Versus Northwest Division Losses
    Versus Northwest Division Winning Percentage
    Versus Northwest Division Wins
    Versus Pacific Division Losses
    Versus Pacific Division Winning Percentage
    Versus Pacific Division Wins
    Versus Southeast Division Losses
    Versus Southeast Division Winning Percentage
    Versus Southeast Division Wins
    Versus Southwest Division Losses
    Versus Southwest Division Winning Percentage
    Versus Southwest Division Wins
    Versus Teams Above 500 Losses
    Versus Teams Above 500 Winning Percentage
    Versus Teams Above 500 Wins
    Versus Teams Below 500 Losses
    Versus Teams Below 500 Winning Percentage
    Versus Teams Below 500 Wins
    Team Data Points: Id
    Market
    Name
    Reference
    SR Id
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/seasons/2013/REG/standings.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/seasons/2013/REG/standings.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/seasons/2013/REG/standings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Standings feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_year}`/`{nba_season}`/standings.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `season_year` | Year in 4 digit format (YYYY). | | `nba_season` | Preseason (PRE), Regular Season (REG), In-Season Tournament (IST), or Postseason (PST). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Standings, use the following URL. https://feed.elasticstats.com/schema/basketball/nba/standings-v3.0.xsd Return to API map ## Team Draft Summary Provides pre-draft pick order with live pick selections during the draft for a given team.
    Update Frequency: As Necessary
    Content Type: Raw XML or JSON
    Draft Information Data Points: Broadcast Channel
    Broadcast Internet
    Broadcast Network
    Draft End Date
    Draft Id
    Draft Start Date
    Draft Status
    Draft Team Alias
    Draft Team Id
    Draft Team Market
    Draft Team Name
    Draft Year
    Pick Id
    Pick Number
    Pick Overall
    Round End Date
    Round Id
    Round Number
    Round Start Date
    Round Status
    Trade Id
    League Information Data Points: Alias Id Name
    Player Information Data Points: Prospect Birth Place
    Prospect Experience
    Prospect First Name
    Prospect Height
    Prospect Id
    Prospect Last Name
    Prospect League Id
    Prospect Name
    Prospect Position
    Prospect Source Id
    Prospect Top Prospect
    Prospect Weight
    Team Information Data Points: Alias
    Id
    Market
    Name
    Sequence
    Venue Information Data Points: Address
    City
    Country
    Name
    State
    > To generate a Team Draft Summary for the Team ID below replace {your_api_key} with your API key: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/v1/en/2019/teams/583ecc9a-fb46-11e1-82cb-f4ce4684ea4c/draft.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/draft/nba/trial/v1/en/2019/teams/583ecc9a-fb46-11e1-82cb-f4ce4684ea4c/draft.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/draft/nba/trial/v1/en/2019/teams/583ecc9a-fb46-11e1-82cb-f4ce4684ea4c/draft.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Team Draft Summary feed by replacing the parameters in the following URL: https://api.sportradar.us/draft/nba/`{access_level}`/`{version}`/`{language_code}`/`{year}`/teams/`{team_id}`/draft.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), or Trial (trial). | | `version` | Version number of the Draft API you are accessing (current version: v1). NOTE: All draft feeds are currently v1. | | `language_code` | 2 letter code for supported languages: en (English). | | `year` | Year in 4 digit format (YYYY). | | `team_id` | ID of a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Draft Summary use the following URL. https://feed.elasticstats.com/schema/draft/summary-v1.0.xsd Return to API map ## Team Profile (Rosters) Provides top-level team information and a full roster of active players.
    Update Frequency: As Necessary
    Content Type: XML or JSON
    League Info Data Points: Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    League Alias
    League Id
    League Name
    Player Info Data Points: Abbreviated Name
    Birth Date
    Birth Place
    College
    Draft Pick
    Draft Round
    Draft Team
    Draft Year
    Experience
    First Name
    Full Name
    Height (in)
    Injuries - Injury Comment
    Injuries - Injury Description
    Injuries - Injury Id
    Injuries - Injury Start Date
    Injuries - Injury Status
    Injuries - Update Date
    Jersey Number
    Last Name
    Player Id
    Position
    Primary Position
    Reference
    SR Id
    Status
    Updated
    Weight (lbs)
    Team Info Data Points: Alias
    Coach - Experience (Years)
    Coach - First Name
    Coach - Full Name
    Coach - Id
    Coach - Last Name
    Coach - Position
    Id
    Market
    Name
    Reference
    SR Id
    Year Founded
    Venue Info Data Points: Address
    Capacity
    City
    Country
    Description
    Name
    SR Id
    State
    Venue Id
    Zip
    ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/v5/en/teams/583eca2f-fb46-11e1-82cb-f4ce4684ea4c/profile.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/nba/trial/v5/en/teams/583eca2f-fb46-11e1-82cb-f4ce4684ea4c/profile.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/nba/trial/v5/en/teams/583eca2f-fb46-11e1-82cb-f4ce4684ea4c/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Team Profile feed by replacing the parameters in the following URL: https://api.sportradar.us/nba/`{access_level}`/`{version}`/`{language_code}`/teams/`{team_id}`/profile.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `version` | Version number of the API you are accessing (Current Version: v5). | | `language_code` | 2 letter code for supported languages: en (English), ru (Russian), zh (simplified Chinese), and ja (Japanese). | | `team_id` | ID for a given team. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Team Profile, use the following URL. https://feed.elasticstats.com/schema/basketball/team-v2.0.xsd Return to API map ## Top Prospects Provides a list of the top prospects for a given year.
    Update Frequency: As Necessary
    Content Type: Raw XML or JSON
    Draft Information Data Points: Broadcast Channel
    Broadcast Internet
    Broadcast Network
    Draft End Date
    Draft Id
    Draft Start Date
    Draft Status
    Draft Team Alias
    Draft Team Id
    Draft Team Market
    Draft Team Name
    Draft Year
    League Information Data Points: Alias
    Conference Alias
    Conference Id
    Conference Name
    Division Alias
    Division Id
    Division Name
    Id
    Name
    Player Information Data Points: Prospect Birth Place
    Prospect Experience
    Prospect First Name
    Prospect Height
    Prospect Id
    Prospect Last Name
    Prospect League Id
    Prospect Name
    Prospect Position
    Prospect Source Id
    Prospect Top Prospect
    Prospect Weight
    Team Information Data Points: Alias
    Id
    Market Name
    Venue Information Data Points: Address
    City
    Country
    Name
    State
    > To generate the Top Prospects for the year below replace {your_api_key} with your API key: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/v1/en/2019/top_prospects.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/draft/nba/trial/v1/en/2019/top_prospects.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/draft/nba/trial/v1/en/2019/top_prospects.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Top Prospects feed by replacing the parameters in the following URL: https://api.sportradar.us/draft/nba/`{access_level}`/`{version}`/`{language_code}`/`{year}`/top_prospects.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), or Trial (trial). | | `version` | Version number of the Draft API you are accessing (current version: v1). NOTE: All draft feeds are currently v1. | | `language_code` | 2 letter code for supported languages: en (English). | | `year` | Year in 4 digit format (YYYY). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for the Top Prospects use the following URL. https://feed.elasticstats.com/schema/draft/prospects-v1.0.xsd Return to API map ## Trades Provides summary details of all in-draft trades.
    Update Frequency: As Necessary
    Content Type: Raw XML or JSON
    Draft Information Data Points: Broadcast Channel
    Broadcast Internet
    Broadcast Network
    Draft End Date
    Draft Id
    Draft Start Date
    Draft Status
    Draft Team Alias
    Draft Team Id
    Draft Team Market
    Draft Team Name
    Draft Year
    Future Pick Round
    Future Pick Year
    Item Amount
    Item Id
    Item Type
    Pick Id
    Pick Number
    Pick Overall
    Pick Supplemental
    Round End Date
    Round Id
    Round Number
    Round Start Date
    Trade Complete
    Trade Id
    Trade Sequence
    Transaction Id
    League Information Data Points: Alias Id Name
    Team Information Data Points: Alias
    Team Direction
    Id
    Market
    Name
    Venue Information Data Points: Address
    City
    Country
    Name
    State
    > To generate the Trades for the year below replace {your_api_key} with your API key: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/v1/en/2019/trades.xml?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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/draft/nba/trial/v1/en/2019/trades.xml?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -X GET "https://api.sportradar.us/draft/nba/trial/v1/en/2019/trades.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Trades feed by replacing the parameters in the following URL: https://api.sportradar.us/draft/nba/`{access_level}`/`{version}`/`{language_code}`/`{year}`/trades.`{format}`?api_key=`{your_api_key}` | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), or Trial (trial). | | `version` | Version number of the Draft API you are accessing (current version: v1). NOTE: All draft feeds are currently v1. | | `language_code` | 2 letter code for supported languages: en (English). | | `year` | Year in 4 digit format (YYYY). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Trades use the following URL. https://feed.elasticstats.com/schema/draft/trades-v1.0.xsd Return to API map ## Push Feeds >To best utilize Push feeds, we have included code samples in Ruby, Java and Python which provide an example of a way you can consume the feeds. Using these samples will output the feeds content to STDOUT.
    For Java, we have also provided a Stream Client to assist your integration.

    Note: In the provided Java sample, replace "URL GOES HERE" with the desired Push feed URL. ```ruby require 'httpclient' module Sportradar module HTTP module Stream class Client attr_reader :url, :logger def initialize(url, publisher, logger) @url = url @logger = logger @publisher = publisher @client = ::HTTPClient.new(:agent_name => 'SportsData/1.0') end def start @thread ||= Thread.new do logger.debug "Starting loop" @client.get_content(url, :follow_redirect => true) do |chunk| @publisher.publish(::JSON.parse(chunk)) if @publisher end logger.debug "finished loop" end end def stop @thread.terminate if @thread end end end end end ``` ```java package com.sportradar.http.stream.client; import org.junit.After; import org.junit.Before; import org.junit.Test; public class StreamClientTest { private StreamClient client; private static String SERVICE_URL = ""; @Before public void setup() { client = new StreamClient(); } @After public void cleanup() { client.terminate(); } @Test public void testStream() throws Exception { Handler handler = new ConsoleHandler(); client.stream(SERVICE_URL, handler); System.out.println("Connecting...."); Thread.sleep(1 * 60 * 1000); System.out.println("Disconnecting...."); } } ``` Some of our APIs include Push feeds that allow you to get updates as soon as they are available. Push API feeds automatically send JSON payload to you via a push service, and can dramatically reduce the number of calls you need to make to our RESTful API feeds. The structure of the Push feeds are similar to the structure of the corresponding RESTful API feed (i.e. Push Clock, Push Events, and Push Statistics). The push service ensures reliable and efficient delivery of the most up to date information. Our Push services are based on a HTTP publish/subscribe model. When making a call to the Push APIs, you "subscribe" to various data feeds provided by our service; whenever new content is available on one of those feeds, the server pushes that information out to your client. When no new information is available on the feed, a heartbeat message is sent every 5 seconds to keep the connection active. If you want to filter the results of the feeds, there are several optional query string parameters that can be applied to the API call. If left unfiltered, than all data for the feed is displayed (i.e. all games, events, or statistics). For your applications to accept data from our Push feeds, ensure that your application can: * Can follow a HTTP redirect or use the location provided in the feeds header within one minute of your initial request. * Can accept HTTP data transfer encoded as chunked. Our Push service does not provide a "stateful session", there is no memory of what data has been sent previously. If you are disconnected from the Push session, you can use the RESTful API to catch up or recover from the disconnection. Syntax for using our Push feeds and examples of the JSON payloads can be found below. ## Push Clock ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/stream/en/clock/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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/nba/trial/stream/en/clock/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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/en/clock/subscribe?api_key={your_api_key}' ``` > The above command returns json like this. This endpoint retrieves a game clock feed with high level scoring and possession information. https://api.sportradar.us/nba/`{access_level}`/stream/`{language_code}`/clock/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `language_code` | Optional code for supported languages: en (English) or translations (Any other language translations. See optional query string parameters for locale.) | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/stream/en/clock/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56") 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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/nba/trial/stream/en/clock/subscribe", params = {'api_key': 'your_api_key', 'status': 'inprogress', 'match': 'sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56'}, 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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/en/clock/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56' ``` >Example including query string parameters for translations: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/stream/translations/clock/subscribe?api_key={your_api_key}&locale=zh") 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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/nba/trial/stream/translations/clock/subscribe", params = {'api_key': 'your_api_key', 'locale': 'zh'}, 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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/translations/clock/subscribe?api_key={your_api_key}&locale=zh' ``` In addition to the URL parameters listed above, you can filter the Clock 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: | Parameter | Description | | --------- | ----------- | | `locale` | Locale expressed as 2 letter code: locale={language_code}
    Example: locale:en | | `match` | Match id expressed as: sd:match:{match_id}.
    Example: sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56 | | `status` | Status type expressed as: inprogress or created.
    Example: status=inprogress | Return to API map ## Push Draft Picks ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/stream/en/picks/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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/draft/nba/trial/stream/en/picks/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)) ``` ```shell curl -L GET 'api.sportradar.us/draft/nba/trial/stream/en/picks/subscribe?api_key={your_api_key}' ``` > The above command returns json like this. This endpoint retrieves pre-draft pick order with real-time (push enabled) pick selections during the draft. https://api.sportradar.us/draft/nba/`{access_level}`/stream/en/picks/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), or Trial (trial). | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/stream/en/picks/subscribe?api_key={your_api_key}&draft=sd:draft:e04e45a4-7a76-470c-a3ee-ed6bd56583f1&league=NBA") 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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/draft/nba/trial/stream/en/picks/subscribe", params = {'api_key': 'your_api_key', 'draft': 'sd:draft:e04e45a4-7a76-470c-a3ee-ed6bd56583f1', 'league': 'NBA'}, 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)) ``` ```shell curl -L GET 'api.sportradar.us/draft/nba/trial/stream/en/picks/subscribe?api_key={your_api_key}&draft=sd:draft:e04e45a4-7a76-470c-a3ee-ed6bd56583f1&league=NBA' ``` In addition to the URL parameters listed above, you can filter the Pick 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: | Parameter | Description | | --------- | ----------- | | `draft` | Draft id expressed as: sd:draft:{draft_id}.
    Example: draft=sd:draft:e04e45a4-7a76-470c-a3ee-ed6bd56583f1 | Return to API map ## Push Draft Trades ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nba/trial/stream/en/trades/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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/draft/nba/trial/stream/en/trades/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)) ``` ```shell curl -L GET 'api.sportradar.us/draft/nba/trial/stream/en/trades/subscribe?api_key={your_api_key}' ``` > The above command returns json like this. This endpoint retrieves summary details of all in-draft trades in real-time. https://api.sportradar.us/draft/nba/`{access_level}`/stream/en/trades/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), or Trial (trial). | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/draft/nfl/trial/stream/en/trades/subscribe?api_key={your_api_key}&draft=sd:draft:e04e45a4-7a76-470c-a3ee-ed6bd56583f1&league=NBA") 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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/draft/nfl/trial/stream/en/trades/subscribe", params = {'api_key': 'your_api_key', 'status': 'inprogress', 'tester': 'test_this_thing'}, 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)) ``` ```shell curl -L GET 'api.sportradar.us/draft/nfl/trial/stream/en/trades/subscribe?api_key={your_api_key}&draft=sd:draft:e04e45a4-7a76-470c-a3ee-ed6bd56583f1&league=NBA' ``` In addition to the URL parameters listed above, you can filter the Trades 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: | Parameter | Description | | --------- | ----------- | | `draft` | Draft id expressed as: sd:draft:{draft_id}.
    Example: draft=sd:draft:e04e45a4-7a76-470c-a3ee-ed6bd56583f1 | Return to API map ## Push Events ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/stream/en/events/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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/nba/trial/stream/en/events/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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/en/events/subscribe?api_key={your_api_key}' ``` >The above command returns json like this. This endpoint retrieves detailed, real-time information on every game event. https://api.sportradar.us/nba/`{access_level}`/stream/`{language_code}`/events/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `language_code` | Optional code for supported languages: en (English) or translations (Any other language translations. See optional query string parameters for locale.) | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/stream/en/events/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56") 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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/nba/trial/stream/en/events/subscribe", params = {'api_key': 'your_api_key', 'status': 'inprogress', 'match': 'sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56'}, 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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/en/events/subscribe?api_key={your_api_key}&status=inprogress&match=sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56' ``` >Example including query string parameters for translations: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/stream/translations/events/subscribe?api_key={your_api_key}&locale=zh") 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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/nba/trial/stream/translations/events/subscribe", params = {'api_key': 'your_api_key', 'locale': 'zh'}, 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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/translations/events/subscribe?api_key={your_api_key}&locale=zh' ``` In addition to the URL parameters listed above, you can filter the Events 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: | Parameter | Description | | --------- | ----------- | | `event_category` | Event category expressed as: {event_category}.
    Example: event_category=shot | | `event_type` | Event type expressed as: {event_type}.
    Example: event_type=stoppage | | `locale` | Locale expressed as 2 letter code: locale={language_code}
    Example: locale:en | | `match` | Match id expressed as: sd:match:{match_id}.
    Example: sd:match:76b2e680-7da7-461f-95ad-e7c34dbc4c56 | | `players` | Player id expressed as: sd:player:{player_id}.
    Example: sd:player:c1ff3e58-266f-4183-9fa1-d7c914cf4886 | | `status` | Status type expressed as: inprogress or created.
    Example: status=inprogress | | `team` | Team id expressed as: sd:team:{team_id}.
    Example: sd:team:583eca2f-fb46-11e1-82cb-f4ce4684ea4c | Return to API map ## Push Statistics ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/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 ``` ```python 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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/en/statistics/subscribe?api_key={your_api_key}' ``` > The above command returns json like this. This endpoint retrieves detailed, real-time game stats at the team and player level for all live games. https://api.sportradar.us/nba/`{access_level}`/stream/`{language_code}`/statistics/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production), Trial (trial), or Simulation (simulation). | | `language_code` | Optional code for supported languages: en (English) or translations (Any other language translations. See optional query string parameters for locale.) | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/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 ``` ```python 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)) ``` ```shell 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' ``` >Example including query string parameters for translations: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/nba/trial/stream/translations/statistics/subscribe?api_key={your_api_key}&locale=zh") 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 ``` ```python import requests import json r = requests.get("https://api.sportradar.com/nba/trial/stream/translations/statistics/subscribe", params = {'api_key': 'your_api_key', 'locale': 'zh'}, 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)) ``` ```shell curl -L GET 'api.sportradar.us/nba/trial/stream/translations/statistics/subscribe?api_key={your_api_key}&locale=zh' ``` In addition to the URL parameters listed above, you can filter the Statistics 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: | Parameter | Description | | --------- | ----------- | | `locale` | Locale expressed as 2 letter code: locale={language_code}
    Example: locale:en | | `match` | Match id expressed as: sd:match:{match_id}.
    Example: sd:match:0f4a0ce6-9abb-44ac-867f-75cc2154bb40 | | `player` | Player id expressed as: sd:player:{player_id}.
    Example: sd:player:92ec1ed2-95f7-45da-a923-71fd541d6cdb | | `stats_type` | Stat type expressed as {stats_type}. Example: stats_type=player | | `team` | Team id expressed as: sd:team:{team_id}.
    Example: sd:team:583eca2f-fb46-11e1-82cb-f4ce4684ea4c | | `status` | Status type expressed as: inprogress or created.
    Example: status=inprogress | Return to API map ## Frequently Asked Questions

    Q: What format are date fields presented in?

    A: 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

    Q: What format are the date/time fields presented in?

    A: 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

    Q: What game statuses can I expect to see in the feeds and what are their definitions?

    A: Here is a list of the valid game statuses you can expect to see, 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.

    Q: What series statuses can I expect to see in the feeds and what are their definitions?

    A: Here is a list of the valid series statuses you can expect to see, and their definitions.

    • scheduled – The series is scheduled to occur.
    • inprogress – The series is in progress.
    • closed – The series is over.

    Q: What player positions can I expect to see in the feeds?

    A: Here is a list of the valid player positions you can expect to see.

    • NA
    • C
    • C-F
    • F
    • F-C
    • F-G
    • G
    • G-F

    Q: What player primary positions can I expect to see in the feeds?

    A: Here is a list of the valid player primary positions you can expect to see.

    • NA
    • C
    • PF
    • PG
    • SF
    • SG

    Q: What player statuses can I expect to see in the feeds?

    A: Here is a list of the valid player statuses you can expect to see.

    • ACT – The player is on the team’s active roster
    • SUS – The player is suspended
    • IR – The player is on injured reserve
    • TWO-WAY - The player is on a two-way contract
    • NWT – The player is no longer with the team
    • FA – Free Agent
    • RET – Retired
    • DUP – Duplicate
    • M-LEAGUE – Sent to minor league team

    Q: What player injury statuses can I expect to see in the feeds?

    A: Here is a list of the valid player injury statuses you can expect to see.

    • Unknown
    • Day to Day
    • Out
    • Out for Season
    • Out Indefinitely

    Q: What shot type descriptions can I expect to see in the feeds?

    A: Here is a list of the valid shot types with the descriptions you can expect to see for each shot type.

    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

    Q: What are the valid turnover type descriptions I can expect to see in the feeds?

    A: Here is a list of the valid turnover types you can expect to see.

    • 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

    Q: What are the valid stoppage reasons I can expect to see in the feeds?

    A: Here is a list of the valid stoppage reasons you can expect to see.

    • Out of Bounds
    • Equipment Malfunction
    • Blood Rule
    • Court Cleanup
    • Injury
    • Other

    Q: What are the valid jump ball reasons I can expect to see in the feeds?

    A: Here is a list of the valid jump ball reasons you can expect to see.

    • Lodged Ball
    • Held Ball
    • Double Violation
    • Unclear Pass
    • Double Foul

    Q: What are the valid foul type descriptions I can expect to see in the feeds?

    A: Here is a list of the valid foul type descriptions you 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

    Q: What are the valid free throw types I can expect to see in the feeds?

    A: Here is a list of the valid free throw types you can expect to see.

    • Regular
    • Technical
    • Flagrant
    • Clear Path

    Q: What ejection types can I expect to see in the feeds?

    A: Here is a list of the valid ejection types you can expect to see.

    • Technical
    • Second Technical
    • Second Flagrant Type 1
    • Flagrant Type 2
    • Other

    Q: Are there cases when not all game data is available?

    A: 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.

    Q: What is the scale of the X Y coordinates?

    A: The court we use is 1128 by 600. The scale is in inches. Here is a layout of the court:

    0 X 1128
    Y
    600

    Q: What x/y vertices define action areas in the x/y coordinate graph?

    A: 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 ]

    Q: Why does the team_basket attribution in the play-by-play feed not match the basket orientation (left vs. right) in the broadcast or game tracking that I'm viewing? 

    A: 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).

    Q: What are the valid events types tracked in the play by play feed?

    A: Here is a list of the valid event types you can expect to see.

    • clearpathfoul - <charged_to> clear path foul (<drawn_by> draws the foul)
    • deadball - <given_to> rebound (deadball)
    • defaultviolation - <charged_to> violation
    • defensivegoaltending - <charged_to> defensive goaltending violation
    • delay - <charged_to> delay of game violation
    • doublelane - <charged_to> double lane violation
    • ejection - <given_to> ejected from the game (<ejection_type>)
    • endperiod - End of <nth period/half>
    • flagrantone - <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 <attempt>
    • freethrowmiss - <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 violation
    • kickball - <charged_to> kicked ball violation
    • lane - <charged_to> lane violation
    • lineupchange - <team_name> lineup change (<players>)
    • offensivefoul - <charged_to> offensive foul (<foul_type_desc>) (<drawn_by> draws the foul)
    • officialtimeout - Official timeout
    • openinbound - Open inbound <team_name>
    • opentip - Jump ball. <home> vs <away> (<possession> gains possession)
    • personalfoul - <charged_to> personal foul (<foul_type_desc>) (<drawn_by> draws the foul)
    • possession - <possession> gain possession
    • rebound - <given_to> <offensive/defensive> rebound
    • review - Play review (<reason>, <outcome>)
    • shootingfoul - <charged_to> shooting foul (<drawn_by> draws the foul)
    • stoppage - Stoppage (<reason>)
    • teamtimeout - <team_name> <duration> second timeout
    • technicalfoul - <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>
    • turnover - <charged_to> turnover (turnover_type_desc>)
    • tvtimeout - TV Timeout
    • twopointmade - <taken_by> makes two point <shot_type_desc> <shot_type> (<assisted_by> assists)
    • twopointmiss - <taken_by> misses two point <shot_type_desc> <shot_type>

    Q: What are the valid playoff statuses and their definitions?

    A: Here is a list of the valid playoff statuses and their definitions:

    • conference – The team has clinched the best record home court advantage for the playoffs.
    • division – The team has clinched the division.
    • eliminated – The team has been eliminated from playoff contention.
    • playoff_berth – The team has clinched a playoff berth.

    Q: What are the valid qualifier names?

    A: Here is a list of the valid qualifier names:

    • 2ndchance
    • fastbreak
    • fromturnover
    • defensivegoaltending
    • pointsinthepaint
    • fastbreak
    • fromturnover
    • team
    • deadball
    • 1freethrow
    • 2freethrow
    • mandatory

    Q: When are scores added to the schedule feeds?

    A: Final scores are added to the schedule feeds when the game status changes to completed.

    Q: Do you provide your feeds in any languages other than English?

    A: Currently, we provide our feeds in 4 languages: English, Russian, Simplified Chinese, and Japanese. The codes are as follows:

    • English: eu
    • Russian: ru
    • Simplified Chinese: zh
    • Japanese: ja

    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.

    Q: What are the possible values for event category used in the Push Events feed?

    A: Here is a list of the valid event categories you can expect to see.

    • freethrow
    • freethrow,score
    • foul
    • foul,flagrant
    • foul,warning
    • lineupchange
    • period,stoppage
    • period,stoppage,possession
    • possession
    • shot
    • shot,score
    • stoppage
    • timeout,stoppage
    • turnover
    • violation

    Q: What are the possible values for statistics type used in the Push Events feed?

    A: Here is a list of the valid statistics types you can expect to see.

    • fieldgoal
    • assist
    • block
    • attemptblocked
    • rebound
    • freethrow
    • turnover
    • steal
    • personalfoul
    • flagrantfoul
    • technicalfoul
    • ejection
    • fouldrawn
    • offensivefoul

    Q: What formulas are used to calculate efficiency and efficiency game score?

    A: 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.).

    Q: What types of splits do you provide?

    A: 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

    Q: What are the possible values for player – not_playing_reason?

    A: Here is a list of the valid not playing reasons you can expect to see, and their descriptions.

    • 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

    Q: When should I expect to see prospect data in the prospects endpoint?

    A: College prospects will appear after the NCAA Early-Entrant deadline has passed. International prospects will appear after the NBA Early-Entrant deadline has passed.

    Q: When should I expect pre-draft trades to be reflected in trades and draft summary endpoints?

    A: The trades and draft summary endpoints will reflect pre-draft trades after the NBA Draft Lottery has occurred.

    Return to top

    Docs Navigation