Note: Authentication is required for all API calls.
## Competition Info
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/competitions/sr:competition:20508/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", "/snooker/trial/v2/en/competitions/sr:competition:20508/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/snooker/trial/v2/en/competitions/sr:competition:20508/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/snooker/`{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. |
## Competition Seasons
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/competitions/sr:competition:430/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", "/snooker/trial/v2/en/competitions/sr:competition:430/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/snooker/trial/v2/en/competitions/sr:competition:430/seasons.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves the Competition Seasons.
https://api.sportradar.com/snooker/`{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. |
## Competitions
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/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", "/snooker/trial/v2/en/competitions.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/competitions.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
To access the Competitions feed use the following URL:
https://api.sportradar.com/snooker/`{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. |
## Competitor Profile
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/competitors/sr:competitor:22456/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", "/snooker/trial/v2/en/competitors/sr:competitor:22456/profile.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/competitors/sr:competitor:22456/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/snooker/`{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. |
## Competitor Summaries
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/competitors/sr:competitor:22456/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", "/snooker/trial/v2/en/competitors/sr:competitor:22456/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/competitors/sr:competitor:22456/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Competitor Summaries.
https://api.sportradar.com/snooker/`{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 for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
## Competitor vs Competitor
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/competitors/sr:competitor:22456/versus/sr:competitor:22458/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", "/snooker/trial/v2/en/competitors/sr:competitor:22456/versus/sr:competitor:22458/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/competitors/sr:competitor:22456/versus/sr:competitor:22458/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves the Competitor vs Competitor Summaries.
https://api.sportradar.com/snooker/`{access_level}`/`{version}`/`{language_code}`/competitors/`{competitor_id}`/versus/`{competitor2_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 for a given competitor. |
| `competitor2_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
## Daily Summaries
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/schedules/2019-03-21/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", "/snooker/trial/v2/en/schedules/2019-03-21/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/schedules/2019-03-21/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Daily Summaries.
https://api.sportradar.com/snooker/`{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. |
## Live Summaries
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/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", "/snooker/trial/v2/en/schedules/live/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/schedules/live/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Live Summaries.
https://api.sportradar.com/snooker/`{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 for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
## Live Timelines
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/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", "/snooker/trial/v2/en/schedules/live/timelines.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/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.
https://api.sportradar.com/snooker/`{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. |
## Live Timelines Delta
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/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", "/snooker/trial/v2/en/schedules/live/timelines_delta.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/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.
https://api.sportradar.com/snooker/`{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. |
## Rankings
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/rankings.xml?api_key={your_api_key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
```
```python
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/snooker/trial/v2/en/rankings.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/rankings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves the Rankings.
https://api.sportradar.us/snooker/`{access_level}`/`{version}`/`{language_code}`/rankings.`{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 Info
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/seasons/sr:season:62111/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", "/snooker/trial/v2/en/seasons/sr:season:62111/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/snooker/trial/v2/en/seasons/sr:season:62111/info.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Seasons Information.
https://api.sportradar.com/snooker/`{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. |
## Season Probabilities
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/seasons/sr:season:63663/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", "/snooker/trial/v2/en/seasons/sr:season:63663/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/snooker/trial/v2/en/seasons/sr:season:63663/probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Season Probabilities.
https://api.sportradar.com/snooker/`{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. |
## Season Standings
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/seasons/sr:season:62111/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", "/snooker/trial/v2/en/seasons/sr:season:62111/standings.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/seasons/sr:season:62111/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/snooker/`{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. |
## Season Summaries
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/seasons/sr:season:62111/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", "/snooker/trial/v2/en/seasons/sr:season:62111/summaries.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/seasons/sr:season:62111/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Season Summaries.
https://api.sportradar.com/snooker/`{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. |
## Seasons Disabled
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/snooker/trial/v2/en/seasons_disabled.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", "/snooker/trial/v2/en/seasons_disabled.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/snooker/trial/v2/en/seasons_disabled.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves the Seasons Disabled.
https://api.sportradar.com/snooker/`{access_level}`/`{version}`/`{language_code}`/seasons_disabled.`{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 the Seasons Disabled use the following URL.
http://api.sportradar.com/snooker/trial/v2/schemas/seasons_disabled.xsd?api_key=`{your_api_key}`
## Sport Event Summary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/sport_events/sr:sport_event:16519273/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", "/snooker/trial/v2/en/sport_events/sr:sport_event:16519273/summary.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/sport_events/sr:sport_event:16519273/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/snooker/`{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 match. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
## Sport Event Timeline
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/trial/v2/en/sport_events/sr:sport_event:16519273/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", "/snooker/trial/v2/en/sport_events/sr:sport_event:16519273/timeline.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/sport_events/sr:sport_event:16519273/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/snooker/`{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. |
## Sport Events Removed
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/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", "/snooker/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Sport Events Removed from the API.
https://api.sportradar.com/snooker/`{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. |
## Sport Events Updated
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/snooker/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", "/snooker/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/snooker/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
This endpoint retrieves Sport Events Updated in the API.
https://api.sportradar.com/snooker/`{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. |
## 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). The push service ensures reliable and efficient delivery of the most up to date information.
Our Push services are based on a HTTP publish/subscribe model. When making a call to the Push APIs, you "subscribe" to various data feeds provided by our service; whenever new content is available on one of those feeds, the server pushes that information out to your client. When no new information is available on the feed, a heartbeat message is sent every 5 seconds to keep the connection active. If you want to filter the results of the feeds, there are several optional query string parameters that can be applied to the API call. If left unfiltered, than all data for the feed is displayed (i.e. all 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/snooker/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", "/snooker/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/snooker/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/snooker/`{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/snooker/trial/v2/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:16519273")
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", "/snooker/trial/v2/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:16519273")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -L GET 'https://api.sportradar.com/snooker/trial/v2/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:16519273'
```
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=snooker |
| `competition_id` | Competition type expressed as: {competition_id}. Example: competition_id=sr:competition:20508 |
| `event_id` | Event id expressed as: {event_id}. Example: event_id=535536474 |
| `format` | Format type expressed as: {format}. Example: format=json |
| `season_id` | Season id expressed as: {season_id}. Example: season_id=sr:season:63867 |
| `sport_event_id` | Sport event id expressed as: {sport_event_id}. Example: sport_event_id=sr:sport_event:17738118 |
| `sport_id` | Sport id expressed as: {sport_id}. Example: sport_id=sr:sport:19 |
## Push - Statistics
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("http://api.sportradar.com/snooker/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", "/snooker/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/snooker/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/snooker/`{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/snooker/trial/v2/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:16519273")
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", "/snooker/trial/v2/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:16519273")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -L GET 'https://api.sportradar.com/snooker/trial/v2/stream/statistics/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:match:16519273'
```
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=snooker |
| `competition_id` | Competition type expressed as: {competition_id}. Example: competition_id=sr:competition:20508 |
| `event_id` | Event id expressed as: {event_id}. Example: event_id=535536474 |
| `format` | Format type expressed as: {format}. Example: format=json |
| `season_id` | Season id expressed as: {season_id}. Example: season_id=sr:season:63867 |
| `sport_event_id` | Sport event id expressed as: {sport_event_id}. Example: sport_event_id=sr:sport_event:17738118 |
| `sport_id` | Sport id expressed as: {sport_id}. Example: sport_id=sr:sport:19 |
## Frequently Asked Questions
Q: What leagues or competitions do you cover for Snooker v2?
A: A list of the competitions covered in this API can be found below. Note that this list is subject to change at any time. For the most accurate list of competitions, please see the Competitions endpoint in the API.
Asian Tour
Australian Open
Champion of Champions
Championship League
China Championship
China Open
English Open
European Masters
European Tour
German Masters
Gibraltar Open
Home Nations Series
Hong Kong Masters
Indian Open
International Championship
Northern Ireland Open
Paul Hunter Classic
Players Tour Championship
Premier League
Riga Masters
Romanian Masters
Scottish Open
Shanghai Masters
Shoot-Out
The Masters
Tour Championship
UK Championship
Welsh Open
World Championship
World Cup
World Grand Prix
World Open
World Seniors Champs
Wuxi Classic
Q: What format are date fields presented in?
A: When we present date only values we present these in the ISO 8601 standard format.
ex: 2013-04-03
We use these for attributes that have date and no time (such as birthdate). For more information: https://en.wikipedia.org/wiki/ISO_8601
Q: What format are the date/time fields presented in?
A: All of our Date/Time attributes are in UTC, presented in the ISO 8601 standard format.
ex: 2013-04-03T18:15:00+00:00
For more information: https://en.wikipedia.org/wiki/ISO_8601
Q: What 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
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
start_delayed - The match start 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
abandoned – The match has been abandoned
Q: How do I access past seasons results and stats?
A: Use the Competition Seasons endpoint to locate the season_id for the season you want to access. Use that season_id to interrogate the various seasons endpoints.
Q: What are the valid outcomes for probabilities?
A: Here are the valid outcome probabilities:
home_team_winner
away_team_winner
Q: How do I find out the coverage for a particular match?
A: Find the node called "coverage" in any of the Summary, Lineups, or Timeline feeds. The attribute "coverage - live" reports if Sportradar has live coverage of the match or not.
Q: Why do different groups have coverage information for a competition?
A: The notion of “groups” is versatile and is used to distinguish between playoffs, and our competition structures and is therefore necessary to describe coverage at a group level for consistency. Generally, however, within a competition in Field Hockey, there will be no difference between competition coverage between conferences.
Q: What are the point event possible values?
A: Here are the possible values for an event:
match_info
break_off
match_started
period_start
ball_pot
free_ball
re_rack
foul
score_change
change_of_posession
match_end
Q: What are the possible period name values in the timeline feeds?
A: Here are the possible period name values:
in_progress
snooker_session_break
interrupted
Q: What are the possible period score types in the timeline feeds?
A: Here are the possible period score types:
regular_period
Q: What are markets and what are the different markets?
A: Markets is something you can bet on that we provide probabilities for. Over time we intend to provide more and more markets in the API. Currently the only market we provide is 2-way (will the home team win? Or the away team?).
Q: What are the valid “sport_event_status – match_status” values?
A: Here are the valid match_status values:
not_started
started
cancelled
walkover
retired
ended
Q: Why is the displayed season end date a day late?
A: This is a measure to ensure that all matches in a season are contained within the season date range.
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: When will a season move from Seasons Disabled endpoint to the Competition Seasons endpoint?
A: A season will become active once the draw has been made and there is confirmation of the competitors and the 1st round schedule.
Q: What competitions are available in Seasons Disabled endpoint?