Handball v2

Frequently Asked Questions
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 ```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. This endpoint retrieves the Competition Info. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitions/`{competition_id}`/info.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `competition_id` | Id of a given competition. | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 API map ## Competitions List ```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. This endpoint retrieves the Competitions List. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitions.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | | `&parents=true` | Optional query parameter to display only parent competitions. 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 API map ## Competitions Seasons ```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. This endpoint retrieves the Competitions Seasons. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitions/`{competition_id}`/seasons.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `competition_id` | Id of a given competition. | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 API map ## Competitor Profile ```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. This endpoint retrieves the Competitor Profile. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/profile.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `competitor_id` | Id of a given competitor. | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 API map ## Competitor Summaries ```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. This endpoint retrieves the Competitor Summaries. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/summaries.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `competitor_id` | Id of a given competitor. | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 API map ## Daily Summaries ```ruby 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 ``` ```python import http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/handball/trial/v2/en/schedules/2018-09-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/2018-09-05/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Daily Summaries. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/summaries.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `year` | Year in 4 digit format (YYYY). | | `month` | Month in 2 digit format (MM). | | `day` | Day in 2 digit format (DD). | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 Return to API map ## Head To Head ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/competitors/sr:competitor:4004/versus/sr:competitor:3993/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/versus/sr:competitor:3993/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/versus/sr:competitor:3993/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Head To Head. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/versus/`{competitor_id2}`/summaries.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `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 API map ## Live Summaries ```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. This endpoint retrieves the Live Summaries. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/schedules/live/summaries.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Live Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/summaries/getScheduleLiveSummaries Return to API map ## Live Timelines ```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. This endpoint retrieves the Live Timelines. http://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/schedules/live/timelines.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Live Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/timelines/getLiveTimelines Return to API map ## Live Timelines Delta ```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. This endpoint retrieves the Live Timelines Delta. http://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/schedules/live/timelines_delta.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the XML Schema Definition (.XSD) for Live Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/timelines/getLiveTimelinesDelta Return to API map ## Player Merge Mappings ```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. This endpoint retrieves the Player Merge Mappings info. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/players/merge_mappings.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the 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 API map ## Player Profile ```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. This endpoint retrieves the Player Profile. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/players/`{player_id}`/profile.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `player_id` | Id of a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 API map ## Player Summaries ```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. This endpoint retrieves Player Summaries. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/players/`{player_id}`/summaries.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `player_id` | Id of a given player. | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 API map ## Season Competitors ```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. This endpoint retrieves the Season Summaries. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/competitors.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Season Competitors use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonCompetitors Return to API map ## Season Information ```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. This endpoint retrieves the Season Information. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/info.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the 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 API map ## Season Players ```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. This endpoint retrieves the Season Players. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/players.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Season Players use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonPlayers Return to API map ## Season Probabilities ```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. This endpoint retrieves the Season Probabilities. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/probabilities.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Season Probabilities use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonProbabilities Return to API map ## Season Standings ```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. This endpoint retrieves the Season Standings. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/standings.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Season Standings use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonStandings Return to API map ## Season Statistics ```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. This endpoint retrieves the Season Statistics. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/competitors/`{competitor_id}`/statistics.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `competitor_id` | Id of a given competitor. | | `format` | xml or json. | | `your_api_key` | Your API key. | 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 API map ## Season Summaries ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/seasons/sr:season:41816/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:41816/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:41816/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Season Summaries. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/summaries.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Season Summaries use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/seasons/getSeasonSummaries Return to API map ## Seasons ```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. This endpoint retrieves Season Info. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/seasons.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the 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 API map ## Sport Event Change Log ```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. This endpoint retrieves the Sport Event Change Log. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/sport_events/updated.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the OpenAPI Schema Definition for the Sport Event Change Log use the following URL. https://api.sportradar.com/handball/trial/v2/openapi/swagger/index.html#/sport_events/getSportEventsUpdated Return to API map ## Sport Event Removed ```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. This endpoint retrieves the Sport Event Removed. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/sport_events/removed.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | To retrieve the 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 Return to API map ## Sport Event Summaries ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/sport_events/sr:sport_event:11948924/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:11948924/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:11948924/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Sport Event Summary. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{match_id}`/summary.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `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 API map ## Sport Event Timeline ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/handball/trial/v2/en/sport_events/sr:match:12931320/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:12931320/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:12931320/timeline.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Sport Event Timeline. https://api.sportradar.com/handball/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{match_id}`/timeline.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `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 API map ## Push Feeds >To best utilize Push feeds, we have included code samples in Ruby and Java which provides an example of a way you can consume the feeds. Using these samples will output the feeds content to STDOUT.
For Java, we have also provided a Stream Client to assist your integration.

Note: In the provided Java sample, replace "URL GOES HERE" with the desired Push feed URL. ```ruby require 'httpclient' module Sportradar module HTTP module Stream class Client attr_reader :url, :logger def initialize(url, publisher, logger) @url = url @logger = logger @publisher = publisher @client = ::HTTPClient.new(:agent_name => 'SportsData/1.0') end def start @thread ||= Thread.new do logger.debug "Starting loop" @client.get_content(url, :follow_redirect => true) do |chunk| @publisher.publish(::JSON.parse(chunk)) if @publisher end logger.debug "finished loop" end end def stop @thread.terminate if @thread end end end end end ``` ```java package com.sportradar.http.stream.client; import org.junit.After; import org.junit.Before; import org.junit.Test; public class StreamClientTest { private StreamClient client; private static String SERVICE_URL = ""; @Before public void setup() { client = new StreamClient(); } @After public void cleanup() { client.terminate(); } @Test public void testStream() throws Exception { Handler handler = new ConsoleHandler(); client.stream(SERVICE_URL, handler); System.out.println("Connecting...."); Thread.sleep(1 * 60 * 1000); System.out.println("Disconnecting...."); } } ``` Some of our APIs include Push feeds that allow you to get updates as soon as they are available. Push API feeds automatically send JSON and XML payloads to you via a push service, and can dramatically reduce the number of calls you need to make to our RESTful API feeds. The structure of the Push feeds are similar to the structure of the corresponding RESTful API feed (i.e. Push Events and Push Statistics). The push service ensures reliable and efficient delivery of the most up to date information. Our Push services are based on a HTTP publish/subscribe model. When making a call to the Push APIs, you "subscribe" to various data feeds provided by our service; whenever new content is available on one of those feeds, the server pushes that information out to your client. When no new information is available on the feed, a heartbeat message is sent every 5 seconds to keep the connection active. If you want to filter the results of the feeds, there are several optional query string parameters that can be applied to the API call. If left unfiltered, then all data for the feed is displayed (i.e. all events). For your applications to accept data from our Push feeds, ensure that your application can: * Can follow a HTTP redirect or use the location provided in the feeds header within one minute of your initial request. * Can accept HTTP data transfer encoded as chunked. Our Push service does not provide a "stateful session", there is no memory of what data has been sent previously. If you are disconnected from the Push session, you can use the RESTful API to catch up or recover from the disconnection. Syntax for using our Push feeds and examples of the JSON and XML payloads can be found below. ## Push - Events ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://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 http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/handball/trial/stream/events/subscribe?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -L GET "api.sportradar.com/handball/trial/stream/events/subscribe?api_key={your_api_key}" ``` >The above command returns json like this. This endpoint retrieves the Events information via Push. http://api.sportradar.us/handball/`{access_level}`/stream/events/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://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 http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/handball/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event:19115812") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```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 API map ## Push - Statistics ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://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 http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/handball/trial/stream/statistics/subscribe?api_key={your_api_key}") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```shell curl -L "GET api.sportradar.com/handball/trial/stream/statistics/subscribe?api_key={your_api_key}" ``` >The above command returns json like this. This endpoint retrieves the Statistics information via Push. http://api.sportradar.us/handball/`{access_level}`/stream/statistics/subscribe?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `your_api_key` | Your API key. | ### Optional Query String Parameters >Example including optional query string parameters: ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("http://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 http.client conn = http.client.HTTPSConnection("api.sportradar.us") conn.request("GET", "/handball/trial/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event:19115812") res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ```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 API map ## 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 ```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. This endpoint retrieves Live Probabilities. https://api.sportradar.com/handball-probabilities/`{access_level}`/`{version}`/`{language_code}`/schedules/live/probabilities.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Season Outright Probabilities ```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. This endpoint retrieves Season Outright Probabilities. https://api.sportradar.com/handball-probabilities/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/outright_probabilities.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `season_id` | Id of a given season. | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Sport Event Probabilities ```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. This endpoint retrieves Sport Event Probabilities. https://api.sportradar.com/handball-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/probabilities.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `sport_event_id` | Id of a given sport event. | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Sport Event Upcoming Probabilities ```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. This endpoint retrieves Sport Event Upcoming Probabilities. https://api.sportradar.com/handball-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/upcoming_probabilities.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Timeline Probabilities ```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. This endpoint retrieves Timeline Probabilities. https://api.sportradar.com/handball-probabilities/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_id}`/timeline_probabilities.`{format}`?api_key=`{your_api_key}` Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). | | `version` | Version number of the API you are accessing (Current Version: v2). | | `language_code` | Supported Locales | | `sport_event_id` | Id of a given sport event. | | `format` | xml or json. | | `your_api_key` | Your API key. | ## Frequently Asked Questions

Q: What leagues or tournaments do you cover for Handball?

A: We cover the following tournaments.

Area Tournament
International Champions League
Champions League, Women
EHF Cup
EHF Cup, Women
EHF Cup Winners
EHF Cup Winners, Women
European Championship
European Championship Quarterfinals
European Championship, Women
European Championship, Women Quarterfinals
World Championship
World Championship Qualifiers
World Championship, Women
World Championship, Women Qualifiers
Super Cup
Super Globe
Club Friendly Games
International Friendly Games
International Friendly Games, Women
Olympic Games
Olympic Games Quarterfinals
Olympic Games, Women
Olympic Games, Women Quarterfinals
Bring Cup
Tournament Of Champions
SEHA League
Mobelringen Cup
Baltic Handball League
U19 World Championship
U20 World Championship, Women
U21 World Championship
WHIL, Women
Germany DHB Pokal
DHB Pokal, Women
Bundesliga
Bundesliga, Women
Super Cup
Super Cup, Women
2nd Bundesliga
All Star Game
Austria HLA
HBA
Austrian League All Star
Super Cup
OHB-Cup
WHA GD, Women
Denmark

Handboldligaen

Damehandboldligaen

Cup
Cup, Women
1. Division
1. Division, Women
France LNH Division 1
Coupe de France
Coupe de la Ligue
Trophee des Champions
Sweden Elitserien
Elitserien Women
Allsvenskan
Switzerland MNLA
Norway Eliteserien
Eliteserien Women
1. Division
1. Division, Women
Spain Liga Asobal
Super Cup
Copa del Rey
Copa Asobal
Division De Honor Female
Finland SM Liiga
Croatia Premijer Liga
1. HRL Women
Czech Republic Extraliga
Greese A1
Hungary NB I
Super Cup
Slovenia 1.liga
Poland Superliga
Superliga, Women
Russia Super League
Super League, Women
Slovakia Extraliga
Cup, Women
Cup
Israel Division 1
Serbia Superliga
Super Cup
Romania Liga Nationala
Liga Nationala, Women
Super Cupa
Super Cupa, Women
Portugal 1a Divisao
Supertaca
Iceland Urvalsdeild
Urvalsdeild, Women

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:

  • match_started
  • score_change
  • suspension
  • suspension_over
  • yellow_card
  • red_card
  • seven_m_awarded
  • seven_m_missed
  • period_score
  • break_start
  • shot_off_target
  • shot_saved
  • match_ended
  • penalty_shootout

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
Return to top

Docs Navigation