Frequently asked questions for Tennis v3
Click on the categories below or browse questions on the right panel.
Categories
.
Coverage
What leagues or tournaments do you cover, and at what level?
You can find all the leagues we cover, as well as a breakdown of data offered, via our Coverage Matrix.
How do I find out the coverage for a particular match?
Find the node called: coverage
– type
which denotes if the match is covered at the sport_event
or competition
level.
- When
type="sport_event"
you will only getsport_event_properties
. - When
type="competition"
you will getsport_event_properties
andcompetition_properties
.
Within coverage
, scores
states if the match is scored live or post. Extended stats show if we have enhanced stats for the sport event.
How are “live” feeds handled in the API?
Sport Events appear in the feed 10 minutes before the scheduled start time and are removed 10 minutes after the Sport Event is ended.
How will a sport event behave when it is not covered with live scores?
When a sport_event
is not covered live, the status
and match_status
will remain as not_started
until results are entered post-match.
Integration
How can I find the values for various enum data points within the API?
Many enum values are listed in the FAQ below. For the most up-to-date values, please see the Schema
section of the OpenAPI specification here:
https://api.sportradar.com/tennis/trial/v3/openapi/swagger/index.html
What format are date fields presented in?
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
What format are the date/time fields presented in?
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
How do I locate the TTL (Time to Live)/cache on an API endpoint?
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
Sport Event Statuses
What are the valid sport_event_status
– status
values?
sport_event_status
– status
values?not_started
– The match is scheduled to be playedstarted
– The match has begunpostponed
– The match has been postponed to a later timematch_about_to_start
– The match time has expired, awaiting playlive
– The match is currently in progressended
– The match is overclosed
– The match results have been confirmed.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 insteadsuspended
– The match began, but has been suspended to a later timecancelled
– The match has been cancelled and will not be playeddelayed
– The match has been temporarily delayed and will be continued
What are the valid sport_event_status
– match_status
values?
sport_event_status
– match_status
values?not_started
– The match is scheduled to be playedmatch_about_to_start
– The match time has expired, awaiting playstart_delayed
– The match has been temporarily delayed and will be continued. Matches are manually moved to this status 15 minutes after the scheduled start time.1st_set
– First set2nd_set
– Second set3rd_set
– Third set4th_set
– Fourth set5th_set
– Fifth setended
– The match is overwalkover
- The match ended in a walkoverinterrupted
– The match began, but is stopped for a short timesuspended
– The match began, but has been suspended to a later timecancelled
– The match has been cancelled and will not be playedpostponed
– The match has been postponed to a future dateretired
– The match is incomplete as the result of one playerdefaulted
- The match has ended as a result of one player being disqualified
How does sport event type work in the feeds?
The sport_event_type
explicitly denotes the match type.
Where there are competitions which have "parent matches" and "child matches" where country_format='true'
, such as Davis Cup and ATP Cup, this attribute will only appear on the "child match" node.
The "parent match" sport_event
node will have a type='parent'
attribute and the competition
node will have a type='mixed'
attribute. Otherwise, for competitions where country_format
is not present, the competition will have a type either singles
or doubles
.
Statistics
Is the statistical data provided in the Tennis API official data?
Sportradar collects sports data independently. For some sports Sportradar is the official data provider. In the case of Tennis, we provide official data for ITF tournaments only.
What are the definitions for the various statistics?
General Definitions:
- Racket arm: The arm with which the player serves and holds the racket. It is used to define if a player is right-handed or left-handed.
- Stroke/Shot: The act of striking the ball with the racket.
- Serve: Short for Service.
- Server: The player who serves.
- Returner/Receiver: The player who receives the serve.
- Return: A shot used to hit back the serve.
- Forehand: A shot hit from the racket-arm side of the body. The stroke used to return balls hit to the right side of a right-handed player and to the left side of a left-handed player. Forehands are commonly hit one-handed.
- Backhand: A stroke in which the ball is struck on the opposite side of the body to the racket arm. The stroke is used to return balls hit to the left side of a right-handed player and to the right side of a left-handed player. Backhands are hit either one-handed or two-handed.
- Groundstroke: A stroke made after the ball has bounced. The standard shot in tennis. Can be either forehand or backhand.
- Volley: During play, a shot where the ball is hit before it bounces. Can be either forehand or backhand.
- Overhead: During play, a stroke made with the racket above the head in a motion similar to that of an overhand serve.
- Drop Shot: A softly hit ball (usually with backspin) that drops near the net after crossing it. Is hit either as a groundstroke or a volley and can be either forehand or backhand.
- Lob: A stroke that lifts the ball high in the air, usually over the head of the opponent at the net. Is hit either as a groundstroke or a volley and can be either forehand or backhand.
Sportradar Definition – Winners
- Winner: A winner is any shot that is hit successfully into the opposite side of the court that the opponent can’t manage to get a shot at. It can either be a clean hit without any racket touch or where the opponent only manages to slightly touch the ball (racket clip). Important is that the opponent cannot manage to hit a proper shot. All the below specifications count as Winners in Statistics.
- Ace: A ball that is served without an opponent (receiver) touching the ball with the racket (usually due to well executed serve)
- Return winner: A direct winner hit when returning serve. Can be either forehand or backhand.
- Groundstroke winner: A winner hit as a groundstroke. Can be either forehand or backhand.
- Volley winner: A winner hit as a volley. Can be either forehand or backhand.
- Overhead winner: A winner hit as an overhead shot.
- Drop shot winner: A winner hit as a drop shot. Has to be either groundstroke or volley and can be either forehand or backhand.
- Lob winner: A winner hit as a lob. Has to be either groundstroke or volley and can be either forehand or backhand.
Sportradar Definition – Forced errors
- Forced error: An unsuccessful shot caused by an opponent's good play. Primarily defined when the player who made the error is under time pressure or is on the move/on the defense during the shot execution. If one of those factors is true, then the player was forced into a difficult situation by a good shot and thus made a forced error. All the below specifications count as Forced Errors in Statistics.
- Return forced error: A forced error caused by an opponent`s serve, player gets racket to the ball but is unable to put it in play (incl. Racket Clip).
- Groundstroke forced error: A forced error while trying to hit a groundstroke. Can be either forehand or backhand.
- Volley forced error: A forced error while trying to hit a volley. Can be either forehand or backhand.
- Overhead forced error: A forced error while trying to hit an overhead shot.
Sportradar Definition – Unforced errors
- Unforced error: An unsuccessful shot due to an error without being forced under pressure by the opponent. All the below specifications count as Unforced Errors in Statistics.
- Double fault: Two faults served in a row. On a double fault, the server loses the point.
- Return unforced error: An unforced error while trying to hit a return of serve. Can be either forehand or backhand.
- Groundstroke unforced error: An unforced error while trying to hit a groundstroke. Can be either forehand or backhand.
- Volley unforced error: An unforced error while trying to hit a volley. Can be either forehand or backhand.
- Overhead unforced error: An unforced error while trying to hit an overhead shot.
- Drop shot unforced error An unforced error while trying to hit a drop shot. Has to be either groundstroke or volley and can be either forehand or backhand.
- Lob unforced error: An unforced error while trying to hit a lob. Has to be either groundstroke or volley and can be either forehand or backhand.
When are standard match stats available?
Standard match stats are available whenever live point-by-point coverage is true.
What are the standard match statistics?
aces
double_faults
games_won
max_games_in_a_row
max_points_in_a_row
points_won
breakpoints_won
total_breakpoints
first_serve_points_won
first_serve_successful
second_serve_points_won
second_serve_successful
aces
double_faults
second_serve_successful
second_serve_points_won
What are the extended match stats?
backhand_errors
backhand_unforced_errors
backhand_winners
volley_errors
volley_unforced_errors
volley_winners
forehand_errors
forehand_unforced_errors
forehand_winners
groundstroke_errors
groundstroke_unforced_errors
groundstroke_winners
lob_unforced_errors
lob_winners
overhead_errors
overhead_stroke_errors
overhead_winners
return_errors
return_unforced_errors
return_winners
service_unforced_errors
service_games_won
service_points_lost
service_points_won
tiebreaks_won
drop_shot_unforced_errors
drop_shot_winners
Match Updates
How long are matches stored in the deleted/updated matches endpoints?
The deleted/updated matches endpoints will show sport events removed or updated in the last 2 weeks.
When are placeholder competitors used?
We will create fixtures in advance when details are confirmed (fixed draw competitions only). For competitors that have placeholder names, we will display virtual=”true”
until the competitor qualifies for the match and replaces the placeholder. Placeholders are not used for qualifiers.
What prompts a match to appear in Sport Events Updated?
Changes to score, match status, or schedule in last 24 hours would cause a match to display in this endpoint.
Pagination
Why can't I find a particular match in the Daily Summaries, Season Summaries or Sport Events Updated feeds?
These endpoints support pagination and return 200 entries by default. To return more matches, an additional query string parameter must be used after your API key. For example, appending &start=200
will return the next 200 entries per page, &start=400
will return the next 200, and so on.
Probabilities
What is the probabilities package?
The Probabilities package is an add-on set of feeds that are an extension of the Season Probabilities feed in the main package (which already provides pre-match probabilities for the sport event winner market).
The main features of the Probabilities extension are: Live Probabilities that update throughout game, Season Outright Probabilities for the Tournament Winner market, and Live Probabilities Coverage indicator for the next 24 hours.
Standings / Tournaments
What are the possible values for cup_round
– state
in the Season Links endpoint?
cup_round
– state
in the Season Links endpoint?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.unstarted
- Match(es) have been added.on_going
- The first match has started.decided
- The last match has ended.winner
- The winner is known.cancelled
– The matchup has been cancelled.
Player Data
Why do some players have height and weight data and others don't?
Only the height and weight of the top 500 ranked players for ATP and WTA are included. There may be some instances where some players outside of the top 500 have these attributes but should not be relied upon.
Venues
How do venues work for country vs country competitions?
In country vs country competitions such as Davis Cup and ATP Cup, venues on the parent matches refer to the complex in which the courts are located. On the child match level venue refers to the court where the match is played. Note that only the finals venue will be linked to complex attribute for the Davis Cup competition.
Languages
What terms can I expected to be adjusted for translations?
competitor name
competition name
sport name
category name
season name
group name
player name
venue name
venue city name
venue country name
info prize currency
Advantages
How do I detect when one player has "advantage" in the case where the players both reached "40" or "deuce"?
The player who has "advantage" will have a score of 50
in the timeline. For example, below is a game won by the receiver after a server committed a double_fault
when the receiver was at "advantage":
<event id="691865865" type="point" time="2020-05-29T11:30:37+00:00" team="home"
home_score="50" away_score="40" server="away" result="double_fault" first_serve_fault="true"/>
<event id="691866221" type="period_score" time="2020-05-29T11:31:22+00:00" period="2"
home_score="4" away_score="4" server="away" result="receiver_won"/>
In addition, when in a live situation the game_state
node will display the following:
<game_state home_score="50" away_score="40" serving="away" last_point_result="receiver_winner"
advantage="home" tie_break="false" ball_status="first_serve"/>
More questions?
Reach out to [email protected] for further assistance.