Handball v2

Frequently Asked Questions
Quick Access
Postman Collection XSD Schema
Download
## Handball API Overview The Handball API provides real-time scoring, in-depth match statistics (when available), and an array of supplementary data. Over 80 leagues are covered and included in one package. Select the Handball 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 complementary stats, including:
  • Live Standings
  • Player profiles
  • Team profiles
  • Historical results
  • Seasonal statistics
  • Match win probabilities
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
Handball v2
Note: Authentication is required for all API calls.
## Handball v2 API Map To best utilize the Handball 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: >
  1. Call the Daily Summaries for the day the sport event takes place and find the Sport Event Id for the chosen sport event
  2. Make note of the Sport Event Id for the given sport event
  3. Call the Season Probabilities using the Season Id
  4. 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 season, team, match, and player feeds. ## Competition Info Provides the name, id, and parent id for a given competition.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Category & Sport Info: Category Country Code Category Id Category Name
Competition Info Data Points: Gender
Id
Name Parent Id
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/handball/trial/v2/en/competitions/sr:competition:439/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", "/handball/trial/v2/en/competitions/sr:competition:439/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/handball/trial/v2/en/competitions/sr:competition:439/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `competition_id` | Id of a given competition. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Competition List use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/competitions/getCompetitionInfo Return to top ## Competitions List Provides a list of all available competitions.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Category & Sport Info Data Points: Category Country Code Category Id Category Name
Competition Info Data Points: Gender
Id
Is Parent
Name
Parent Id
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/trial/v2/en/competitions.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Competitions List feed by replacing the parameters in the following URL: https://api.sportradar.com/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | | `&parents=true` | Optional query parameter to display only parent competitions. To retrieve the OpenAPI Schema Definition for the Competition List use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/competitions/getCompetitions Return to top ## Competition Seasons Provides historical season information for a given competition. Competitions will return a maximum of three seasons of data, including current or newly created seasons.
TTL / Cache: 300 seconds
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.com/handball/trial/v2/en/competitions/sr:competition:149/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", "/handball/trial/v2/en/competitions/sr:competition:149/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.com/handball/trial/v2/en/competitions/sr:competition:149/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `competition_id` | Id of a given competition. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Competitions Seasons use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/competitions/getCompetitionSeasons Return to top ## Competitor Merge Mappings Provides the valid Sportradar Id in cases when two competitors have been merged into one. Mapping entries will remain in the feed for 7 days.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Mappings Info Data Points: Name Merged Id Retained Id
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/competitors/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.com") conn.request("GET", "/handball/trial/v2/en/competitors/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.com/handball/trial/v2/en/competitors/merge_mappings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Competitor Merge Mappings feed by replacing the parameters in the following URL: https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitors/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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | Return to top ## Competitor Profile Provides top-level information for a given team, including the full team roster, home venue, and team colors.
TTL / Cache: 300 seconds
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 Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Competitor Virtual
Jersey Type
Jersey Base Color
Jersey Sleeve Color
Jersey Number Color
Jersey Squares Color
Jersey Squares Flag
Jersey Stripes Color
Jersey Stripes Flag
Jersey Horizontal Stripes Color
Jersey Horizontal Stripes Flag
Jersey Split Color
Jersey Split Flag
Jersey Shirt Type
Jersey Sleeve Detail Color
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
Name
Nationality
Type
Weight
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/competitors/sr:competitor:4004/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", "/handball/trial/v2/en/competitors/sr:competitor:4004/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.com/handball/trial/v2/en/competitors/sr:competitor:4004/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `competitor_id` | Id of a given competitor. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Competitor Profile use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/competitors/getCompetitorProfile Return to top ## Competitor Summaries Provides previous and upcoming game information for a given competitor, including results and statistics for past games, and scheduling info for upcoming games.
TTL / Cache: 300 seconds
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
Round Number of Sport Events
Round Sport Event Number
Round Name
Round Number
Round Other Sport Event Id
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Group Id
Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Player Info Data Points: Player Id Player Name
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Attendance
Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Score Number
Period Score Type
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
Sport Event Id
Sport Event Replaced By
Sport Event Resume Time
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Status - Winner Id
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/competitors/sr:competitor:4004/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", "/handball/trial/v2/en/competitors/sr:competitor:4004/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.com/handball/trial/v2/en/competitors/sr:competitor:4004/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `competitor_id` | Id of a given competitor. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Competitor Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/competitors/getCompetitorSummaries Return to top ## Daily Summaries Provides game schedules for a given day, including scoring information.
TTL / Cache: 300 seconds
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
Round Number of Sport Events
Round Sport Event Number
Round Name
Round Number
Round Other Sport Event Id
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Group Id
Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Player Info Data Points: Player Id Player Name
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Attendance
Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Score Number
Period Score Type
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
Sport Event Id
Sport Event Replaced By
Sport Event Resume Time
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Status - Winner Id
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/schedules/2022-05-05/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", "/handball/trial/v2/en/schedules/2022-05-05/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.com/handball/trial/v2/en/schedules/2022-05-05/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Daily Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/schedules/getScheduleSummaries ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/handball/trial/v2/en/schedules/2018-09-05/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
import http.client

conn = http.client.HTTPSConnection("api.sportradar.com")

conn.request("GET", "/handball/trial/v2/en/schedules/2018-09-05/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.com/handball/trial/v2/en/schedules/2018-09-05/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.
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 200.
Example: limit=200 | Return to top ## Head To Head Provides previous and upcoming games between two teams, including statistics and results.
TTL / Cache: 60 seconds
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 Is Parent
Competition Name
Competition Parent Id
Round Number
Season Competition Id
Group Id
Group Name
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Player Info Data Points: Player Id Player Name
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Attendance
Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Score Number
Period Score Type
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
Sport Event Id
Sport Event Replaced By
Sport Event Resume Time
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Status - Winner Id
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/competitors/sr:competitor:6777/versus/sr:competitor:6950/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", "/handball/trial/v2/en/competitors/sr:competitor:6777/versus/sr:competitor:6950/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.com/handball/trial/v2/en/competitors/sr:competitor:6777/versus/sr:competitor:6950/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Head To Head feed by replacing the parameters in the following URL: https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/versus/`{competitor_id2}`/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` | 2 letter code for supported languages: en (English) | | `competitor_id` | Id of a given competitor. | | `competitor_id2` | Id of a given competitor. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Head To Head use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/competitors/getCompetitorVersusSummaries Return to top ## Live Summaries Provides information for all currently live games, including team scoring and statistics. This feed updates in real time as games are played.
TTL / Cache: 1 second
Update Frequency: Realtime
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
Round Number
Season Competition Id
Group Id
Group Name
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Player Info Data Points: Player Id Player Name
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Score Number
Period Score Type
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
Sport Event Id
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/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/handball/`{access_level}`/`{version}`/`{language_code}`/schedules/live/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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Live Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/summaries/getScheduleLiveSummaries Return to top ## Live Timelines Provides a real-time play-by-play event timeline for currently live games.
TTL / Cache: 1 second
Update Frequency: Realtime
Content Type: XML or JSON
Player Info Data Points: Player Id Player Name Player Type
Sport Event Info Data Points: Period Away Score
Period Home Score
Period Score Number
Period Score Type
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Timeline Id
Sport Event Timeline Start Time
Event Data Points: Away Score
Competitor
Home Score
Id
Match Clock
Match Time
Method
Period Name
Scorer Id
Scorer Name
Shot Type
Time
Type
Zone
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Live Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/timelines/getLiveTimelines Return to top ## Live Timelines Delta Provides a 10 second live delta of game information, including scoring and a play-by-play event timeline.
TTL / Cache: 1 second
Update Frequency: Realtime
Content Type: XML or JSON
Player Info Data Points: Player Id Player Name Player Type
Sport Event Info Data Points: Period Away Score
Period Home Score
Period Score Number
Period Score Type
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Timeline Id
Sport Event Timeline Start Time
Event Data Points: Away Score
Competitor
Home Score
Id
Match Clock
Match Time
Method
Period Name
Scorer Id
Scorer Name
Shot Type
Time
Type
Zone
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Live Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/timelines/getLiveTimelinesDelta 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.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Player Info Data Points: Player Merged Id Player Merged Name Retained Id
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Player Merge Mappings use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/mappings/getPlayerMergeMappings Return to top ## Player Profile Provides player biographical information, including current team.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Compeittor Country Code
Competitor Gender
Competitor Id
Compeittor Name
Player Info Data Points: Country Code
Date of Birth
Gender
Height
Id
Jersey Number
Name
Nationality
Type
Weight
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/players/sr:player:124683/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", "/handball/trial/v2/en/players/sr:player:124683/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.com/handball/trial/v2/en/players/sr:player:124683/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `player_id` | Id of a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Seasons use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/players/getPlayerProfile Return to top ## Player Summaries Provides game info and statistics for the past 10 matches in which a given player participated.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Category & Sport Info Data Points: Category Id
Category Name
Sport Id Sport Name
Competition Info Data Points: Competition Gender
Competition Id
Competition Name
Competition Parent Id
Round Number of Sport Events
Round Sport Event Number
Round Name
Round Number
Round Other Sport Event Id
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Group Id
Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Player Info Data Points: Player Id Player Name
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Attendance
Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Score Number
Period Score Type
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
Sport Event Id
Sport Event Replaced By
Sport Event Resume Time
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Status - Winner Id
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/players/sr:player:124683/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", "/handball/trial/v2/en/players/sr:player:124683/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.com/handball/trial/v2/en/players/sr:player:124683/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Player Summaries feed by replacing the parameters in the following URL: https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/players/`{player_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` | 2 letter code for supported languages: en (English) | | `player_id` | Id of a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Player Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/players/getPlayerSummaries Return to top ## Season Competitors Provides a list of teams participating for a given season.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Competitor Info Data Points: Competitor Abbreviation
Competitor Id
Competitor Name Compeittor Short Name
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:77753/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", "/handball/trial/v2/en/seasons/sr:season:77753/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.com/handball/trial/v2/en/seasons/sr:season:77753/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `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 Competitors use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonCompetitors Return to top ## Season Form Standings Provides a form table of game results and splits for a given season. Table displays W/D/L (win/draw/loss) for a maximum of 6 matches for each team.
TTL / Cache: 10 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Competition Info Data Points: Group Id Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Standings Data Points: Draws
Form Standing Results
Form Standing Type
Goals Against
Goal Difference
Goals For
Losses
Played
Points
Rank
Wins
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:95685/form_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", "/handball/trial/v2/en/seasons/sr:season:95685/form_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.com/handball/trial/v2/en/seasons/sr:season:95685/form_standings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Season Form Standings feed by replacing the parameters in the following URL: https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/form_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` | 2 letter code for supported languages: en (English) | | `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:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:95685/form_standings.xml?api_key={your_api_key}&round=1")

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

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

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("api.sportradar.us")

conn.request("GET", "/handball/trial/v2/en/seasons/sr:season:95685/form_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/handball/trial/v2/en/seasons/sr:season:95685/form_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 | | `limit` | Number of matches played to display for each team.
Example: limit=2

Note: The max limit is 10, which will show for example played=10, win=8, loss=2. But the form will always display a max of 6 matches. | Return to top ## Season Information Provides detailed information for a given season, including participating teams and league structure.
TTL / Cache: 300 seconds
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
Group Id
Group Max Rounds
Group Name
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:55149/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", "/handball/trial/v2/en/seasons/sr:season:55149/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.com/handball/trial/v2/en/seasons/sr:season:55149/info.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Season Information feed by replacing the parameters in the following URL: https://api.sportradar.com/handball/`{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` | 2 letter code for supported languages: en (English) | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Season Information use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonInfo Return to top ## Season Links Provides information about linked cup rounds for a given season. Use this feed to compile full advancement brackets for relevant seasons/tournaments. Links between all matches and rounds are available when competitors (TBD vs. TBD) are not yet known.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Competition Info Data Points: Cup Round Id
Cup Round Name
Cup Round Order
Cup Round State
Cup Round Type
Cup Round Winner Id
Group - Group Name
Group Id
Stage End Date
Stage Order
Stage Phase
Stage Start Date
Stage Type
Stage Year
Sport Event Info Data Points: Sport Event Id
Sport Event Replaced By
Sport Event Resume Time
Sport Event Start Time
Sport Event Start Time Confirmed
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:81676/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", "/handball/trial/v2/en/seasons/sr:season:81676/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/handball/trial/v2/en/seasons/sr:season:81676/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.com/handball/`{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` | 2 letter code for supported languages: en (English) | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | Return to top ## Season Players Provides names and ids for all participating players for a given season.
TTL / Cache: 300 seconds
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.com/handball/trial/v2/en/seasons/sr:season:77753/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", "/handball/trial/v2/en/seasons/sr:season:77753/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.com/handball/trial/v2/en/seasons/sr:season:77753/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `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 Players use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonPlayers Return to top ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:77753/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
import http.client

conn = http.client.HTTPSConnection("api.sportradar.com")

conn.request("GET", "/handball/trial/v2/en/seasons/sr:season:77753/players.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.com/handball/trial/v2/en/seasons/sr:season:77753/players.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.
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=200 | Return to top ## Season Probabilities Provides 3-way match win probabilities (home team win, away team win, draw) for all matches for a given season.
TTL / Cache: 60 seconds
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
Round Number of Sport Events
Round Sport Event Number
Round Name
Round Number
Round Other Sport Event Id
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Group Id
Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
Probability Info Data Points: Away/Home Team Win/Draw Probability Market Name Outcome Name
Sport Event Info Data Points: Coverage Info
Ground Neutral
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
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/handball/trial/v2/en/seasons/sr:season:41816/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", "/handball/trial/v2/en/seasons/sr:season:41816/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.com/handball/trial/v2/en/seasons/sr:season:41816/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `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 Probabilities use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonProbabilities ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:41816/probabilities.xml?api_key={your_api_key}&start=200")

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

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

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("api.sportradar.com")

conn.request("GET", "/handball/trial/v2/en/seasons/sr:season:41816/probabilities.xml?api_key={your_api_key}&start=200")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
curl -L GET 'api.sportradar.com/handball/trial/v2/en/seasons/sr:season:41816/probabilities.xml?api_key={your_api_key}&start=200'
In addition to the URL parameters listed above, you can paginate the response 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 (&).
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 200.
Example: limit=200 | Return to top ## Season Standings Provides detailed standings info for a given season.
TTL / Cache: 10 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Competition Info Data Points: Group Id
Group Live
Group Name
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Standings Data Points: Change
Current Outcome
Draw
Goals Against
Goal Difference
Goals For
Losses
Minus Points
Played
Points
Rank
Round
Tie Break Rule
Type
Win
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:41816/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", "/handball/trial/v2/en/seasons/sr:season:41816/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.com/handball/trial/v2/en/seasons/sr:season:41816/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `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:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:41816/standings.xml?api_key={your_api_key}&round=1")

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

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

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("api.sportradar.us")

conn.request("GET", "/handball/trial/v2/en/seasons/sr:season:41816/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/handball/trial/v2/en/seasons/sr:season:41816/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/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonStandings Return to top ## Season Statistics Provides team and player seasonal statistics for a given team and season.
Steals
Suspensions
Technical Fouls
Yellow Cards
TTL / Cache: 30 seconds
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 Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Player Info Data Points: Player Id Player Name
Competitor Season Statistic Data Points: Blocks
Field Goals
Goals Conceded
Goals Scored
Red Cards
Saves
Seven M Goals
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Season Statistic Data Points: Assists
Blocks
Field Goals
Games Played
Goals
Goals Conceded
Goals Scored
Red Cards
Seven M Goals
Save Accuracy
Saves
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:42024/competitors/sr:competitor:5462/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", "/handball/trial/v2/en/seasons/sr:season:42024/competitors/sr:competitor:5462/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.com/handball/trial/v2/en/seasons/sr:season:42024/competitors/sr:competitor:5462/statistics.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. Access the Season Statistics feed by replacing the parameters in the following URL: https://api.sportradar.com/handball/`{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` | 2 letter code for supported languages: en (English) | | `season_id` | Id of a given season. | | `competitor_id` | Id of a given competitor. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Season Statistics use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonCompetitorStatistics Return to top ## Season Summaries Provides schedule information for all matches from a given season including scoring and statistics at the match level.
Note: Pagination may be required to pull all data within this feed. By default, the feed will return 200 sport events.
TTL / Cache: 300 seconds
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
Round Id
Round Number of Sport Events
Round Sport Event Number
Round Name
Round Number
Round Other Sport Event Id
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Group Id
Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Number
Period Score Type
Sport Event Id
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Status - Winner Id
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:77753/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", "/handball/trial/v2/en/seasons/sr:season:77753/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.com/handball/trial/v2/en/seasons/sr:season:77753/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `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 Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonSummaries Return to top ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.us/handball/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}&start=0&limit=75")

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

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

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("api.sportradar.us")

conn.request("GET", "/handball/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/handball/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 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, maximum value is 1000.
Example: limit=75 | Return to top ## Seasons Provides a list of historical season information for all competitions. Competitions will return a maximum of three seasons of data, including current or newly created seasons.
TTL / Cache: 300 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Competition Info Data Points: Season Disabled
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/handball/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", "/handball/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/handball/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Seasons feed use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasons Return to top ## Sport Event Summaries Provides real-time match-level statistics for a given match. Including player and team stats, and scoring info. Please note that data returned is determined by coverage level.
TTL / Cache: 1 second
Update Frequency: Realtime
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
Round Number of Sport Events
Round Sport Event Number
Round Name
Round Other Sport Event Id
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Group Id
Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Player Info Data Points: Player Id Player Name
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Reduced Capacity
Reduced Capacity Max
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Score Number
Period Score Type
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
Sport Event Id
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Status - Winner Id
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/sport_events/sr:sport_event:33053289/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", "/handball/trial/v2/en/sport_events/sr:sport_event:33053289/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.com/handball/trial/v2/en/sport_events/sr:sport_event:33053289/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/handball/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{match_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` | 2 letter code for supported languages: en (English) | | `match_id` | Id of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Sport Event Summary use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/sport_events/getSportEventSummary 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 half, and player and team stats. Please note that data returned is determined by coverage level.
TTL / Cache: 1 second
Update Frequency: Realtime
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
Round Number of Sport Events
Round Sport Event Number
Round Name
Round Other Sport Event Id
Season Competition Id
Season End Date
Season Id
Season Name
Season Start Date
Season Year
Stage Order
Stage Type
Stage Phase
Stage End Date
Stage Start Date
Stage Year
Group Id
Group Name
Competitor Info Data Points: Competitor Abbreviation
Competitor Age Group
Competitor Country
Competitor Country Code
Competitor Gender
Competitor Id
Competitor Name
Competitor Qualifier
Player Info Data Points: Player Id Player Name
Venue Info Data Points: Capacity
City Name
Country Code
Country Name
Reduced Capacity
Reduced Capacity Max
Venue Id
Venue Map Coordinates
Venue Name
Sport Event Info Data Points: Coverage Info
Ground Neutral
Period Away Score
Period Home Score
Period Score Number
Period Score Type
Referee Country Code
Referee Id
Referee Name
Referee Nationality
Referee Type
Sport Event Id
Sport Event Start Time
Sport Event Start Time Confirmed
Sport Event Status - Aggregate Away Score
Sport Event Status - Aggregate Home Score
Sport Event Status - Away Score
Sport Event Status - Home Score
Sport Event Status - Match Status
Sport Event Status - Match Tie
Sport Event Status
Sport Event Status - Winner Id
Competitor Game Statistics Data Points: Assists
Blocks
Field Goals
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Player Game Statistics Data Points: Assists
Blocks
Field Goals
Goalkeeper Minutes Played
Goals
Goals Conceded
Goals Scored
Red Cards
Save Accuracy
Saves
Seven M Goals
Seven M Saves
Shot Accuracy
Shots
Shots Against
Shots Off Goal
Shots On Goal
Steals
Suspensions
Technical Fouls
Yellow Cards
Event Data Points: Away Score
Break Name
Competitor
Home Score
Id
Match Clock
Match Time
Method
Period
Period Name
Scorer Id
Scorer Name
Scorer Type
Shot Type
Suspension Minutes
Time
Type
Zone
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/sport_events/sr:match:33053289/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", "/handball/trial/v2/en/sport_events/sr:match:33053289/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.com/handball/trial/v2/en/sport_events/sr:match:33053289/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/handball/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{match_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` | 2 letter code for supported languages: en (English) | | `match_id` | Id of a given match. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Sport Event Timeline use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/sport_events/getSportEventTimeline Return to top ## Sport Events Created Provides ids for sport events that have been created in the last 24 hours.
Note: Pagination may be required to pull all data within this feed. By default, the feed will return 200 sport events.
TTL / Cache: 60 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Sport Event Info Data Points: Active Season Flag Id Created At
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Sport Events Created use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/sport_events/getSportEventsCreated ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.us/handball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}&start=0&limit=75")

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

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

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("api.sportradar.us")

conn.request("GET", "/handball/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/handball/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 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, maximum value is 1000.
Example: limit=75 | Return to top ## Sport Events Removed Provides ids for sport events that have been removed from the API due to an entry error. Ids will remain in the response for 2 weeks.
Note: Pagination may be required to pull all data within this feed. By default, the feed will return 200 sport events.
TTL / Cache: 60 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Sport Event Info Data Points: Sport Event Removed Id Sport Event Removed Replaced By
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Sport Event Removed use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/sport_events/getSportEventsRemoved ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.us/handball/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}&start=0&limit=75")

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

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

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("api.sportradar.us")

conn.request("GET", "/handball/trial/v2/en/sport_events/removed.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/handball/trial/v2/en/sport_events/removed.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 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, maximum value is 1000.
Example: limit=75 | Return to top ## Sport Events Updated Provides ids for sport events that have been updated in the last 24 hours.
Note: Pagination may be required to pull all data within this feed. By default, the feed will return 200 sport events.
TTL / Cache: 60 seconds
Update Frequency: As Necessary
Content Type: XML or JSON
Sport Event Info Data Points: Sport Event Updated Id Sport Event Updated At
```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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", "/handball/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.com/handball/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/handball/`{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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Sport Events Updated use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/sport_events/getSportEventsUpdated ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://api.sportradar.us/handball/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}&start=0&limit=75")

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

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

response = http.request(request)
puts response.read_body
import http.client

conn = http.client.HTTPSConnection("api.sportradar.us")

conn.request("GET", "/handball/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/handball/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 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, 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 Provides real-time event updates for all live games. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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/handball/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/handball/trial/stream/events/subscribe?api_key={your_api_key}" ``` >The above command returns json like this. Access the Push Events feed by replacing the parameters in the following URL: https://api.sportradar.us/handball/`{access_level}`/stream/events/subscribe?api_key=`{your_api_key}` | 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/handball/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event:19115812") 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/handball/trial/stream/events/subscribe", params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sr:sport_event:19115812'}, 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/handball/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event:19115812' ``` 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=handball | | `competition_id` | Competition Id expressed as: {competition_id}.
Example: competition_id=sr:competition:1398 | | `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:70242 | | `sport_event_id` | Sport event id expressed as: {sport_event_id}.
Example: sport_event_id=sr:sport_event:19115812 | | `sport_id` | Sport id expressed as: {sport_id}.
Example: sport_id=sr:sport:6 | Return to top ## Push Statistics Provides real-time team and player match-level statistics for all live games. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/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/handball/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/handball/trial/stream/statistics/subscribe?api_key={your_api_key}' ``` >The above command returns json like this. Access the Push Statistics feed by replacing the parameters in the following URL: https://api.sportradar.us/handball/`{access_level}`/stream/statistics/subscribe?api_key=`{your_api_key}` | 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/handball/trial/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event:19115812") 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/handball/trial/stream/statistics/subscribe", params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sr:sport_event:19115812'}, 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/handball/trial/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event:19115812' ``` 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=handball | | `competition_id` | Competition Id expressed as: {competition_id}.
Example: competition_id=sr:competition:1398 | | `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:70242 | | `sport_event_id` | Sport event id expressed as: {sport_event_id}.
Example: sport_event_id=sr:sport_event:19115812 | | `sport_id` | Sport id expressed as: {sport_id}.
Example: sport_id=sr:sport:6 | 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. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/handball-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", "/handball-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/handball-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/handball-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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Season Outright Probabilities Provides a list of outright probabilities for each team from a given season. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/handball-probabilities/trial/v2/en/seasons/sr:season:77385/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", "/handball-probabilities/trial/v2/en/seasons/sr:season:77385/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/handball-probabilities/trial/v2/en/seasons/sr:season:77385/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/handball-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` | 2 letter code for supported languages: en (English) | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Sport Event Probabilities Provides pre-match and live probabilities for a given game. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/handball-probabilities/trial/v2/en/sport_events/sr:sport_event:27084992/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", "/handball-probabilities/trial/v2/en/sport_events/sr:sport_event:27084992/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/handball-probabilities/trial/v2/en/sport_events/sr:sport_event:27084992/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/handball-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` | 2 letter code for supported languages: en (English) | | `sport_event_id` | Id of a given sport event. | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Sport Event Upcoming Probabilities Provides a list of IDs for upcoming sport events in the next 24 hours. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/handball-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", "/handball-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/handball-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/handball-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` | 2 letter code for supported languages: en (English) | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Timeline Probabilities Provides a timeline of pre-match and live probability changes for a given game. ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/handball-probabilities/trial/v2/en/sport_events/sr:sport_event:27084992/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", "/handball-probabilities/trial/v2/en/sport_events/sr:sport_event:27084992/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/handball-probabilities/trial/v2/en/sport_events/sr:sport_event:27084992/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/handball-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` | 2 letter code for supported languages: en (English) | | `sport_event_id` | Id of a given sport event. | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Frequently Asked Questions

Q: What leagues do you cover, and at what level?

Coverage information can be found 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?

A: Many enum values are listed in the FAQ below. For the most up-to-date values, please see the Schema section of the OpenAPI specification here: https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html

Q: What are the valid "sport_event_status - status" values?

A: Here are the valid status values and their definitions:

  • not_started – The match is scheduled to be played
  • started – The match has begun
  • suspended – The match has been suspended
  • match_about_to_start – The is about to begin
  • live – The match is currently in progress
  • postponed – The match has been postponed to a future date
  • delayed – The match has been temporarily delayed and will be continued
  • interrupted - The match began, but coverage has stopped for a short time. Note that match scores may not be updated during this period, the last recorded match score will be displayed instead
  • cancelled – The match has been cancelled and will not be played
  • ended – The match is over
  • closed – The match results have been confirmed

Q: What are the valid match_status values?

A: Here are the valid match_status values and their definitions:

  • 1st_extra
  • 1st_half
  • 2nd_extra
  • 2nd_half
  • abandoned
  • aet
  • ap
  • awaiting_extra
  • awaiting_extra_time
  • awaiting_penalties
  • cancelled
  • ended
  • extra_time_halftime
  • halftime
  • interrupted
  • not_started
  • overtime
  • pause
  • penalties
  • postponed
  • start_delayed
  • started

Q: What are the valid outcomes for probabilities?

A: Here are the valid outcome probabilities:

  • home_team_winner
  • away_team_winner
  • draw

Q: How do I find out the coverage for a particular match?

A: Find the node called “coverage” in the Sport Event Timeline endpoint. The attribute live reports whether Sportradar has live coverage of the match or not.

Q: Why do different groups have coverage information for a tournament?

A: The notion of “groups” is versatile and is used to distinguish between playoffs, and our tournaments structures and is therefore necessary to describe coverage at a group level for consistency.

Q: What are the possible event types logged?

A: Here are all of the possible event types we log:

  • blue_card
  • break_start
  • empty_net
  • goalkeeper_back
  • match_ended
  • match_started
  • penalty_missed
  • penalty_shootout
  • period_score
  • period_start
  • red_card
  • save
  • score_change
  • seven_m_awarded
  • seven_m_missed
  • shot_blocked
  • shot_off_target
  • shot_on_target
  • shot_saved
  • steal
  • substitution
  • suspension
  • suspension_over
  • technical_ball_fault
  • technical_rule_fault
  • timeout
  • timeout_over
  • yellow_card

Q: What are the valid tournament types?

A: Here are the valid tournament types:

  • group
  • playoff

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 3-way (will the home team win? Or the away team? Or will it be a draw?)

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: What competitions will have event zone data in the timeline feeds?

A: Zone data will be available for the following competitions:

HBL (German Handball League)

  • Bundesliga: sr:competition:149
  • Bundesliga: sr:competition:921
  • DHB Pokal: sr:competition:57
  • Supercup: sr:competition:434
  • All Star Game: sr:competition:2488

EHF

  • EHF club competitions (EHF Champions League M/W, EHF European League M/W, EHF Cup M/W)
  • EHF national team competitions (EHF Euro M/W, EHF Eurocup M/W, various EHF Qualification matches etc.)

HBF (German Handball League Women)

  • Women Bundesliga: sr:competition:245
  • 2nd Bundesliga Women: sr:competition:33055
  • Super Cup Women: sr:competition:612
  • DHB Pokal Women: sr:competition:58

HLA (Austrian Handball League)

  • HLA: sr:competition:85
  • HLA 2: sr:competition:25705
  • Super Cup: sr:competition:2312

Q: What are the possible event zones in the timeline feeds?

A: Here are all of the possible event zones we log

  • unknown
  • wing_left
  • wing_right
  • six_meter_centre
  • nine_meter_centre
  • nine_meter_left
  • nine_meter_right
  • six_meter_left
  • six_meter_right
  • back_court

Q: What are the possible shot types logged?

A: Here are all of the possible shot types we log:

  • fast_break
  • breakthrough
  • direct_free_throw
  • pivot

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

Q: How do I locate the TTL (Time to Live)/cache on an API endpoint?

A: The cache (in seconds) can be accessed in the returned header information on each RESTful API call, under cache-control.
ex. cache-control: max-age=1, public, s-maxage=1 or
cache-control: public, must-revalidate, max-age=120

Q: What are the possible values for cup_roundstate in the Season Links feed?

A: Listed below are the values and definitions for cup_round - state. These can be leveraged to determine the status of a cup round.

  • empty - A matchup has been created but neither the match details nor the competitors are known.
  • unseeded_fixture - Match details are known but competitors are unknown.
  • partial_seeded - One competitor is known.
  • partial_seeded_fixture - Match details and one competitor are known.
  • seeded - Both competitors are known.
  • seeded_fixture - Match details and both competitors are known.
  • unstarted - Match(es) have been added.
  • on_going - The first match has started.
  • decided - The last match has ended.
  • winner - The winner is known.
  • cancelled – The matchup has been cancelled.
Return to top

Docs Navigation