Overview
The Tennis Tournament Simulation feed provides traditional tennis tournament and participant data, including player or team identifiers, player personal details, match names, dates of birth, nationalities, and other profile metadata.
The feed also provides probability outputs showing the likelihood of a player or doubles team winning a tournament, qualifying for knockout phases, reaching specific rounds, and achieving predicted tournament positions.
Problem Statement & Use Cases
This API solves the business problem of converting tournament state, participant quality, and live predictive signals into structured probability outputs for tennis tournaments. It supports applications that need to model likely tournament outcomes for singles, doubles, and mixed doubles events.
| Use Case |
Description |
| Tournament probability dashboards |
Display each player or doubles team's probability of reaching specific rounds or winning the tournament. |
| Predictive brackets |
Populate bracket experiences with simulated advancement probabilities and predicted end positions. |
| Fan engagement products |
Power live or pre-event experiences showing how tournament-winning likelihood changes as a tournament progresses. |
| Trading and analytics models |
Use playerPrediction and tournamentPrediction outputs as features in tournament-outcome modeling workflows. |
Compliance & Guidelines
Authentication and API Security
To comply with Stats Perform API security and best-practice requirements, refer to the Stats Perform FAQs, API Overview, and Authentication Guide.
Authentication uses the OAuth method to fetch data.
Polling Frequency
| Feed |
Polling Frequency |
Notes |
| Tournament Simulations (TM11) |
Once every 24 hours |
If no Live Win Probability data is available, predictions are rerun every hour. If Live Win Probability data is available, predictions are updated live after a service game in a match finishes. |
If Live Win Probability data is available, tournament simulations may update live after a service game finishes, such as when the score reaches 3:3 in the first set and calculations are retriggered.
Request Formatting Rules
All URLs are case-sensitive. URL strings must contain the correct case, operators, authentication key, response format, and required entity identifiers, or the API returns an error.
| Rule |
Requirement |
| Authentication key |
Include a unique and valid {apikey} or equivalent customer API key where required. |
| Response format |
Include _fmt={dataFormat} to specify the response format. |
| Query string start |
Begin the query parameter string with ? immediately after the feed name or resource identifier. |
| Parameter separator |
Separate query parameters with &. |
| Multiple values: AND |
Use & for multiple values where the API treats them as AND. |
| Multiple values: OR |
Use , only if the parameter supports OR-style multiple values. |
| NOT operator |
Use ! only if the parameter supports negation. |
| Underscore-prefixed parameters |
Include the required _ prefix for parameters such as _fmt and _clbk. |
| Placeholder braces |
Remove placeholder curly braces {} from production API calls. They are documentation examples only. |
| Case sensitivity |
Preserve exact URL, parameter, and operator case. |
| Base URL reference |
The base URL format is {protocol}://{requestDomain}/{feedResource}. |
JSONP Requirements
If _fmt=jsonp is used, it must be combined with the callback parameter _clbk.
| Constraint |
Requirement |
Reason |
| JSONP callback |
Use _fmt=jsonp together with _clbk. |
JSONP requires a callback wrapper function. |
| Fixed callback value |
Use a fixed _clbk value whenever possible. |
Random callback names can reduce cacheability and violate API best-practice logic. |
| JavaScript frameworks |
Override framework-generated random callback names, including defaults from common frameworks such as jQuery. |
Some frameworks generate random JSONP function names unless explicitly configured. |
Endpoints
Base URL
https://api.statsperform.com
Feed Resource
/sdapi/v1/tennisdata/tournamentsimulations
Get Tournament Simulations by Tournament UUID Query Parameter
GET /sdapi/v1/tennisdata/tournamentsimulations?trn={tournamentUUID}&{customer_apikey}
Get Tournament Simulations by Tournament UUID Path Parameter
GET /sdapi/v1/tennisdata/tournamentsimulations/{tournamentUuid}?{queryParameters}&{customer_apikey}
| Usage |
Feed |
| Get tournament simulations by tournament UUID. |
sdapi/v1/tennisdata/tournamentsimulations?trn={tournamentUUID}&{customer_apikey} |
| Get tournament simulations by tournament UUID and query parameters. |
sdapi/v1/tennisdata/tournamentsimulations/{tournamentUuid}?{queryParameters}&{customer_apikey} |
Query Parameters
This feed uses Global query parameters and the feed-specific query parameters listed below.
The /tournamentsimulations feed must be queried by a specific tournament UUID. Additional query parameters can be combined in a request.
Feed-Specific Query Parameter Combinations
| Query Parameter Combination |
Description |
Example Request |
tournament UUID path parameter |
Get Tournament Simulations by passing the tournament UUID as a path parameter, also called the asset/resource method. |
GET https://api.statsperform.com/sdapi/v1/tennisdata/tournamentsimulations/{tournamentUUID}?_fmt={dataFormat}&apikey={customer_apikey} |
trn |
Get Tournament Simulations for a tournament by passing the tournament UUID to the trn parameter. |
GET https://api.statsperform.com/sdapi/v1/tennisdata/tournamentsimulations?trn={tournamentUUID}&_fmt={dataFormat}&apikey={customer_apikey} |
trn + ctst |
Get Tournament Simulations for a tournament and a contestant. In singles, pass the contestant UUID; in doubles or mixed doubles, pass the doubles-team UUID. |
GET https://api.statsperform.com/sdapi/v1/tennisdata/tournamentsimulations?_fmt={dataFormat}&trn={tournamentUUID}&ctst={contestantUUID}&apikey={customer_apikey} |
trn + multiple ctst values |
Get Tournament Simulations for multiple contestants or doubles teams. |
GET https://api.statsperform.com/sdapi/v1/tennisdata/tournamentsimulations?_fmt={dataFormat}&trn={tournamentUUID}&ctst={contestantUUID1},{contestantUUID2},{contestantUUID3}&apikey={customer_apikey} |
trn + date range |
Get Tournament Simulations for a tournament over a specified date range. |
GET https://api.statsperform.com/sdapi/v1/tennisdata/tournamentsimulations?_fmt={dataFormat}&trn={tournamentUUID}&date={date range}&apikey={customer_apikey} |
Parameter Definitions
| Parameter |
Required |
Description |
Accepted Values / Format |
_fmt |
Yes |
Response data format. |
{dataFormat} |
_clbk |
Conditional |
JSONP callback function name. Required when _fmt=jsonp. |
Fixed callback function name |
apikey |
Yes |
Customer API authentication key. |
{customer_apikey} |
tournamentUuid |
Conditional |
Tournament UUID supplied as a path parameter. |
String; alphanumeric UUID |
trn |
Conditional |
Tournament UUID supplied as a query parameter. |
String; alphanumeric UUID |
ctst |
No |
Contestant UUID for singles, or doubles-team UUID for doubles and mixed doubles. Supports multiple values when comma-separated. |
String; alphanumeric UUID or comma-separated UUID list |
date |
No |
Date range used to query tournament simulations for a specified period. |
{date range} |
Output Schema
The feed response fields are documented using XML element names. JSON responses contain similar fields, but XML-only wrapper nodes may be omitted or represented differently.
`<tournament
Simulations>`
| Property |
Value |
| Format |
XML only |
| Nesting |
tournamentSimulations |
| Description |
Required root element of the fields related to tournament simulations. |
| JSON behavior |
Not present in JSON feed response. |
<tournament>
| Property |
Value |
| Nesting |
tournamentSimulations/tournament |
| Description |
Required root element of the fields related to the associated tournament. Returned only when the feed is called by tournament UUID using the trn parameter. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the tournament. |
String; alphanumeric UUID |
name |
Yes |
Name of the tournament. |
String |
startDate |
Yes |
Start date in UTC of the tournament. |
Date in format YYYY-MM-DDZ |
endDate |
Yes |
End date in UTC of the tournament. |
Date in format YYYY-MM-DDZ |
type |
Yes |
Type of tournament. |
String; examples include single, double, mix |
drawSize |
Yes |
Number of players in the main draw before elimination or matches begin. |
Integer |
matchType |
Yes |
Type of match. |
String; examples include Single, Double, Mix |
gender |
Yes |
Gender category of the players in the match. |
men, women, mixed |
status |
Yes |
Status of the tournament. |
Scheduled, In Progress, Completed, Postponed, Suspended, Cancelled, Break |
winningPeopleId |
No |
Unique ID of the people who won the tournament. Not present for tournaments currently in progress. |
String; alphanumeric UUID |
winningPeople |
No |
Name of the people who won the tournament. Not present for tournaments currently in progress. |
String |
totalPrizeMoney |
No |
Total prize money available for the tournament. |
Integer |
totalPrizeCurrency |
Yes |
Currency of the prize money. |
String |
winnerPrizeMoney |
No |
Prize money awarded to the tournament winner or winners. |
Integer |
winnerPrizeCurrency |
No |
Currency of the prize money awarded to the tournament winner or winners. |
String |
Tournament Status Values
| Status |
Description |
Scheduled |
Tournament status before a tournament starts. |
In Progress |
Tournament status after the first match starts. |
Completed |
Status when the final match of the tournament is over. |
Postponed |
Tournament has been put on hold but has not been officially cancelled. |
Suspended |
Tournament has a delay, such as rain, affecting all active matches. |
Cancelled |
Tournament remains in the schedule but is not to be played. |
Break |
All active matches are suspended for the day due to delay, such as rain, and a new schedule is released for the next day. |
<predictions>
| Property |
Value |
| Nesting |
tournamentSimulations/tournament/predictions |
| Description |
Required root element of the fields related to predictions. |
| Attribute |
Required |
Description |
Values |
lastUpdated |
Yes |
UTC date and time when the predictions were last updated. |
Date/Time in format YYYY-MM-DDThh:mm:ssZ |
`<tournament
Predictions>`
| Property |
Value |
| Nesting |
tournamentPredictions/tournament/predictions/tournamentPredictions |
| Description |
Required root element of the fields related to tournament predictions. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
Type of prediction being made. |
String |
<ranking>
| Property |
Value |
| Nesting |
tournamentPredictions/tournament/predictions/tournamentPredictions/ranking |
| Description |
Required root element of the fields related to predicted ranking. |
| Attribute |
Required |
Description |
Values |
position |
Yes |
Predicted end position of the player or team in the tournament. |
Integer |
contestantId |
Yes |
Unique ID of the doubles team. Present only for doubles and mixed doubles. |
String; alphanumeric UUID |
team |
Yes |
Doubles-team name related to the event. Present only for doubles and mixed doubles. |
String |
value |
Yes |
Prediction value as a percentage. |
Decimal; examples include 33.48%, 11.14%, 2.67%, 0.64%, 0.17% |
<ranking>/<player>
| Property |
Value |
| Nesting |
tournamentPredictions/tournament/predictions/tournamentPredictions/ranking/player |
| Description |
Required root element of the fields related to a player in predicted ranking output. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the player in the doubles team. Not present for singles. |
String; alphanumeric UUID |
matchName |
Yes |
Match name of the player. |
String |
firstName |
Yes |
First name of the player. |
String |
lastName |
Yes |
Last name of the player. |
String |
seed |
No |
Seed number or qualification label of the contestant, such as Q. |
String |
nationalityId |
Yes |
Unique ID of the player's nationality. |
String; alphanumeric UUID |
nationality |
No |
Nationality or country of the player. |
String |
countryOfBirthId |
Yes |
Unique ID of the player's country of birth. |
String; alphanumeric UUID |
countryOfBirth |
Yes |
Country of birth of the player. |
String |
dateOfBirth |
Yes |
Date of birth of the player. |
Date in format YYYY-MM-DDZ |
placeOfBirth |
Yes |
Place of birth of the player. |
String |
gender |
Yes |
Gender of the player. |
String |
height |
No |
Height of the player in centimetres. |
Integer |
weight |
No |
Weight of the player in kilograms. |
Integer |
`<player
Predictions>`
| Property |
Value |
| Nesting |
tournamentSimulations/tournament/predictions/playerPredictions |
| Description |
Required root element of the fields related to player predictions. |
`<player
Prediction>`
| Property |
Value |
| Nesting |
tournamentSimulations/tournament/predictions/playerPredictions/playerPrediction |
| Description |
Required root element of the fields related to a player prediction. |
<contestant>
| Property |
Value |
| Nesting |
tournamentSimulations/tournament/predictions/playerPredictions/playerPrediction/contestant |
| Description |
Required root element of the fields related to a contestant. |
| Attribute |
Required |
Description |
Values |
contestantId |
Yes |
Unique ID of the doubles team. Present only for doubles and mixed doubles. |
String; alphanumeric UUID |
team |
Yes |
Doubles-team name related to the event. Present only for doubles and mixed doubles. |
String |
<contestant>/<player>
| Property |
Value |
| Nesting |
tournamentSimulations/tournament/predictions/playerPredictions/playerPrediction/contestant/player |
| Description |
Required root element of the fields related to predicted player types. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the player in the doubles team. Not present for singles. |
String; alphanumeric UUID |
matchName |
Yes |
Name of the player in a match. |
String |
firstName |
Yes |
First name of the player. |
String |
lastName |
Yes |
Last name of the player. |
String |
seed |
No |
Seed number or qualification label of the contestant, such as Q. |
String |
nationalityId |
Yes |
Unique ID of the player's nationality. |
String; alphanumeric UUID |
nationality |
No |
Nationality or country of the player. |
String |
countryOfBirthId |
Yes |
Unique ID of the player's country of birth. |
String; alphanumeric UUID |
countryOfBirth |
Yes |
Country of birth of the player. |
String |
dateOfBirth |
Yes |
Date of birth of the player. |
String; date in format YYYY-MM-DDZ |
gender |
Yes |
Gender of the player. |
String |
<predicted>
| Property |
Value |
| Nesting |
tournamentSimulations/tournament/predictions/playerPredictions/playerPrediction/predicted |
| Description |
Required root element of the fields related to predicted types. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
Type of prediction. Examples include 1/16 Final, Quarter Finals, Semi-finals, Final, and Champion. |
String |
value |
Yes |
Prediction value as a percentage. |
Decimal; examples include 33.48%, 11.14%, 2.67%, 0.64%, 0.17% |