API Reference
Potential Matchups
Possible future pairings inferred from draws and paths â not confirmed scheduled matches. For the real schedule use Upcoming Matches.
Potential Tournament Matchups
Only unfinished events, exact names
Potential fixtures cover today's unfinished events. A finished Grand Slam name correctly returns no events. Use tournament names exactly as returned by this list when calling /potential-fixtures/{tour}/tournament/{name}.
GET
This example uses /tennis/v2/potential-fixtures/{atp|wta}atp. Use wtafor the women's dataset.Returns all potential upcoming fixtures between players based on the current tournament draw. This endpoint helps identify possible future matchups before they are officially confirmed, making it useful for predictions, tournament analysis, and matchup planning. Only potential pairings are included; no match results or live data are returned.Path Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
atp|wta | Yes | string | Dataset to query. atp = men's tennis across all supported levels, including Grand Slams, ATP Tour, Challengers and ITF. wta = women's tennis across all supported levels, including Grand Slams, WTA Tour and ITF. There is no separate itf value. |
Query Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
pageSize | No | integer | Results per page. When omitted, the endpoint's own default applies (100 on most list endpoints; some use 50 or 500), and the response's pageSize shows the value used. Core maximum: 500 (larger values are reduced). Example: pageSize=10. |
pageNo | No | integer | Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. |
Response Properties
| Field | Type | Description |
|---|---|---|
data[].id | number | Tournament season ID of the event the draw belongs to. |
data[].name | string | Tournament name. |
data[].date | string | Tournament start date (ISO-8601 UTC). |
data[].tourRank | number | Tournament level ID (TourRank), not a level name. |
data | array | Response payload: the list or object documented in the rows below. |
data[] | object | One item of `data`; its fields are listed below. |
data[].matches | array | Possible matchups in the current draw. |
data[].matches[] | object | One item of `data[].matches`; its fields are listed below. |
data[].matches[].round | number | Round ID of the possible matchup. |
data[].matches[].roundName | string | Human-readable round label, e.g. "Quarterfinals". |
data[].matches[].draw | number | Draw slot of the possible matchup within the round. |
data[].matches[].player1 | string | Name of the first possible player (string). |
data[].matches[].player2 | string | Name of the second possible player (string). |
page | number | Current page number (1-based). |
pageNo | number | Current page number (1-based); same value as page. |
pageSize | number | Items per page; same value as limit. |
limit | number | Items per page. |
hasNextPage | boolean | true when another page exists after this one. |
Potential Tournament Matchups by Tournament
GET
This example uses /tennis/v2/potential-fixtures/{atp|wta}/tournament/{tour_id_or_name}atp. Use wtafor the women's dataset.Retrieves all potential upcoming matchups for a specific tournament based on the current tournament draw. The response includes every possible pairing that can still occur in future rounds, along with the corresponding round and draw position.Path Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
atp|wta | Yes | string | Dataset to query. atp = men's tennis across all supported levels, including Grand Slams, ATP Tour, Challengers and ITF. wta = women's tennis across all supported levels, including Grand Slams, WTA Tour and ITF. There is no separate itf value. |
tour_id_or_name | Yes | string | Tournament ID or exact tournament name. Either value can be used to identify the tournament. |
Query Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
pageSize | No | integer | Results per page. When omitted, the endpoint's own default applies (100 on most list endpoints; some use 50 or 500), and the response's pageSize shows the value used. Core maximum: 500 (larger values are reduced). Example: pageSize=10. |
pageNo | No | integer | Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. |
Response Properties
| Field | Type | Description |
|---|---|---|
data | object | The tournament with its possible matchups (a single object, not an array). |
data.id | number | Tournament season ID. |
data.name | string | Tournament name. |
data.date | string | Tournament start date (ISO-8601 UTC). |
data.tourRank | number | Tournament level ID (TourRank). |
data.matches | array | Possible matchups in the current draw. |
data.matches[] | object | One item of `data.matches`; its fields are listed below. |
data.matches[].round | number | Round ID of the possible matchup. |
data.matches[].roundName | string | Human-readable round label, e.g. "Quarterfinals". |
data.matches[].draw | number | Draw slot of the possible matchup within the round. |
data.matches[].player1 | string | Name of the first possible player (string). |
data.matches[].player2 | string | Name of the second possible player (string). |
data.matches[].h2h | string | Career head-to-head as "player1Wins-player2Wins", e.g. "4-1" (same numbers as h2hSummary). |
page | number | Current page number (1-based). |
pageNo | number | Current page number (1-based); same value as page. |
pageSize | number | Items per page; same value as limit. |
limit | number | Items per page. |
Potential Tournament Matchups by Player
GET
This example uses /tennis/v2/potential-fixtures/{atp|wta}/player/{player_id_or_name}atp. Use wtafor the women's dataset.Returns all potential upcoming fixtures for a specific player based on the current tournament draw. The response includes every possible opponent the player may face in future rounds, along with the projected round and draw position. This endpoint is useful for analyzing a player's possible tournament path and upcoming match scenarios.Path Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
atp|wta | Yes | string | Dataset to query. atp = men's tennis across all supported levels, including Grand Slams, ATP Tour, Challengers and ITF. wta = women's tennis across all supported levels, including Grand Slams, WTA Tour and ITF. There is no separate itf value. |
player_id_or_name | Yes | string | Display name ( Carlos Alcaraz) or numeric ID (68074). Hyphenated slugs such as alcaraz-carlos return {"err":"Player not found"}. |
Query Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
pageSize | No | integer | Results per page. When omitted, the endpoint's own default applies (100 on most list endpoints; some use 50 or 500), and the response's pageSize shows the value used. Core maximum: 500 (larger values are reduced). Example: pageSize=10. |
pageNo | No | integer | Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. |
Response Properties
| Field | Type | Description |
|---|---|---|
data | array | Tournaments in which the player is still in the draw, each with that player's possible matchups. |
data[].id | number | Tournament season ID. |
data[].name | string | Tournament name. |
data[].date | string | Tournament start date (ISO-8601 UTC). |
data[].tourRank | number | Tournament level ID (TourRank). |
data[].matches | array | Possible matchups in the current draw. |
data[].matches[] | object | One item of `data[].matches`; its fields are listed below. |
data[].matches[].round | number | Round ID of the possible matchup. |
data[].matches[].roundName | string | Human-readable round label, e.g. "Quarterfinals". |
data[].matches[].draw | number | Draw slot of the possible matchup within the round. |
data[].matches[].player1 | string | Name of the first possible player (string). |
data[].matches[].player2 | string | Name of the second possible player (string). |
page | number | Current page number (1-based). |
pageNo | number | Current page number (1-based); same value as page. |
pageSize | number | Items per page; same value as limit. |
limit | number | Items per page. |
hasNextPage | boolean | true when another page exists after this one. |
Players Still Active in Draws
GET
This example uses /tennis/v2/potential-fixtures/{atp|wta}/active-playersatp. Use wtafor the women's dataset.Returns a paginated list of players who are currently active in tournament draws and have potential upcoming fixtures. Each record includes the player's name, the tournament they are competing in, the tournament location, and the event year. This endpoint is useful for discovering players with possible future matchups across all active tournaments.Path Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
atp|wta | Yes | string | Dataset to query. atp = men's tennis across all supported levels, including Grand Slams, ATP Tour, Challengers and ITF. wta = women's tennis across all supported levels, including Grand Slams, WTA Tour and ITF. There is no separate itf value. |
Query Parameter
| Parameter | Required | Type | Description |
|---|---|---|---|
pageSize | No | integer | Players to return. Default 20, maximum 100. Also accepts limit. |
pageNo | No | integer | Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages. |
limit | No | integer | Alias of pageSize on this route. Default 20. |
Response Properties
| Field | Type | Description |
|---|---|---|
total | number | Total number of matching items across all pages. |
limit | number | Items per page. |
players | array | Active players with their tournament. |
players[] | object | One item of `players`; its fields are listed below. |
players[].playerName | string | Player display name. |
players[].tournamentName | string | Tournament the player is still in. |
players[].location | string | Tournament country code, site or name, whichever is known. |
players[].year | number | Season year. |