API Reference

Tournaments & Draws

The Tournaments module provides tournament metadata, season history, past champions, results, and a full year calendar for ATP and WTA events.

โ„น๏ธ
Season IDs vs tournament names

Core tournament routes take a seasonid โ€” one year-edition of an event (Wimbledon 2025 is a different ID from Wimbledon 2024). Discover IDs from the Calendar endpoint. Draw and seed routes use the exact tournament name from the calendar (URL-encoded), not that season ID.

โ„น๏ธ
Core past-champtions spelling

Core past champions is /tournament/past-champtions/{season_id} โ€” use that exact spelling.

โ„น๏ธ
Tournament levels (rankId vs tier)

rankId is the integer from GET /ranking. Grand Slam is 4. Challenger/ITF > $10K is 1. ATP 250 and ATP 500 both use rankId 2 (Main tour); the calendar tier string is the marketing label. Use filter=TourRank:4 for slams โ€” not TourRank:1.

Endpoint Summary

GET/tennis/v2/{atp|wta}/tournament/calendar/{year}
GET/tennis/v2/{atp|wta}/tournament/info/{season_id}
GET/tennis/v2/{atp|wta}/tournament/seasons/{season_id}
GET/tennis/v2/{atp|wta}/tournament/past-champtions/{season_id}
GET/tennis/v2/{atp|wta}/tournament/results/{season_id}
GET/tennis/v2/tournament/{atp|wta}/{name}/{year}/draws

Tournament Calendar

GET/tennis/v2/atp/tournament/calendar/2025
This example uses atp. Use wtafor the women's dataset.Returns all tournaments scheduled in a given calendar year.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
yearYesinteger
Year Value(2026)

Query Parameter

ParameterRequiredTypeDescription
includeNostring
Comma-separated extras to load. court, rank, and country are always included by default. Additional available options:
  • rating โ€” ranking points awarded per round (winner, finalist, SF, QF, etc.)
  • singlesPrize โ€” prize money per round in USD (ATP only)
Example: include=rating,singlesPrize
filterNostring
Semicolon-separated filters in Key:value format. Available filters:
  • TourRank:4 โ€” rankId from GET /ranking. Live: 1 Challenger/ITF > $10K, 2 Main tour (ATP 250 and 500), 3 Masters, 4 Grand Slam
  • TourCourt:1, 2 โ€” filter by court surface ID(s)
Example: filter=TourRank:4;TourCourt:2
sinceNostring
ISO date string (YYYY-MM-DD). When provided, only returns tournaments starting on or after this date. Useful for listing active or upcoming tournaments. Example: since=2025-05-01
pageSizeNointeger
Results per page. Default: 10. Maximum 500. Walk pages with pageNo until hasNextPage is false โ€” do not request thousands of rows in one call.
pageNoNointeger
Page number, 1-indexed. Default: 1. Example: pageNo=1. Use hasNextPage in the response to check for more pages.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/atp/tournament/calendar/2025' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
dataarrayThe page of results. An empty array with HTTP 200 means the request was valid and nothing matched that date, filter, or page.
pageNointegerCurrent page, starting at 1. Also returned as page.
pageSizeintegerItems requested for this page. Also returned as limit. Core maximum is 500.
hasNextPagebooleantrue if another page exists. Stop when this is false or data is empty.
idintegerSeason ID for this yearโ€™s edition. Use it on /tournament/info/{season_id}.
namestringTournament name. URL-encode this exact string on advanced draw/seed routes.
datestringStart date as ISO-8601.
tier / rankIdstringtier is the display label (e.g. ATP 250). rankId is the integer from GET /ranking โ€” Grand Slam is 4, not 1.
court / courtIdobjectSurface object (id, name) and its ID.
country / countryAcrobjectHost country object and 3-letter code.

Tournament Details by Season ID

GET/tennis/v2/atp/tournament/info/20340?include=singlesPrize
This example uses atp. Use wtafor the women's dataset.Returns details for one tournament season ID (this yearโ€™s edition). Prize-money breakdown is added with include=singlesPrize.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
season_idYesnumber
Tournament season ID (โ‰ฅ 1). Non-numeric or zero IDs return 400 Bad Request. Invalid IDs return 404 Not Found.

Query Parameter

ParameterRequiredTypeDescription
includeNostring
Comma-separated extras to load. court, rank, and country are always included by default. Additional available options:
  • rating โ€” ranking points per round (winner, finalist, SF, QF, R16, R32, R64, qualifying)
  • singlesPrize โ€” USD prize money per round (ATP only)
Example: include=rating,singlesPrize
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/atp/tournament/info/20340?include=singlesPrize' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
idintegerSeason ID for this yearโ€™s edition. Use it on /tournament/info/{season_id}.
namestringTournament name. URL-encode this exact string on advanced draw/seed routes.
datestringStart date as ISO-8601.
tier / rankIdstringtier is the display label (e.g. ATP 250). rankId is the integer from GET /ranking โ€” Grand Slam is 4, not 1.
court / courtIdobjectSurface object (id, name) and its ID.
country / countryAcrobjectHost country object and 3-letter code.
singlesPrizeobjectUSD prize money per round when include=singlesPrize (ATP).
ratingobjectRanking points per round when include=rating.

Tournament Seasons

GET/tennis/v2/atp/tournament/seasons/20340
This example uses atp. Use wtafor the women's dataset.Returns all yearly editions (seasons) of the same tournament event.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
season_idYesnumber
Tournament season ID (โ‰ฅ 1). Non-numeric or zero IDs return 400 Bad Request. Invalid IDs return 404 Not Found.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/atp/tournament/seasons/20340' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Past Champions by Season ID

GET/tennis/v2/atp/tournament/past-champtions/20340
This example uses atp. Use wtafor the women's dataset.Returns a list of past winners (champions) for a recurring tournament.
โš ๏ธ
Core path spelling

The core route is spelled past-champtions โ€” that is the live path, not a typo in these docs. There is no core /past-champions/ alias.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
season_idYesnumber
Tournament season ID (โ‰ฅ 1). Non-numeric or zero IDs return 400 Bad Request. Invalid IDs return 404 Not Found.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/atp/tournament/past-champtions/20340' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Tournament Results

GET/tennis/v2/atp/tournament/results/20340
This example uses atp. Use wtafor the women's dataset.Returns the full match results draw for a tournament season.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
season_idYesnumber
Tournament season ID (โ‰ฅ 1). Non-numeric or zero IDs return 400 Bad Request. Invalid IDs return 404 Not Found.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/atp/tournament/results/20340' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Results are from the historical Game archive โ€” player1 is always the winner, player2 is the loser. The result field contains the score string (set scores, e.g. "6-3 6-2 6-4").

Extra tournament endpoints

These are not replacements for core calendar, info, seasons, past champions, or results.

Tournament Available Years

GET/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad
This example uses atp. Use wtafor the women's dataset.Returns all available years for which historical data exists for a specific tournament.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
tournamentYesstring
Tournament name ("EFG%20Swiss%20Open%20-%20Gstaad")
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Tournament Draw

GET/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad/2026/draws?includeAll=true
This example uses atp. Use wtafor the women's dataset.Returns the complete tournament draw for the selected event, including all rounds, matchups, player information, seeds, scores, and match status. This endpoint can be used to display the tournament bracket from the opening round through the final.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
tournamentYesstring
Tournament name ("EFG%20Swiss%20Open%20-%20Gstaad")
yearYesinteger
Year Value(2026)

Query Parameter

ParameterRequiredTypeDescription
includeAllNoboolean
Include Challenger/ITF and full history where supported. Example: includeAll=true
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad/2026/draws?includeAll=true' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Tournament Seeds by Name and Year

GET/tennis/v2/tournament/atp/Rennes%20Challenger/2026/seeds?includeAll=true
This example uses atp. Use wtafor the women's dataset.Returns the list of seeded players for a specific tournament. Each record includes the player's name and their official seed number in the tournament draw.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
tournamentYesstring
Tournament name ("EFG%20Swiss%20Open%20-%20Gstaad")
yearYesinteger
Year Value(2026)
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/tournament/atp/Rennes%20Challenger/2026/seeds?includeAll=true' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Tournament Most Victories

GET/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad/most-victories
This example uses atp. Use wtafor the women's dataset.Returns the list of players with the most wins at a given tournament across all years

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
tournamentYesstring
Tournament name ("EFG%20Swiss%20Open%20-%20Gstaad")
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad/most-victories' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Current Tournament Seeds

GET/tennis/v2/tournament/atp/Rennes%20Challenger/seeds
This example uses atp. Use wtafor the women's dataset.Returns the current seedings for a tournament (omit year for current edition)

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
tournamentYesstring
Tournament name ("EFG%20Swiss%20Open%20-%20Gstaad")
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/tournament/atp/Rennes%20Challenger/seeds' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Tournament Ranking Points

GET/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad/2026/points
This example uses atp. Use wtafor the women's dataset.Returns the ranking points awarded per round in a given tournament and year.

Path Parameter

ParameterRequiredTypeDescription
atp|wtaYesstring
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.
tournamentYesstring
Tournament name ("EFG%20Swiss%20Open%20-%20Gstaad")
yearYesinteger
Year Value(2026)
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/tournament/atp/EFG%20Swiss%20Open%20-%20Gstaad/2026/points' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
winner / finalist / semiFinalist / quarterFinalist / fourth / third / second / firstobjectpoints and prize for that round.
qualifying / qualifyingSecond / qualifyingFirst / preQualifyingobjectQualifying-round points and prize.