## Global Basketball API Overview
The Global Basketball API provides real-time scoring and statistics (when available) and an array of supplementary data. Data is collected via Sportradar’s on-venue scouts and in-house operators.
Over 200 unique competitions are available in one package. Select the Global Basketball package in our Coverage Matrix for competitions and data offered.
The API is consistent in structure, format and behavior with the other General Sport APIs. Primary feeds will return seasons, competitions, team and player data, and real-time scores.
Additional feeds provide a host of complimentary stats, including:
Standings
Player profiles
Team profiles
Historical results
Game rosters
Seasonal statistics
Match win probabilities
Live event positional data
Real-time customers are also offered two delivery Push Feeds to enhance speed.
An extended Probabilities package is also offered. This add-on includes in-game probability updates and season outrights.
API
API Version
Global Basketball
v2
Note: Authentication is required for all API calls.
## Global Basketball API Map
To best utilize the Global Basketball API, you will need several parameters to create your API calls. The map below illustrates how you can obtain the parameters you need.
>
Example:
>To find the probability of a home team win for a given game:
>
Call the Daily Schedule for the day the sport event takes place and find the Season Id for the chosen sport event
Make note of the Sport Event Id for the given sport event
Call the Season Probabilities using the Season Id
Find Sport Event Id within the results locate the home team and the outcome probability
>The probability of a home team win is displayed.
The primary feeds require only a date or human-readable parameters to call the endpoints. Those feeds provide Sport Event Ids, Competitor Ids, or Season Ids which can be used to generate the match, team, and tournament feeds.
* - Available only with the probabilities plan within the Global Basketball v2 package. See FAQ for details.
## Competition Info
Provides the name, id, and parent id for a given competition.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Competition Gender Competition Id
Competition Name
Competition Parent Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/competitions/sr:competition:138/info.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", "/basketball/trial/v2/en/competitions/sr:competition:138/info.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/basketball/trial/v2/en/competitions/sr:competition:138/info.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competition Info feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitions/`{competition_id}`/info.`{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: v2). |
| `language_code` | Supported Locales |
| `competition_id` | Id of a given competition. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competition Seasons
Provides historical season information for a given competition. Valid competition IDs can be found in the Competitions feed.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Season Competition Id Season End Date
Season Id Season Name
Season Start Date Season Year
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/competitions/sr:competition:138/seasons.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", "/basketball/trial/v2/en/competitions/sr:competition:138/seasons.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/basketball/trial/v2/en/competitions/sr:competition:138/seasons.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competition Seasons feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitions/`{competition_id}`/seasons.`{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: v2). |
| `language_code` | Supported Locales |
| `competition_id` | Id of a given competition. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitions
Provides a list of all available basketball competitions.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info:
Category Country Code
Category Id
Category Name
Competition Info Data Points:
Competition Gender Competition Id
Competition Name
Competition Parent Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/competitions.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", "/basketball/trial/v2/en/competitions.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/basketball/trial/v2/en/competitions.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitions feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitions.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
| `parents=true` | Optional query parameter to display only parent competitions. Note: Optional query string parameters must be added after your API key with an ampersand (&). |
Return to top
## Competitor Mappings
Provides team id mapping between the Global Basketball API and other basketball APIs.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 1,000 competitor mappings.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/competitors/mappings.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", "/basketball/trial/v2/en/competitors/mappings.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/basketball/trial/v2/en/competitors/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Mapping feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitors/mappings.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/competitors/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/competitors/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Competitor Profile
Provides top-level information for a given team, including the full team roster, home venue, and team colors.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code Competitor Division Competitor Id Competitor Name Competitor State
Jersey Base Color Jersey Horizontal Stripes Jersey Number Color Jersey Shirt Type Jersey Sleeve Color Jersey Split Jersey Squares
Jersey Stripes Jersey Type Manager Country Code Manager Date of Birth Manager Gender Manager Id Manager Name Manager Nationality
Player Info Data Points:
Country Code Date of Birth Gender Height
Id Jersey Number Nationality
Name Position Weight
Venue Info Data Points:
Capacity City Country Code
Country Name Id
Map Coordinates Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/competitors/sr:competitor:3515/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", "/basketball/trial/v2/en/competitors/sr:competitor:3515/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/basketball/trial/v2/en/competitors/sr:competitor:3515/profile.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Profile feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/profile.`{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: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | Id of a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitor Summaries
Provides previous and upcoming game information for a given competitor, including statistics for past games and scheduling info for upcoming games.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed
Sport Event Status Decided Overtime Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/competitors/sr:competitor:3501/summaries.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", "/basketball/trial/v2/en/competitors/sr:competitor:3501/summaries.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/basketball/trial/v2/en/competitors/sr:competitor:3501/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/summaries.`{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: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitor vs Competitor
Provides previous and upcoming games between two teams including scoring information, player game statistics and team game statistics.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed
Sport Event Status Decided Overtime Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/competitors/sr:competitor:3501/versus/sr:competitor:6676/summaries.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", "/basketball/trial/v2/en/competitors/sr:competitor:3501/versus/sr:competitor:6676/summaries.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/basketball/trial/v2/en/competitors/sr:competitor:3501/versus/sr:competitor:6676/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor vs Competitor feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/versus/`{competitor2_id}`/summaries.`{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: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | ID for a given competitor. |
| `competitor2_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Daily Summaries
Provides game information for a given day including team scoring, player and team game statistics.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 200 sport events.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime
Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/schedules/2019-01-15/summaries.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", "/basketball/trial/v2/en/schedules/2019-01-15/summaries.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/basketball/trial/v2/en/schedules/2019-01-15/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Daily Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/summaries.`{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: v2). |
| `language_code` | Supported Locales |
| `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. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/schedules/2019-01-15/summaries.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/schedules/2019-01-15/summaries.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. This may be required to access all available data in this feed.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, suggested maximum value is 75. Example: limit=75 |
Return to top
## Live Summaries
Provides game information for all currently live games including team scoring, player and team match statistics. This feed updates in real time as matches are played. Matches appear a few minutes before kick-off and disappear a few minutes after the match reaches “ended” status.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime
Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/schedules/live/summaries.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", "/basketball/trial/v2/en/schedules/live/summaries.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/basketball/trial/v2/en/schedules/live/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/summaries.`{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: v2). |
| `language_code` | Supported Locales |
| `competitor_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Live Timelines
Provides a play-by-play event timeline for currently live games. Games appear a few minutes before tip-off and disappear a few minutes after the game reaches “ended” status.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Status Sport Event Status Away Normaltime Score
Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status
Sport Event Status Scout Abandoned Sport Event Status Winner Id Sport Event Timeline Id Sport Event Timeline Start Time Time Played Time Remaining
Timeline Info Data Points:
Assist Player Id Assist Player Name Assist Type Away Score Break Name Competitor Home Score
Goal Scorer Id Goal Scorer Name Home Score Id Match Clock Match Time Period
Period Name Time Type X Coordinate Y Coordinate
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/schedules/live/timelines.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", "/basketball/trial/v2/en/schedules/live/timelines.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/basketball/trial/v2/en/schedules/live/timelines.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Timelines feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/schedules/live/timelines.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
To retrieve the XML Schema Definition (.XSD) for the Match Timeline use the following URL.
https://schemas.sportradar.com/bsa/v1/endpoints/basketball/match_timeline.xsd
Return to top
## Live Timelines Delta
Provides a 10 second live delta of game information, including scoring and a play-by-play event timeline.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Status Sport Event Status Away Normaltime Score
Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status
Sport Event Status Scout Abandoned Sport Event Status Winner Id Sport Event Timeline Id Sport Event Timeline Start Time Time Played Time Remaining
Timeline Info Data Points:
Assist Player Id Assist Player Name Assist Type Away Score Break Name Competitor Home Score
Goal Scorer Id Goal Scorer Name Home Score Id Match Clock Match Time Period
Period Name Time Type X Coordinate Y Coordinate
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/schedules/live/timelines_delta.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", "/basketball/trial/v2/en/schedules/live/timelines_delta.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/basketball/trial/v2/en/schedules/live/timelines_delta.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Timelines Delta feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/schedules/live/timelines_delta.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Player Mappings
Provides player id mapping between the Global Basketball API and other basketball APIs.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 1,000 player mappings.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/players/mappings.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", "/basketball/trial/v2/en/players/mappings.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/basketball/trial/v2/en/players/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Player Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/players/mappings.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/players/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/players/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. This may be required to access all available data in this feed.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Player Merge Mappings
Provides valid ids for players who have had their profiles merged. While Sportradar always strives to provide one unique player id, it is a possibility for two ids to be created. This feed provides the correct id once profiles have been merged.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
Merged Id
Name
Retained Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/players/merge_mappings.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", "/basketball/trial/v2/en/players/merge_mappings.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/basketball/trial/v2/en/players/merge_mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Player Merge Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/players/merge_mappings.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/players/merge_mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/players/merge_mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Player Profile
Provides player information, including team membership info.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Country Code Date Of Birth Gender Height
Id Jersey Number Nationality
Name Position Weight
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/players/sr:player:607296/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", "/basketball/trial/v2/en/players/sr:player:607296/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/basketball/trial/v2/en/players/sr:player:607296/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.com/basketball/`{access_level}`/`{version}`/`{language_code}`/players/`{player_id}`/profile.`{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: v2). |
| `language_code` | Supported Locales |
| `player_id` | ID of a given player. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Competitors
Provides a list of teams participating for a given season.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competitor Info Data Points:
Competitor Abbreviation Competitor Id
Competitor Name
Competitor Short Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:85212/competitors.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", "/basketball/trial/v2/en/seasons/sr:season:85212/competitors.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/basketball/trial/v2/en/seasons/sr:season:85212/competitors.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Competitors feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/competitors.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Info
Provides detailed information for a given season, including participating teams and league structure.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Group Id Group Max Rounds Group Name Info Competition Status
Info Venue Reduced Capacity Info Venue Reduced Capacity Max Season Competition Id Season End Date Season Id Season Name Season Start Date
Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:55285/info.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", "/basketball/trial/v2/en/seasons/sr:season:55285/info.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/basketball/trial/v2/en/seasons/sr:season:55285/info.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Info feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/info.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Lineups
Provides game rosters for all games in a given season.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 200 sport events.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group - Group Name Group Id
Group Name Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date
Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Country Code Date of Birth Height Id
Jersey Number Nationality Name Played
Position Starter Weight
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed
Sport Event Status Decided Overtime Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:55467/lineups.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", "/basketball/trial/v2/en/seasons/sr:season:55467/lineups.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/basketball/trial/v2/en/seasons/sr:season:55467/lineups.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Lineups feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/lineups.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/seasons/sr:season:55467/lineups.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:55467/lineups.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the lineup information with one or more of the following optional query string parameters. By default the limit is set to 200.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, suggested maximum value is 75. Example: limit=75 |
Return to top
## Season Links
Provides information about linked cup rounds for a given season. This feed can be used to compile advancement brackets for relevant seasons.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Cup Round Id Cup Round Type Group - Group Name
Group Id Stage End Date Stage Phase
Stage Start Date Stage Type Stage Year
Sport Event Info Data Points:
Sport Event Id
Sport Event Start Time
Sport Event Start Time Confirmed
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/basketball/trial/v2/en/seasons/sr:season:79153/stages_groups_cup_rounds.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", "/basketball/trial/v2/en/seasons/sr:season:79153/stages_groups_cup_rounds.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/basketball/trial/v2/en/seasons/sr:season:79153/stages_groups_cup_rounds.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Links feed by replacing the parameters in the following URL:
https://api.sportradar.us/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/stages_groups_cup_rounds.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
To retrieve the OpenAPI Schema Definition for the Season Links feed, use the following URL.
https://api.sportradar.com/basketball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonStagesGroupsCupRounds
Return to top
## Season Mappings
Provides season id mapping between the Global Basketball API and other basketball APIs.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 1,000 season mappings.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/mappings.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", "/basketball/trial/v2/en/seasons/mappings.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/basketball/trial/v2/en/seasons/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/mappings.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/seasons/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/seasons/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Season Players
Provides names and ids for all participating players for a given season.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Player Info Data Points:
Display First Name Display Last Name
First Name Id
Last Name Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:85212/players.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", "/basketball/trial/v2/en/seasons/sr:season:85212/players.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/basketball/trial/v2/en/seasons/sr:season:85212/players.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Players feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/players.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Probabilities
Provides 2-way win probabilities (home team win, away team win) for all games for a given season.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Away Team Win Probability Home Team Win Probability
Market Name
Outcome Name
Match Info Data Points:
Competitor Qualifier Sport Event Id
Sport Event Replaced By Sport Event Start Time
Sport Event Start Time Confirmed
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:59060/probabilities.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", "/basketball/trial/v2/en/seasons/sr:season:59060/probabilities.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/basketball/trial/v2/en/seasons/sr:season:59060/probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/probabilities.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Standings
Provides detailed standings info for a given season.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Group - Group Name Group Live Group Id Group Name
Stage End Date Stage Order Stage Phase
Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Standings Info Data Points:
Change Current Outcome Draw Games Behind Group - Group Name Group Id Group Live Group Name
Last Ten Loss Record Last Ten Win Record Losses Losses Conference Losses Division Played Points Points Against
Points For Rank Season Standings Tie Break Rule Season Standings Type Wins Wins Conference Wins Division
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:55467/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", "/basketball/trial/v2/en/seasons/sr:season:55467/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/basketball/trial/v2/en/seasons/sr:season:55467/standings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Standings feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/standings.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/seasons/sr:season:55467/standings.xml?api_key={your_api_key}&round=1")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.com/basketball/trial/v2/en/seasons/sr:season:55467/standings.xml?api_key={your_api_key}&round=1'
In addition to the URL parameters listed above, you can filter the Standings information with the following optional query string parameter.
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 |
| --------- | ----------- |
| `round` | Round number expressed as: {round}. Example: round=1 |
| `live` | Live standings expressed as a boolean value. Example: live=true |
To retrieve the OpenAPI Schema Definition for Season Standings, use the following URL.
https://api.sportradar.com/basketball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonStandings
Return to top
## Season Summaries
Provides schedule information for all games from a given season including scoring and statistics at the game level.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 200 sport events.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime
Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:55285/summaries.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", "/basketball/trial/v2/en/seasons/sr:season:55285/summaries.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/basketball/trial/v2/en/seasons/sr:season:55285/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Summaries feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/summaries.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/seasons/sr:season:55285/summaries.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:55285/summaries.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. This will often be required to access all available data in this feed.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, suggested maximum value is 75. Example: limit=75 |
Return to top
## Seasonal Competitor Statistics
Provides team seasonal statistics for a given season.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Sport Id
Sport Name
Competition Info Data Points:
Season Competition Id Season End Date
Season Id Season Name
Season Start Date Season Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Team Season Statistics Data Points:
Field Goals Made
Minutes
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons/sr:season:59060/competitors/sr:competitor:130098/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", "/basketball/trial/v2/en/seasons/sr:season:59060/competitors/sr:competitor:130098/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/basketball/trial/v2/en/seasons/sr:season:59060/competitors/sr:competitor:130098/statistics.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Seasonal Competitors Statistics feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/competitors/`{competitor_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: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `competitor_id` | ID of a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Seasons
Provides a complete list of historical season information for all supported competitions in the API.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competition Info Data Points:
Season Competition Id Season Disabled Season End Date
Season Id Season Name
Season Start Date Season Year
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/seasons.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", "/basketball/trial/v2/en/seasons.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/basketball/trial/v2/en/seasons.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Seasons feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/seasons.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Lineups
Provides detailed roster information for a given game. Starting players are included if supported by coverage level.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Country Code Date of Birth Height Id
Jersey Number Nationality Name Played
Type Starter Weight
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed
Sport Event Status Decided Overtime Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/sport_events/sr:sport_event:15164419/lineups.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", "/basketball/trial/v2/en/sport_events/sr:sport_event:15164419/lineups.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/basketball/trial/v2/en/sport_events/sr:sport_event:15164419/lineups.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Lineups feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/lineups.`{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: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | ID of a given match. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Mappings
Provides game id mapping between the Global Basketball API and other basketball APIs.
Note: Pagination will often be required to pull all data within this feed. By default, the feed will return 1,000 sport event mappings.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mapping Info Data Points:
External Id
Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/sport_events/mappings.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", "/basketball/trial/v2/en/sport_events/mappings.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/basketball/trial/v2/en/sport_events/mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/sport_events/mappings.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/sport_events/mappings.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/sport_events/mappings.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the summaries with one or more of the following optional query string parameters. This will often be required to access all available data in this feed.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Sport Event Summary
Provides real-time game-level statistics for a given game. Including scores by quarter and player and team stats. Please note that data returned is determined by coverage level.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed
Sport Event Status Decided Overtime Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/sport_events/sr:sport_event:14983599/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", "/basketball/trial/v2/en/sport_events/sr:sport_event:14983599/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/basketball/trial/v2/en/sport_events/sr:sport_event:14983599/summary.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Summary feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/summary.`{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: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | ID of a given match. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Timeline
Provides real-time game-level statistics and a play-by-play event timeline for a given game. This includes scores by quarter and player and team stats. Please note that data returned is determined by coverage level.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group Id Group Name
Round Number Season Competition Id Season End Date Season Id Season Name Season Start Date Season Year
Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Competitor Abbreviation Competitor Country Competitor Country Code
Competitor Division Competitor Id
Competitor Name Competitor State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Match Info Data Points:
Competitor Qualifier Period Score Away Score Period Score Home Score Period Score Number Period Score Type Sport Event Id Sport Event Replaced By
Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime
Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
Timeline Info Data Points:
Assist Player Id Assist Player Name Assist Type Away Score Break Name Competitor Home Score
Goal Scorer Id Goal Scorer Name Home Score Id Match Clock Match Time Period
Period Name Time Type X Coordinate Y Coordinate
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/sport_events/sr:sport_event:14972281/timeline.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", "/basketball/trial/v2/en/sport_events/sr:sport_event:14972281/timeline.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/basketball/trial/v2/en/sport_events/sr:sport_event:14972281/timeline.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Timeline feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/timeline.`{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: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | ID of a given sport event. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Events Created
Provides ids for sport events that have been created in the last 24 hours.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Id
Created At
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/sport_events/created.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", "/basketball/trial/v2/en/sport_events/created.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/basketball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Events Created feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/sport_events/created.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## Sport Events Removed
Provides ids for sport events that have been removed or deleted.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Sport Event Removed Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/sport_events/removed.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", "/basketball/trial/v2/en/sport_events/removed.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/basketball/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Events Removed feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/sport_events/removed.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Events Updated
Provides ids for sport events that have been updated in the last 24 hours.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Id
Updated At
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball/trial/v2/en/sport_events/updated.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", "/basketball/trial/v2/en/sport_events/updated.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/basketball/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Events Updated feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball/`{access_level}`/`{version}`/`{language_code}`/sport_events/updated.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/basketball/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/basketball/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to top
## 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 and XML payloads 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 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, then all data for the feed is displayed (i.e. all events).
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 and XML payloads can be found below.
## Push - Events
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/basketball/trial/stream/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/basketball/trial/stream/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.com/basketball/trial/stream/events/subscribe?api_key={your_api_key}'
```
>The above command returns json like this.
This endpoint retrieves real-time event updates for all live matches.
https://api.sportradar.us/basketball/`{access_level}`/stream/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) 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.com/basketball/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:17582523")
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/basketball/trial/stream/events/subscribe",
params = {'api_key': 'your_api_key', 'format': 'json', 'sr:sport_event_id:17582523': '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 'https://api.sportradar.com/basketball/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:17582523'
```
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:
| URL Parameters | Description |
| --------- | ----------- |
| `channel` | Channel type expressed as: {channel_type}. Example: channel=basketball |
| `competition_id` | Competition Id expressed as: {competition_id}. Example: competition_id=sr:competition:27230 |
| `event_id` | Event type expressed as: {event_type}. Example: event_id=score_change |
| `format` | Format type expressed as: {format}. Example: format=json |
| `season_id` | Season id expressed as: {season_id}. Example: season_id=sr:season:59654 |
| `sport_event_id` | Sport event id expressed as: {sport_event_id}. Example: sport_event_id=sr:sport_event:17582523 |
| `sport_id` | Sport id expressed as: {sport_id}. Example: sport_id=sr:sport:22 |
Return to top
## Push - Statistics
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/basketball/trial/stream/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/basketball/trial/stream/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.com/basketball/trial/stream/statistics/subscribe?api_key={your_api_key}'
```
>The above command returns json like this.
This endpoint retrieves real-time team and player game-level statistics for all live games.
https://api.sportradar.us/basketball/`{access_level}`/stream/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) 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.com/basketball/trial/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:17582523")
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/basketball/trial/stream/statistics/subscribe",
params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sr:sport_event_id:17582523'},
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 'https://api.sportradar.com/basketball/trial/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:17582523'
```
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:
| URL Parameters | Description |
| --------- | ----------- |
| `channel` | Channel type expressed as: {channel_type}. Example: channel=basketball |
| `competition_id` | Competition Id expressed as: {competition_id}. Example: competition_id=sr:competition:27230 |
| `event_id` | Event type expressed as: {event_type}. Example: event_id=score_change |
| `format` | Format type expressed as: {format}. Example: format=json |
| `season_id` | Season id expressed as: {season_id}. Example: season_id=sr:season:59654 |
| `sport_event_id` | Sport event id expressed as: {sport_event_id}. Example: sport_event_id=sr:sport_event:17582523 |
| `sport_id` | Sport id expressed as: {sport_id}. Example: sport_id=sr:sport:22 |
Return to top
## Probabilities Feeds
This collection of probability feeds is available for licensing as an add-on feature. They are an extension of the Season Probabilities feed in the main package which provides pre-match probabilities for the sport event winner market.
The main features of the Probabilities extension (where coverage applies) are:
Live Probabilities that update throughout game
Season Outright Probabilities for the Tournament Winner market
Live Probabilities Coverage indicator for the next 24 hours
For more information or to request a Trial of this feature, please contact a Sportradar Sales representative.
The Open API specification and Syntax for using our Probabilities feeds, including examples of the payloads can be found below.
## Live Probabilities
Provides top-level information for live games. If probabilities are available for a game, pre-match and live probabilities will be displayed.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group - Group Name Group Id Group Name
Round Cup Round Number of Sport Events Round Cup Round Sport Event Number Round Name Round Number Season Competition Id Season End Date Season Id Season Name
Season Start Date Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Abbreviation Country
Country Code Division
Id Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Away Team Win Probability Home Team Win Probability Market Away Score
Market Home Score Market Last Updated Market Live
Market Name Market Removed Outcome Name
Match Info Data Points:
Away Score Competitor Qualifier Ground Neutral Home Score Period Number Period Type Sport Event Id Sport Event Replaced By
Sport Event Resumed Time Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime
Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball-probabilities/trial/v2/en/schedules/live/probabilities.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", "/basketball-probabilities/trial/v2/en/schedules/live/probabilities.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/basketball-probabilities/trial/v2/en/schedules/live/probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Live Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball-probabilities/`{access_level}`/`{version}`/`{language_code}`/schedules/live/probabilities.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Season Outright Probabilities
Provides a list of outright probabilities for each team from a given season.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Competitor Info Data Points:
Abbreviation Country
Country Code Division
Id Name
Probability Info Data Points:
Win Probability
Market Name
Outcome Name
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball-probabilities/trial/v2/en/seasons/sr:season:79153/outright_probabilities.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", "/basketball-probabilities/trial/v2/en/seasons/sr:season:79153/outright_probabilities.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/basketball-probabilities/trial/v2/en/seasons/sr:season:79153/outright_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Season Outright Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball-probabilities/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/outright_probabilities.`{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: v2). |
| `language_code` | Supported Locales |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Probabilities
Provides pre-match and live probabilities for a given game.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group - Group Name Group Id Group Name
Round Cup Round Number of Sport Events Round Cup Round Sport Event Number Round Name Round Number Season Competition Id Season End Date Season Id Season Name
Season Start Date Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Abbreviation Country
Country Code Division
Id Name State
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Away Team Win Probability Home Team Win Probability Market Away Score
Market Home Score Market Last Updated Market Live
Market Name Market Removed Outcome Name
Match Info Data Points:
Away Score Competitor Qualifier Ground Neutral Home Score Period Number Period Type Sport Event Id Sport Event Replaced By
Sport Event Resumed Time Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime
Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball-probabilities/trial/v2/en/sport_events/sr:sport_event:26109208/sport_event_probabilities.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", "/basketball-probabilities/trial/v2/en/sport_events/sr:sport_event:26109208/sport_event_probabilities.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/basketball-probabilities/trial/v2/en/sport_events/sr:sport_event:26109208/sport_event_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/probabilities.`{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: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | Id of a given sport event. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Sport Event Upcoming Probabilities
Provides a list of IDs for upcoming sport events in the next 24 hours.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Match Info Data Points:
Sport Event Upcoming Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball-probabilities/trial/v2/en/sport_events/upcoming_probabilities.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", "/basketball-probabilities/trial/v2/en/sport_events/upcoming_probabilities.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/basketball-probabilities/trial/v2/en/sport_events/upcoming_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Sport Event Upcoming Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/upcoming_probabilities.`{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: v2). |
| `language_code` | Supported Locales |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Timeline Probabilities
Provides a timeline of pre-match and live probability changes for a given game.
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info Data Points:
Category Country Code Category Id
Category Name Sport Id
Sport Name
Competition Info Data Points:
Competition Gender Competition Id Competition Name Competition Parent Id Coverage Live Coverage Property Type Coverage Property Value Group - Group Name Group Id Group Name
Round Cup Round Number of Sport Events Round Cup Round Sport Event Number Round Name Round Number Season Competition Id Season End Date Season Id Season Name
Season Start Date Season Year Stage End Date Stage Order Stage Phase Stage Start Date Stage Type Stage Year
Competitor Info Data Points:
Abbreviation Country
Country Code Division
Id Name State
Player Info Data Points:
Id
Name
Venue Info Data Points:
Capacity Changed City Country Code
Country Name Id Map Coordinates
Name Reduced Capacity Reduced Capacity Max
Probability Info Data Points:
Away Team Win Probability Home Team Win Probability Market Away Score
Market Home Score Market Last Updated Market Live
Market Name Market Removed Outcome Name
Match Info Data Points:
Away Score Competitor Qualifier Ground Neutral Home Score Period Number Period Type Sport Event Id Sport Event Replaced By
Sport Event Resumed Time Sport Event Start Time Sport Event Start Time Confirmed Sport Event Status Sport Event Status Away Normaltime Score Sport Event Status Away Score Sport Event Status Decided by Fed Sport Event Status Decided Overtime
Sport Event Status Home Normaltime Score Sport Event Status Home Score Sport Event Status Match Status Sport Event Status Scout Abandoned Sport Event Status Winner Id Time Played Time Remaining
Competitor Match Statistics Data Points:
Assists Ball Possession Biggest Lead Defensive Rebounds Fouls Free Throw Attempts Successful Free Throw Attempts Made Leader Assists Leader Assists Player Id
Leader Points Leader Points Player Id Leader Rebounds Leader Rebounds Player Id Offensive Rebound Rebounds Shots Blocked Steals Team Leads Team Rebounds
Team Turnovers Three Point Attempts Successful Three Point Attempts Total Time Spent in Lead Timeouts Turnovers Two Point Attempts Successful Two Point Attempts Total
Player Match Statistics Data Points:
Assists Blocks Defensive Rebounds Field Goals Attempted Field Goals Made Free Throws Attempted
Free Throws Made Minutes Offensive Rebounds Personal Fouls Points Steals
Technical Fouls Three Pointers Attempted Three Pointers Made Total Rebounds Turnovers
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/basketball-probabilities/trial/v2/en/sport_events/sr:sport_event:26109208/timeline_probabilities.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", "/basketball-probabilities/trial/v2/en/sport_events/sr:sport_event:26109208/timeline_probabilities.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/basketball-probabilities/trial/v2/en/sport_events/sr:sport_event:26109208/timeline_probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Timeline Probabilities feed by replacing the parameters in the following URL:
https://api.sportradar.com/basketball-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/timeline_probabilities.`{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: v2). |
| `language_code` | Supported Locales |
| `sport_event_id` | Id of a given sport event. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Frequently Asked Questions
Q: What leagues or tournaments do you cover for basketball?
You can find all the leagues we cover, as well as a breakdown of data offered, via our Coverage Matrix.
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: How can I find the values for various enum data points within the API?
Q: What are the valid sport_event_status - status values?
A: Here are the valid sport_event_status - status values and their definitions:
not_started – The game is scheduled to be played
started – The game has begun
live – The game is currently in progress
postponed – The game has been postponed to a future date
suspended - The game began, but has been suspended to a later time
match_about_to_start – The game is about to begin
delayed – The game has been temporarily delayed and will be continued
interrupted - The game began, but coverage has stopped for a short time. Note that game scores may not be updated during this period, the last recorded game score will be displayed instead
cancelled – The game has been cancelled and will not be played
ended – The game is over
closed – The game results have been confirmed
Q: What are the valid sport_event_status – match_status values?
A: Here are the valid sport_event_status - status values:
1st_quarter
2nd_quarter
3rd_quarter
4th_quarter
1st_half
2nd_half
overtime
penalties
pause
awaiting_extra_time
awaiting_penalties
interrupted
not_started
aet
ended
postponed
cancelled
abandoned
start_delayed
started
Q: How do I access past seasons results and stats?
A: Use the Competition Seasons endpoint to locate the season_id for the season you want to access. Use that season_id to interrogate the various seasons endpoints.
Q: What are the valid outcomes for probabilities?
A: Here are the valid outcome probabilities:
home_team_winner
away_team_winner
Q: How do I find out the coverage for a particular match?
A: Find the node called "coverage" in the Summary, Lineups, or Timeline feeds. The attribute "coverage - live" reports if Sportradar has live coverage of the match or not. Properties within the coverage node denotes specific coverage properties, and displays a boolean value if the coverage type is available. A list of possible properties and their definitions are listed below:
boxscore - Player statistics are available post-match.
match_clock - A running match clock is available.
stats_leaders - Live statistics leaders are available. leader_points, leader_assists, leader_rebounds.
time_played_minutes_and_seconds - Player statistic for minutes is available in minutes and seconds.
time_played_minutes_only - Player statistic for minutes is available however only in minutes.
Q: Why do different groups have coverage information for a competition?
A: The notion of “groups” is versatile and is used to distinguish between playoffs, and our competition structures and is therefore necessary to describe coverage at a group level for consistency. Generally, however, within a competition in Basketball, there will be no difference between competition coverage between conferences.
Q: What are the possible event type values?
A: Here are the possible values for an event type:
match_started
period_start
rebound
score_change
foul
ball_block
break_start
timeout
period_score
match_ended
attempt_missed
free_throws_awarded
steal
timeout_over
turnover
video_review
video_review_over
won_jump_ball
Q: What are markets and what are the different markets?
A: Markets is something you can bet on that we provide probabilities for. Over time we intend to provide more and more markets in the API. Currently the only market we provide is 2-way (will the home team win? Or the away team?).
Q: What is the scale of the X Y coordinates?
A: The court we use is 100 by 100. Here is a layout of the court:
0
X
100
Y
100
Q: How are group IDs delivered in the stage array with the various types?
A: With the type of "league" they will have a sr:league prefix.
With the type of "cup" they will have a sr:cup prefix.
Q: Do you provide fixtures for future matches, before the competitors are known?
A: For playoff phase matches in selected leagues*, we will provide fixtures before the competitors are known. These matches will be created with placeholder competitors and when the fixture is fully drawn, the correct competitors will overwrite the placeholder names, with the match ID remaining the same.
Regarding the competitor placeholder names, we look to follow official naming where possible. This does mean that some differences will apply across competitions.
* Selected leagues are listed below:
Euroleague
Eurocup
Pro A
Liga ACB
BBL
TBSL
United League
A1
Liga ABA
NBL
Israel Super League
CBA
Q: How are “live” feeds handled in the API?
A: Sport Events appear in the feed 10 minutes before the scheduled start time and are removed 10 minutes after the Sport Event is ended.
Q: What is the probabilities package?
A: The probabilities package is an add-on set of feeds that are an extension of the Season Probabilities feed in the main package (which already provides pre-match probabilities for the sport event winner market). The main features of the Probabilities extension are: Live Probabilities that update throughout game, Season Outright Probabilities for the Tournament Winner market, and Live Probabilities Coverage indicator for the next 24 hours.
Q: Is there Live Probability coverage for every game you cover in the Global Basketball API?
A: Live Probability coverage depends on a number of factors and we can’t guarantee that every game will be covered for any given league, however, Sportradar aims to cover close to 100% of games from the following Tier 1 league: National Basketball Association (NBA) – USA
Q: Can I utilize the Probabilities extension if I license the Sportradar NBA API?
A: If you have a license for our NBA API you can also integrate Live Probabilities by utilizing the ID Mapping feeds available in Global Basketball v2 to connect games between the two products.
Q: What are the possible standings types I can observe in the Standings feed?
A: Listed below are the values for standing – type.
total
home
away
first_half_total
first_half_home
first_half_away
second_half_total
second_half_home
second_half_away
Q: Why can't I find a particular match in the Daily Summaries, Season Summaries or Sport Events Updated feeds?
A: These endpoints support pagination and return 200 entries by default. To return more matches, an additional query string parameter must be used after your API key. For example, appending &start=200 will return the next 200 entries per page, &start=400 will return the next 200, and so on.
Q: How will a sport event behave when it is not covered with live scores?
A: When a sport_event is not covered live, the status and match_status will remain as not_started until results are entered post-match.