Displays event information, scoring, and an event timeline.
Syntax
https://api.sportradar.com/snooker/{access_level}/stream/events/subscribe?api_key={your_api_key} |
Parameters
Parameter | Description |
---|---|
access_level | Defines the access level of your API keyproduction , trial |
your_api_key | Your API key |
Optional Query String Parameters
By default, a Push feed will provide all data available for all in progress games. If needed, you can filter the data returned by including query strings.
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.
URL Parameters | Description |
---|---|
channel | Channel type Example: channel=snooker |
competition_id | Competition id Example: competition_id=sr:competition:20508 |
event_id | Event id Example: event_id=535536474 |
format | Format typejson , xml |
season_id | Season id Example: season_id=sr:season:63867 |
sport_event_id | Sport event id Example: sport_event_id=sr:sport_event:17738118 |
sport_id | Sport id Example: sport_id=sr:sport:19 |
Code Samples
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://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
import requests
import json
r = requests.get("https://api.sportradar.com/snooker/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))
curl -L "GET api.sportradar.com/snooker/trial/stream/events/subscribe?api_key={your_api_key}"
Samples with Query String Params
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://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
import requests
import json
r = requests.get("https://api.sportradar.com/snooker/trial/v2/stream/events/subscribe",
params = {'api_key': 'your_api_key', 'format': 'json', 'sport_event_id': 'sr:match:16519273'},
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))
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'
Response Sample
The above commands return json like this.
Data Points
Metadata:
Attribute | Parent Element | Type | Description |
---|---|---|---|
channel | metadata | String | Sport of the stream connection ex. snooker |
competition_id | metadata | String | Unique Id of a competition ex. sr:competition:2055 |
event_id | metadata | String | Type of timeline event ex. match_started , score_change , frame_started , change_of_possession , ball_pot See our FAQ for a complete list of timeline event values |
format | metadata | String | Format type of the responsejson , xml |
season_id | metadata | String | Unique Id of a season ex. sr:season:104989 |
sport_event_id | metadata | String | Unique Id of a sport event ex. sr:sport_event_id:49877723 |
sport_id | metadata | String | Unique Id of a sport ex. sr:sport:12 |
from | heartbeat | Integer | Unix timestamp of the beginning of a heartbeat message ex. 1713804799 |
to | heartbeat | Integer | Unix timestamp of the end of a heartbeat message ex. 1713804804 |
interval | heartbeat | Integer | Interval of a heartbeat message in seconds |
type | heartbeat | String | Type of heartbeat message ex. events , statistics |
package | heartbeat | String | Package of a heartbeat message ex. snooker-v2 |
Sport Event Status:
Attribute | Parent Element | Type | Description |
---|---|---|---|
away_score | sport_event_status | Integer | Total score for the away competitor in a match |
home_score | sport_event_status | Integer | Total score for the home competitor in a match |
match_status | sport_event_status | String | Status within a match (sport event). Provides more detail on the state of a match when live than status ex. not_started , interrupted , in_progress , ended See our FAQ for a complete list of statuses and their definitions. |
scount_abandoned | sport_event_status | Boolean | Signifies a match was abandoned by a scout when true |
status | sport_event_status | String | Status of a sport event ex. not_started , live , ended , closed See our FAQ for a complete list of statuses and their definitions. |
winner_id | sport_event_status | String | Unique ID of the match winner ex. sr:competitor:120814 |
Period Scores:
Attribute | Parent Element | Type | Description |
---|---|---|---|
away_score | sport_event_status - period_scores | Integer | Away competitor period score |
home_score | sport_event_status - period_scores | Integer | Home competitor period score |
number | sport_event_status - period_scores | Integer | Period number |
type | sport_event_status - period_scores | String | Period type ex. regular_period , snooker_session_break |
Match Timeline:
Attribute | Parent Element | Type | Description |
---|---|---|---|
away_score | event | Integer | Away competitor point score |
best_of_frames | event | Integer | Provides the number of frames played for the match ex. best_of="35" |
break | event | String | Display score for a competitor after a shot ex. 1:0 , 6:0 |
competitor | event | String | Designation of a competitor for a timeline eventhome , away |
frame_number | event | Integer | Frame number for a timeline event |
frame_score | event | String | Total frame display score after a shot ex. 22:0 , 90:11 |
home_score | event | Integer | Home competitor point score |
id | event | Integer | Unique ID for a timeline event ex. 1692895333 |
lowest_value_color_available | event | Integer | Lowest value ball color available after a shot ex. 2 , 7 |
number_of_red_balls | event | Integer | Number of red balls for a match ex. 15 |
period_name | event | String | Period name of a timeline event, appearing at the beginning of a period ex. snooker_session_break |
points | event | Integer | Number of points recorded on a break |
red_balls_left | event | Integer | Number of red balls left on the table after a shot ex. 10 |
time | event | Date-time | Timestamp of a timeline event ex. 2024-04-16T20:49:49+00:00 |
type | event | String | Type of timeline event ex. match_info , break_off , match_started , match_ended , period_start , change_of_possession , ball_pot , score_change , foul , free_ball , re_rack , frame_started , frame_ended |