Returns detailed game stats at the doubles team or player level
Syntax
https://api.sportradar.com/tennis/{access_level}/{version}/stream/statistics/subscribe?api_key={your_api_key} |
Parameters
Parameter | Description |
---|---|
access_level | Defines the access level of your API keyproduction , trial |
version | Version number of the APIv3 |
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.
Parameter | Description |
---|---|
event_id | Event id Example: event_id=point |
format | Format returnedjson , xml Example: format=json |
sport_event_id | Sport Event id Example: sport_event_id=sr:sport_event:27496678 |
season_id | Season id Example: season_id=sr:season:81932 |
competition_id | Competition id Example: competition_id=sr:competition:16126 |
Code Samples
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/tennis/trial/v3/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
import requests
import json
r = requests.get("https://api.sportradar.com/tennis/trial/v3/stream/statistics/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/tennis/trial/v3/stream/statistics/subscribe?api_key={your_api_key}'
Samples with Query String Params
require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://api.sportradar.com/tennis/trial/v3/stream/statistics/subscribe?api_key={your_api_key}&format=json&competition_id=sr:competition:16126")
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/tennis/trial/v3/stream/statistics/subscribe",
params = {'api_key': 'your_api_key', 'format': 'json', 'competition_id': 'sr:competition:16126'},
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/tennis/trial/v3/stream/statistics/subscribe?api_key={your_api_key}&format=json&competition_id=sr:competition:16126'
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. tennis |
competition_id | metadata | String | Unique Id of a competition ex. sr:competition:34630 |
event_id | metadata | String | Description of a push timeline event ex. point or period_score |
format | metadata | String | Format type of the responsejson , xml |
season_id | metadata | String | Unique Id of a season ex. sr:season:121215 |
sport_event_id | metadata | String | Unique Id of a sport event ex. sr:sport_event_id:51950313 |
sport_id | metadata | String | Unique Id of a sport ex. sr:sport:5 |
from | heartbeat | Integer | Unix timestamp of the beginning of a heartbeat message ex. 1722267631 |
to | heartbeat | Integer | Unix timestamp of the end of a heartbeat message ex. 1722267636 |
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. tennis-v3 |
Competitor:
Competitors can be a player, a doubles team, or a national team
Attribute | Parent Element | Type | Description |
---|---|---|---|
abbreviation | statistics - competitors | String | Abbreviation for a competitor name ex. PAU (Tommy Paul) or G/M ('Glasspool L / Middelkoop M' doubles team) |
id | statistics - competitors | String | Unique ID for a competitor ex. sr:competitor:138546 |
name | statistics - competitors | String | Name for a competitor ex. Paul, Tommy or Glasspool L / Middelkoop M (doubles team) |
qualifier | statistics - competitors | String | Designation of a competitor for a matchhome , away |
Game State:
Attribute | Parent Element | Type | Description |
---|---|---|---|
advantage | sport_event_status - game_state | String | Signifies the competitor with the advantage in the gamehome , away |
away_score | sport_event_status - game_state | Integer | Score for the away competitor in a game ex. 0 , 15 , 30 , 40 |
home_score | sport_event_status - game_state | Integer | Score for the home competitor in a game ex. 0 , 15 , 30 , 40 |
last_point_result | sport_event_status - game_state | String | Result of the last point in a gameserver_winner , receiver_winner , ace , double_fault |
point_type | sport_event_status - game_state | String | Type of point scoredgame , break , set , match |
serving | sport_event_status - game_state | String | Signifies the competitor currently servinghome , away |
tie_break | sport_event_status - game_state | Boolean | Signifies a match is in a tie break when true |
Sport Event Status:
Attribute | Parent Element | Type | Description |
---|---|---|---|
away_score | sport_event_status | Integer | Total score for the away competitor in a match |
decided_by_fed | sport_event_status | Boolean | Signifies a match result was decided by the federation when true . For example, incomplete due to crowd disruption |
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 , 1st_set , walkover 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:138546 |
winning_reason | sport_event_status | String | Winning reason description for a match ex. walkover |
Period Scores:
Attribute | Parent Element | Type | Description |
---|---|---|---|
away_score | sport_event_status - period_scores | Integer | Away competitor set score |
away_tiebreak_score | sport_event_status - period_scores | Integer | Away competitor tiebreak set score |
home_score | sport_event_status - period_scores | Integer | Home competitor set score |
home_tiebreak_score | sport_event_status - period_scores | Integer | Home competitor tiebreak set score |
number | sport_event_status - period_scores | Integer | Set number |
type | sport_event_status - period_scores | String | Period type ex. set |
Match Stats (Competitor):
See our Statistics FAQ Section for detailed descriptions of our tennis statistics
Attribute | Parent Element | Type | Description |
---|---|---|---|
aces | competitors - statistics | Integer | Number of aces for a competitor in a match |
backhand_errors | competitors - statistics | Integer | Number of backhand errors for a competitor in a match |
backhand_unforced_errors | competitors - statistics | Integer | Number of backhand unforced errors for a competitor in a match |
backhand_winners | competitors - statistics | Integer | Number of backhand winners for a competitor in a match |
breakpoints_won | competitors - statistics | Integer | Number of breakpoints won for a competitor in a match |
double_faults | competitors - statistics | Integer | Number of double faults for a competitor in a match |
drop_shot_unforced_errors | competitors - statistics | Integer | Number of drop shot unforced errors for a competitor in a match |
drop_shot_winners | competitors - statistics | Integer | Number of drop shot winners for a competitor in a match |
first_serve_points_won | competitors - statistics | Integer | Number of first serve points won for a competitor in a match |
first_serve_successful | competitors - statistics | Integer | Number of successful first serves for a competitor in a match |
forehand_errors | competitors - statistics | Integer | Number of forehand errors for a competitor in a match |
forehand_unforced_errors | competitors - statistics | Integer | Number of forehand unforced errors for a competitor in a match |
forehand_winners | competitors - statistics | Integer | Number of forehand winners for a competitor in a match |
games_won | competitors - statistics | Integer | Number of games won for a competitor in a match |
groundstroke_errors | competitors - statistics | Integer | Number of groundstroke errors for a competitor in a match |
groundstroke_unforced_errors | competitors - statistics | Integer | Number of groundstroke unforced errors for a competitor in a match |
groundstroke_winners | competitors - statistics | Integer | Number of groundstroke winners for a competitor in a match |
lob_unforced_errors | competitors - statistics | Integer | Number of lob unforced errors for a competitor in a match |
lob_winners | competitors - statistics | Integer | Number of lob winners for a competitor in a match |
max_games_in_a_row | competitors - statistics | Integer | Longest game win streak for a competitor in a match |
max_points_in_a_row | competitors - statistics | Integer | Longest point win streak for a competitor in a match |
overhead_stroke_errors | competitors - statistics | Integer | Number of overhead errors for a competitor in a match |
overhead_stroke_unforced_errors | competitors - statistics | Integer | Number of overhead unforced errors for a competitor in a match |
overhead_stroke_winners | competitors - statistics | Integer | Number of overhead winners for a competitor in a match |
points_won | competitors - statistics | Integer | Number of points won for a competitor in a match |
points_won_from_last_10 | competitors - statistics | Integer | Number of points won in the last 10 opportunities for a competitor in a match |
return_errors | competitors - statistics | Integer | Number of return errors for a competitor in a match |
return_winners | competitors - statistics | Integer | Number of return winners for a competitor in a match |
second_serve_points_won | competitors - statistics | Integer | Number of second serve points won for a competitor in a match |
second_serve_successful | competitors - statistics | Integer | Number of successful second serves for a competitor in a match |
service_games_won | competitors - statistics | Integer | Number of service games won for a competitor in a match |
service_points_lost | competitors - statistics | Integer | Number of service points lost for a competitor in a match |
service_points_won | competitors - statistics | Integer | Number of service points won for a competitor in a match |
tiebreaks_won | competitors - statistics | Integer | Number of tiebreaks won for a competitor in a match |
total_breakpoints | competitors - statistics | Integer | Number of total breakpoints for a competitor in a match |
volley_unforced_errors | competitors - statistics | Integer | Number of volley unforced errors for a competitor in a match |
volley_winners | competitors - statistics | Integer | Number of volley winners for a competitor in a match |