Note: Authentication is required for all API calls.
## Indoor Volleyball API Overview
The Indoor Volleyball API provides real-time scoring (when available) and an array of supplementary data.
Major men’s and women’s competitions are covered. Select the Volleyball package in our Coverage Matrix for competitions and data offered.
The API is consistent in structure, format, and behavior with the other General Sport APIs. Primary feeds will return seasons, competitions, team and player data, and real-time scores.
Additional feeds provide a host of complementary stats, including:
Standings
Competitor profiles
Historical results
Win probabilities
Real-time customers are also offered a delivery Push Feed to enhance speed.
## Indoor Volleyball v2 API Map
To best utilize the Indoor Volleyball API, you will need several parameters to create your API calls. The map below illustrates how you can obtain the parameters you need.
>
Example:
>To find the probability of a home team win for a given game:
>
Call the Daily Schedule for the day the sport event takes place and find the Season Id for the chosen sport event
Make note of the Sport Event Id for the given sport event
Call the Season Probabilties using the Season Id
Find Sport Event Id within the results locate the home team and the outcome probability
>The probability of a home team win is displayed.
The primary feeds require only a date or human-readable parameters to call the endpoints. Those feeds provide Sport Event Ids, Competitor Ids, or Season Ids which can be used to generate the match, team, and tournament feeds.
## Competition Info
Provides the name, id, and gender for a given competition.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Category & Sport Info:
Category Country Code
Category Id
Category Name
Competition Info Data Points:
Id
Name
Parent Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/competitions/sr:competition:496/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", "/volleyball/trial/v2/en/competitions/sr:competition:496/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/volleyball/trial/v2/en/competitions/sr:competition:496/info.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `competition_id` | Id of a given competition. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Competition Seasons
Provides historical season information for a given competition. Competitions will return a maximum of three seasons of data, including current or newly created seasons.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/competitions/sr:competition:33/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", "/volleyball/trial/v2/en/competitions/sr:competition:33/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/volleyball/trial/v2/en/competitions/sr:competition:33/seasons.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `competition_id` | Id of a given competition. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Competitions
Provides a list of all available competitions.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/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", "/volleyball/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/volleyball/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/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
| `&parents=true` | Optional query parameter to display only parent competitions. |
Return to API map
## Competitor Merge Mappings
Provides the valid Sportradar Id in cases when two competitors have been merged into one. Mapping entries will remain in the feed for 7 days.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
Content Type:
XML or JSON
Mappings Info Data Points:
Name
Merged Id
Retained Id
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/volleyball/trial/v2/en/competitors/merge_mappings.xml?api_key={your_api_key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
```
```python
import http.client
conn = http.client.HTTPSConnection("api.sportradar.com")
conn.request("GET", "/volleyball/trial/v2/en/competitors/merge_mappings.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.com/volleyball/trial/v2/en/competitors/merge_mappings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
Access the Competitor Merge Mappings feed by replacing the parameters in the following URL:
https://api.sportradar.com/volleyball/`{access_level}`/`{version}`/`{language_code}`/competitors/merge_mappings.`{format}`?api_key=`{your_api_key}`
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `version` | Version number of the API you are accessing (Current Version: v2). |
| `language_code` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to top
## Competitor Profile
Provides top-level information for a given team.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/competitors/sr:competitor:6813/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", "/volleyball/trial/v2/en/competitors/sr:competitor:6813/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/volleyball/trial/v2/en/competitors/sr:competitor:6813/profile.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `competitor_id` | Id of a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Competitor Summaries
Provides previous and upcoming match information for a given competitor, including results for past matches and scheduling info for upcoming matches.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/competitors/sr:competitor:6813/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", "/volleyball/trial/v2/en/competitors/sr:competitor:6813/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/volleyball/trial/v2/en/competitors/sr:competitor:6813/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `competitor_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Competitor vs Competitor
Provides previous and upcoming games between two competitors, including scoring information.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/competitors/sr:competitor:6813/versus/sr:competitor:6827/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", "/volleyball/trial/v2/en/competitors/sr:competitor:6813/versus/sr:competitor:6827/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/volleyball/trial/v2/en/competitors/sr:competitor:6813/versus/sr:competitor:6827/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `competitor_id` | ID for a given competitor. |
| `competitor2_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Daily Summaries
Provides match information for a given day, including scoring and results.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/schedules/2019-02-26/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", "/volleyball/trial/v2/en/schedules/2019-02-26/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/volleyball/trial/v2/en/schedules/2019-02-26/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `year` | Year in 4 digit format (YYYY). |
| `month` | Month in 2 digit format (MM). |
| `day` | Day in 2 digit format (DD). |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.com")
conn.request("GET", "/volleyball/trial/v2/en/schedules/2019-02-26/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/volleyball/trial/v2/en/schedules/2019-02-26/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
## Live Summaries
Provides information for all currently live matches, including scoring.
TTL / Cache:
1 second
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/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", "/volleyball/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/volleyball/trial/v2/en/schedules/live/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `competitor_id` | ID for a given competitor. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Live Timelines
Provides a play-by-play event timeline for currently live matches.
TTL / Cache:
1 second
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/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", "/volleyball/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/volleyball/trial/v2/en/schedules/live/timelines.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Live Timelines Delta
Provides a 10 second live delta of game information, including scoring and a play-by-play event timeline.
TTL / Cache:
1 second
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/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", "/volleyball/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/volleyball/trial/v2/en/schedules/live/timelines_delta.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Season Competitors
Provides a list of competitors participating in a given season.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/seasons/sr:season:55465/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", "/volleyball/trial/v2/en/seasons/sr:season:55465/competitors.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/volleyball/trial/v2/en/seasons/sr:season:55465/competitors.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Season Info
Provides detailed information for a given season, including participating competitors and league structure.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/seasons/sr:season:55465/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", "/volleyball/trial/v2/en/seasons/sr:season:55465/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/volleyball/trial/v2/en/seasons/sr:season:55465/info.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Season Links
Provides information about linked cup rounds for a given season.
Use this feed to compile full advancement brackets for relevant seasons/tournaments. Links between all matches and rounds are available when competitors (TBD vs. TBD) are not yet known.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/seasons/sr:season:55465/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", "/volleyball/trial/v2/en/seasons/sr:season:55465/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.us/volleyball/trial/v2/en/seasons/sr:season:55465/stages_groups_cup_rounds.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Season Probabilities
Provides 2-way match win probabilities (home team win, away team win) for all matches in a given season.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/seasons/sr:season:55465/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", "/volleyball/trial/v2/en/seasons/sr:season:55465/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/volleyball/trial/v2/en/seasons/sr:season:55465/probabilities.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `season_id` | Id of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.com")
conn.request("GET", "/volleyball/trial/v2/en/seasons/sr:season:55465/probabilities.xml?api_key={your_api_key}&start=200")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.com/volleyball/trial/v2/en/seasons/sr:season:55465/probabilities.xml?api_key={your_api_key}&start=200'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 200. Example: limit=200 |
Return to top
## Season Standings
Provides detailed standings info for a given season.
TTL / Cache:
10 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/seasons/sr:season:55465/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", "/volleyball/trial/v2/en/seasons/sr:season:55465/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/volleyball/trial/v2/en/seasons/sr:season:55465/standings.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Season Summaries
Provides schedule information for all matches from a given season including scoring at the match level.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/seasons/sr:season:55465/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", "/volleyball/trial/v2/en/seasons/sr:season:55465/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/volleyball/trial/v2/en/seasons/sr:season:55465/summaries.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `season_id` | ID of a given season. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Seasons
Provides a list of historical season information for all competitions. Competitions will return a maximum of three seasons of data, including current or newly created seasons.
TTL / Cache:
300 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/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", "/volleyball/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/volleyball/trial/v2/en/seasons.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
To access the Seasons feed use the following URL:
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
| `&parents=true` | Optional query parameter to display only parent competitions. |
Return to API map
## Sport Event Summary
Provides real-time match-level scoring for a given match.
TTL / Cache:
1 second
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/sport_events/sr:match:15810682/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", "/volleyball/trial/v2/en/sport_events/sr:match:15810682/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/volleyball/trial/v2/en/sport_events/sr:match:15810682/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/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `match_id` | ID of a given match. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Sport Event Timeline
Provides a real-time event timeline of scoring for a given match. Please note that data returned is determined by coverage level.
TTL / Cache:
1 second
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/sport_events/sr:match:15810682/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", "/volleyball/trial/v2/en/sport_events/sr:match:15810682/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/volleyball/trial/v2/en/sport_events/sr:match:15810682/timeline.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `sport_event_id` | ID of a given sport event. |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
Return to API map
## Sport Events Created
Provides ids for sport events that have been created in the last 24 hours.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
```
```python
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/volleyball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
```
```shell
curl -X GET "https://api.sportradar.us/volleyball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{access_level}`/`{version}`/`{language_code}`/sport_events/created.`{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` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/volleyball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/volleyball/trial/v2/en/sport_events/created.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 1000.
Note: Optional query string parameters must be added after your API key with an ampersand (&).
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `start` | Number to start the list of results from. Example: start=0 |
| `limit` | Number to limit the number of results. Minimum value is 1, maximum value is 1000. Example: limit=75 |
Return to API map
## Sport Events Removed
Provides ids for sport events that have been removed from the API due to an entry error. Ids will remain in the response for 2 weeks.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/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", "/volleyball/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/volleyball/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/volleyball/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}&start=0&limit=75")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
curl -L GET 'api.sportradar.us/volleyball/trial/v2/en/sport_events/removed.xml?api_key={your_api_key}&start=0&limit=75'
In addition to the URL parameters listed above, you can paginate the response with one or more of the following optional query string parameters. By default the limit is set to 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
## Sport Events Updated
Provides ids for sport events that have been updated in the last 24 hours.
TTL / Cache:
60 seconds
Update Frequency:
As Necessary
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.us/volleyball/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", "/volleyball/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/volleyball/trial/v2/en/sport_events/updated.xml?api_key={your_api_key}"
```
> The above command returns xml structured like this.
https://api.sportradar.com/volleyball/`{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` | 2 letter code for supported languages: en (English) |
| `format` | xml or json. |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
import http.client
conn = http.client.HTTPSConnection("api.sportradar.us")
conn.request("GET", "/volleyball/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/volleyball/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 |
## Push Feeds
>To best utilize Push feeds, we have included code samples in Ruby, Java and Python which provide an example of a way you can consume the feeds. Using these samples will output the feeds content to STDOUT. For Java, we have also provided a Stream Client to assist your integration.
Note: In the provided Java sample, replace "URL GOES HERE" with the desired Push feed URL.
```ruby
require 'httpclient'
module Sportradar
module HTTP
module Stream
class Client
attr_reader :url, :logger
def initialize(url, publisher, logger)
@url = url
@logger = logger
@publisher = publisher
@client = ::HTTPClient.new(:agent_name => 'SportsData/1.0')
end
def start
@thread ||= Thread.new do
logger.debug "Starting loop"
@client.get_content(url, :follow_redirect => true) do |chunk|
@publisher.publish(::JSON.parse(chunk)) if @publisher
end
logger.debug "finished loop"
end
end
def stop
@thread.terminate if @thread
end
end
end
end
end
```
```java
package com.sportradar.http.stream.client;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class StreamClientTest {
private StreamClient client;
private static String SERVICE_URL = "";
@Before
public void setup() {
client = new StreamClient();
}
@After
public void cleanup() {
client.terminate();
}
@Test
public void testStream() throws Exception {
Handler handler = new ConsoleHandler();
client.stream(SERVICE_URL, handler);
System.out.println("Connecting....");
Thread.sleep(1 * 60 * 1000);
System.out.println("Disconnecting....");
}
}
```
Some of our APIs include Push feeds that allow you to get updates as soon as they are available. Push API feeds automatically send JSON and XML payloads to you via a push service, and can dramatically reduce the number of calls you need to make to our RESTful API feeds. The structure of the Push feeds are similar to the structure of the corresponding RESTful API feed (i.e. Push Events and Push Statistics). The push service ensures reliable and efficient delivery of the most up to date information.
Our Push services are based on a HTTP publish/subscribe model. When making a call to the Push APIs, you "subscribe" to various data feeds provided by our service; whenever new content is available on one of those feeds, the server pushes that information out to your client. When no new information is available on the feed, a heartbeat message is sent every 5 seconds to keep the connection active. If you want to filter the results of the feeds, there are several optional query string parameters that can be applied to the API call. If left unfiltered, 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
Displays event information, scoring, and an event timeline.
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/volleyball/trial/stream/events/subscribe?api_key={your_api_key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
```
```python
import requests
import json
r = requests.get("https://api.sportradar.com/volleyball/trial/stream/events/subscribe",
params = {'api_key': 'your_api_key'},
allow_redirects=False)
redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)
for line in r.iter_lines():
# filter out keep-alive new lines
if line:
decoded_line = line.decode('utf-8')
print(json.loads(decoded_line))
```
```shell
curl -L GET 'api.sportradar.com/volleyball/trial/stream/events/subscribe?api_key={your_api_key}'
```
> The above command returns json structured like this.
https://api.sportradar.us/volleyball/`{access_level}`/stream/events/subscribe?api_key=`{your_api_key}`
Replace placeholders with the following query parameters:
| Parameter | Description |
| --------- | ----------- |
| `access_level` | Defines the access level of your API key as Production (production) or Trial (trial). |
| `your_api_key` | Your API key. |
### Optional Query String Parameters
>Example including optional query string parameters:
```ruby
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/volleyball/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:18243959")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
```
```python
import requests
import json
r = requests.get("https://api.sportradar.com/volleyball/trial/stream/events/subscribe",
params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sr:sport_event_id:18243959'},
allow_redirects=False)
redirect_url = r.headers['Location']
r = requests.get(redirect_url, stream=True)
for line in r.iter_lines():
# filter out keep-alive new lines
if line:
decoded_line = line.decode('utf-8')
print(json.loads(decoded_line))
```
```shell
curl -L GET 'https://api.sportradar.com/volleyball/trial/stream/events/subscribe?api_key={your_api_key}&format=json&sport_event_id=sr:sport_event_id:18243959'
```
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=volleyball |
| `competition_id` | Competition Id expressed as: {competition_id}. Example: competition_id=sr:competition:27230 |
| `event_id` | Event type expressed as: {event_type}. Example: event_id=dart |
| `format` | Format type expressed as: {format}. Example: format=json |
| `season_id` | Season id expressed as: {season_id}. Example: season_id=sr:season:59654 |
| `sport_event_id` | Sport event id expressed as: {sport_event_id}. Example: sport_event_id=sr:sport_event_id:18243959 |
| `sport_id` | Sport id expressed as: {sport_id}. Example: sport_id=sr:sport:22 |
Return to top
## Frequently Asked Questions
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
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
after_golden_set – The match ended after golden set
closed – The match results have been confirmed
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 Volleyball, 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_started
period_start
break_start
period_score
score_change
match_ended
Q: How will a sport event behave when it is not covered with live scores?
A: When a sport_event is not covered live, the status and match_status will remain as not_started until results are entered post-match.
Q: 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: How do I locate the TTL (Time to Live)/cache on an API endpoint?
A: The cache (in seconds) can be accessed in the returned header information on each RESTful API call, under cache-control.
ex. cache-control: max-age=1, public, s-maxage=1 or cache-control: public, must-revalidate, max-age=120
Q: What are the possible values for cup_round – state in the Season Links feed?
A: Listed below are the values and definitions for cup_round - state. These can be leveraged to determine the status of a cup round.
empty - A matchup has been created but neither the match details nor the competitors are known.
unseeded_fixture - Match details are known but competitors are unknown.
partial_seeded - One competitor is known.
partial_seeded_fixture - Match details and one competitor are known.
seeded - Both competitors are known.
seeded_fixture - Match details and both competitors are known.