Table Tennis v2

Frequently Asked Questions
API API Version
Table Tennis v2
Note: Authentication is required for all API calls.
## Table Tennis v2 API Map To best utilize the Table Tennis 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 Season Id for the chosen sport event
  2. Make note of the Sport Event Id for the given sport event
  3. Call the Season Probabilties 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 match, team, and tournament feeds. ## Competition Info ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.us/tabletennis/trial/v2/en/competitions/sr:competition:564/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", "/tabletennis/trial/v2/en/competitions/sr:competition:564/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/tabletennis/trial/v2/en/competitions/sr:competition:564/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/tabletennis/`{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. | Return to API map ## Competitions List ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/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", "/tabletennis/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/tabletennis/trial/v2/en/competitions.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Competition List. http://api.sportradar.com/tabletennis/`{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. Return to API map ## Competitions Seasons ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/competitions/sr:competition:564/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", "/tabletennis/trial/v2/en/competitions/sr:competition:564/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/tabletennis/trial/v2/en/competitions/sr:competition:564/seasons.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Competition Seasons. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Competitor Profile ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/competitors/sr:competitor:277087/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", "/tabletennis/trial/v2/en/competitors/sr:competitor:277087/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/tabletennis/trial/v2/en/competitors/sr:competitor:277087/profile.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Competitor Profile. http://api.sportradar.com/tabletennis/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/schedule.`{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. | Return to API map ## Competitor Summaries ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/competitors/sr:competitor:277087/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", "/tabletennis/trial/v2/en/competitors/sr:competitor:277087/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/tabletennis/trial/v2/en/competitors/sr:competitor:277087/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Competitor Summaries. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Daily Summaries ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/schedules/2021-07-28/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", "/tabletennis/trial/v2/en/schedules/2021-07-28/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/tabletennis/trial/v2/en/schedules/2021-07-28/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Daily Summaries. http://api.sportradar.com/tabletennis/`{access_level}`/`{version}`/`{language_code}`/schedules/`{year}`-`{month}`-`{day}`/results.`{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. | ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("http://api.sportradar.com/tabletennis/trial/v2/en/schedules/2021-07-28/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", "/tabletennis/trial/v2/en/schedules/2021-07-28/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/tabletennis/trial/v2/en/schedules/2021-07-28/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 API map ## Head To Heads ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/competitors/sr:competitor:158544/versus/sr:competitor:344062/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", "/tabletennis/trial/v2/en/competitors/sr:competitor:158544/versus/sr:competitor:344062/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/tabletennis/trial/v2/en/competitors/sr:competitor:158544/versus/sr:competitor:344062/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Head To Heads. http://api.sportradar.com/tabletennis/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/versus/`{competitor_id2}`/matches.`{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. | Return to API map ## Live Summaries ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/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", "/tabletennis/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/tabletennis/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. http://api.sportradar.com/tabletennis/`{access_level}`/`{version}`/`{language_code}`/schedules/live/results.`{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. | Return to API map ## Live Timelines ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/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", "/tabletennis/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/tabletennis/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/tabletennis/`{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. | Return to API map ## Live Timelines Delta ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/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", "/tabletennis/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/tabletennis/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/tabletennis/`{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. | Return to API map ## Season Competitors ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/seasons/sr:season:84978/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", "/tabletennis/trial/v2/en/seasons/sr:season:84978/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/tabletennis/trial/v2/en/seasons/sr:season:84978/competitors.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Season Competitors. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Season Information ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/seasons/sr:season:40681/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", "/tabletennis/trial/v2/en/seasons/sr:season:40681/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/tabletennis/trial/v2/en/seasons/sr:season:40681/info.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Season Information. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Season Links ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/seasons/sr:season:84978/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", "/tabletennis/trial/v2/en/seasons/sr:season:84978/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/tabletennis/trial/v2/en/seasons/sr:season:84978/stages_groups_cup_rounds.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Season Links. http://api.sportradar.com/tabletennis/`{access_level}`/`{version}`/`{language_code}`/seasons/`{season_id}`/stages_groups_cup_rounds.`{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. | Return to API map ## Season Probabilities ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/seasons/sr:season:40681/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", "/tabletennis/trial/v2/en/seasons/sr:season:40681/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/tabletennis/trial/v2/en/seasons/sr:season:40681/probabilities.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Season Probabilities. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Season Standings ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/seasons/sr:season:84978/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", "/tabletennis/trial/v2/en/seasons/sr:season:84978/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/tabletennis/trial/v2/en/seasons/sr:season:84978/standings.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Season Standings. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Season Summaries ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/seasons/sr:season:84978/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", "/tabletennis/trial/v2/en/seasons/sr:season:84978/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/tabletennis/trial/v2/en/seasons/sr:season:84978/summaries.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Season Summaries. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Seasons ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/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", "/tabletennis/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.com/tabletennis/trial/v2/en/seasons.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Seasons list. http://api.sportradar.com/tabletennis/`{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. | | `&parents=true` | Optional query parameter to display only parent competitions. Return to API map ## Sport Event Summary ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/sport_events/sr:sport_event:28348650/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", "/tabletennis/trial/v2/en/sport_events/sr:sport_event:28348650/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/tabletennis/trial/v2/en/sport_events/sr:sport_event:28348650/summary.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Sport Event Summary. http://api.sportradar.com/tabletennis/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_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 | | `sport_event_id` | Id of a given sport event. | | `format` | xml or json. | | `your_api_key` | Your API key. | Return to API map ## Sport Event Timeline ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/trial/v2/en/sport_events/sr:sport_event:28348650/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", "/tabletennis/trial/v2/en/sport_events/sr:sport_event:28348650/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/tabletennis/trial/v2/en/sport_events/sr:sport_event:28348650/timeline.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the Sport Event Timeline. http://api.sportradar.com/tabletennis/`{access_level}`/`{version}`/`{language_code}`/sport_events/`{sport_event_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 | | `sport_event_id` | Id of a given sport event. | | `format` | xml or json. | | `your_api_key` | Your API key. | Return to API map ## Sport Events Removed ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/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", "/tabletennis/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/tabletennis/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the removed sport events. http://api.sportradar.com/tabletennis/`{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. | Return to API map ## Sport Events Updated ```ruby require 'uri' require 'net/http' require 'openssl' url = URI("https://api.sportradar.com/tabletennis/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", "/tabletennis/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/tabletennis/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}" ``` > The above command returns xml structured like this. This endpoint retrieves the updated sport events. http://api.sportradar.com/tabletennis/`{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. | ### Optional Query String Parameters >Example including optional query string parameters:
require 'uri'
require 'net/http'
require 'openssl'

url = URI("http://api.sportradar.us/tabletennis/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", "/tabletennis/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/tabletennis/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters: | Parameter | Description | | --------- | ----------- | | `start` | Number to start the list of results from.
Example: start=0 | | `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000.
Example: limit=75 | Return to API map ## Frequently Asked Questions

Q: What leagues or tournaments do you cover for Table Tennis?

A: We cover the following tournaments.

Area Tournament
International Olympic Games
Olympic Games Women
Olympic Tournament, Team
Olympic Tournament Women
China Open
Japan Open
European Championships
German Open
ITTF World Tour, G Finals
Qatar Open (SS)
Spanish Open (MS)
Korea Open (SS)
Czech Open (MS)
World Cup
World Cup, Women
Russian Open (MS)
Swedish Open (MS)
Kuwait Open (SS)
World Championships
Champions League
Austrian Open
Hungary Open (WT)
Ittf Europe TOP 16
Ittf Europe TOP 16, Women
Polish Open (MS)
Bulgaria Open (MS)
Champions League, Women
Ettu Cup
Ettu Cup, Women
World Junior Table Tennis Championships
World Junior Table Tennis Championships, Girls Doubles
World Junior Table Tennis Championships, Doubles
India Open (WT)
Australian Open (WTP), Singles
Australian Open (WTP), Women Singles
Australian Open (WTP), Doubles
Australian Open (WTP), Women Doubles
Bulgaria Open (WT) 2017, Singles
Bulgaria Open (WT) 2017, Women Singles
Bulgaria Open (WT) 2017, Women Doubles
Bulgaria Open (WT) 2017, Doubles
Czech Open (WT) 2017, Singles
Czech Open (WT) 2017, Women Singles
Czech Open (WT) 2017, Doubles
Czech Open (WT) 2017, Women Doubles
Austrian Open (MS)
Austrian Open (WS)
Austrian Open (MD)
Austrian Open (WD)
German Open (WTP) 2017
German Open (WTP) 2017, Women
German Open (WTP) 2017, Doubles
German Open (WTP) 2017, Women Doubles
Swedish Open (WT), Singles
Swedish Open (WT), Doubles
Swedish Open (WT), Women Singles
Swedish Open (WT), Women Doubles
World Junior Table Tennis Championships, Mixed Doubles
World Junior Table Tennis Championships, Girls
World Tour Grand Finals 2017
World Tour Grand Finals 2017, Women
World Tour Grand Finals 2017, Women Doubles
World Tour Grand Finals 2017, Doubles
Hungarian Open (WT) 2018
Hungarian Open (WT) 2018, Women
Hungarian Open (WT) 2018, Doubles
Hungarian Open (WT) 2018, Women Doubles
Qatar Open (WTP) 2018
Qatar Open (WTP) 2018, Doubles
Qatar Open (WTP) 2018, Women
Qatar Open (WTP) 2018, Women Doubles
German Open (WTP) 2018
German Open (WTP) 2018, Women
German Open (WTP) 2018, Women Doubles
German Open (WTP) 2018, Doubles
Hong Kong Open (WT) 2018
Hong Kong Open (WT) 2018, Women
Hong Kong Open (WT) 2018, Doubles
Hong Kong Open (WT) 2018, Women Doubles
Japan Open (WT) 2018
Japan Open (WT) 2018, Doubles
Japan Open (WT) 2018, Women
Japan Open (WT) 2018, Women Doubles
Japan Open (WT) 2018, Mixed Doubles
China Open (WTP) 2018, Doubles
China Open (WTP) 2018, Women Doubles
China Open (WTP) 2018, Mixed Doubles
China Open (WTP) 2018, Women
China Open (WTP) 2018
Korea Open (WTP)
Korea Open (WTP), Doubles
Korea Open (WTP), Women
Korea Open (WTP), Women Doubles
Korea Open (WTP), Mixed Doubles
Australian Open (WTP) 2018
Australian Open (WTP) 2018, Women
Australian Open (WTP) 2018, Doubles
Australian Open (WTP) 2018, Women Doubles
Australian Open (WTP) 2018, Mixed Doubles
Bulgaria Open (WT) 2018, Doubles
Bulgaria Open (WT) 2018, Singles
Bulgaria Open (WT) 2018, Women Doubles
Bulgaria Open (WT) 2018, Women Singles
Czech Open (WT) 2018, Women Singles
Czech Open (WT) 2018, Singles
Czech Open (WT) 2018, Doubles
Czech Open (WT) 2018, Women Doubles
European Championship 2018, (MS)
European Championship 2018, (WS)
European Championship 2018, (MD)
European Championship 2018, (WD)
European Championship 2018, (XD)
Swedish Open 2018, (MS)
Swedish Open 2018, (WS)
Swedish Open 2018, (MD)
Swedish Open 2018, (WD)
Germany Bundesliga
France Pro A

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/tabletennis/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
  • live – The match is currently in progress
  • postponed – The match has been postponed to a future date
  • suspended – The match has been suspended
  • match_about_to_start – The match is about to begin
  • 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 sport_event_status – match_status values?

A: Here are the valid match_status values:

  • match_about_to_start
  • not_started
  • walkover
  • ended
  • postponed
  • cancelled
  • 1st_set
  • 2nd_set
  • 3rd_set
  • 4th_set
  • 5th_set
  • 6th_set
  • 7th_set
  • pause
  • suspended
  • retired
  • abandoned
  • start_delayed

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

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

Q: What are the possible event types logged?

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

  • Match started
  • Score change
  • Match ended

Q: What are the valid tournament types?

A: Here are the valid tournament types:

  • group
  • playoff

Q: What are the valid outcomes for probabilities?

A: Here are the valid outcome probabilities:

  • home_team_winner
  • away_team_winner

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: What are the possible outcomes?

A: Different markets have different outcomes. The available markets are currently:

  • home_team_winner
  • away_team_winner
  • 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: 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.

Return to top

Docs Navigation