Tennis API Β· ATP Β· WTA Β· ITF
API Documentation
Welcome to the official Tennis API documentation.
Explore a complete range of endpoints covering player profiles, career statistics, match data, head-to-head records, fixtures, live scores, odds, predictions, rankings, tournaments and supporting tennis metadata.
The API includes detailed player profiles with match history, titles, finals, surface summaries, player photos and performance breakdowns, plus full career statistics with filters by year, surface, round, tournament and timeframe. Available stats include aces, serve and return performance, tiebreaks, deciding sets, average opponent ranking and more.
You can also access recent and historical match data, advanced H2H comparisons, fixtures and schedules, tournament draws, player rankings, search endpoints and tournament analytics. Coverage includes ATP, WTA, ITF, Grand Slam, Masters and Challenger-level data.
Premium endpoints include live tennis scores, event timelines, point-by-point data, real-time match updates, match odds, player odds, live in-play odds, historical odds, odds movement and tennis predictions for upcoming matches.
WebSocket access is available on the MEGA plan for real-time push updates covering live scores, odds and match events. Odds and prediction endpoints are available on ULTRA and MEGA plans, with historical odds coverage, including Marathon Bet and Pinnacle, plus pre-match and in-play odds from Marathon Bet, Pinnacle, bet365, DraftKings and MelBet.
If you are subscribed to our top level product "Tennis API - ATP WTA ITF" then absolutely ALL our endpoints are included in that, and you will have access to all of them (only some endpoints are limited to higher level plans). You can see this product here.
See the Base URLs section below for all 5 products and their paths.
If you need support, please contact us at api@tennis-api.com
Understanding Tennis API Products
Many integration issues occur because users mix different products, hosts, and path prefixes. This guide explains how the Tennis API products are organized and how to build the correct request URL.
URL Structure
Every Tennis API endpoint follows the same URL structure:
https://{host}/tennis/v2/{feature-specific-path}You only need to determine:
- The correct host for your subscribed product.
- The correct feature-specific path after
/tennis/v2/.
Common Base Path
/tennis/v2/ is the common base path for every Tennis API product. Regardless of which product you are using, every request begins with:
https://{host}/tennis/v2/The only things that change are:
- The host
- The path after
/tennis/v2/
Path Structure
https://{host}/tennis/v2/
β
βββββββββββββββββββββΌββββββββββββββββββββββββββ
β β β
Core API ms-api(Advanced) extend/api/
β β β
Fixtures Stats & H2H Live Scores
Rankings Predictions Live Odds
Players Historical Point-by-Point
Tournaments StatisticsChoose the Correct Host
The URL structure remains exactly the same for every product. Only the host changes.
| Product | Host | Path Prefix | What it contains |
|---|---|---|---|
| Tennis API - ATP WTA ITF | tennis-api-atp-wta-itf.p.rapidapi.com | /tennis/v2//tennis/v2/extend/api/ /tennis/v2/ms-api/ | Complete Tennis API with access to all endpoints, including Core, Tennis Stats API,Tennis Predictions API, Tennis Live API, and Tennis Odds API. All endpoints share the common base path/tennis/v2/. Additional features are accessed by extending the path:
tennis-api-atp-wta-itf.p.rapidapi.com as the host and append the appropriate path prefix for the API you want to use. |
| Tennis Stats API | tennis-stats-api.p.rapidapi.com | /tennis/v2/ms-api/ | H2H, advanced player stats, historical stats and more. |
| Tennis Predictions API | tennis-predictions-api.p.rapidapi.com | /tennis/v2/ms-api/ | Match predictions, probabilities and more. |
| Tennis Live API | tennis-live-api.p.rapidapi.com | /tennis/v2/extend/api/ | Live scores, live events, point-by-point data, live odds, and more. This product accepts either Tennis Core player IDs or player names in query parameters. |
| Tennis Odds API | tennis-odds-api.p.rapidapi.com | /tennis/v2/extend/api/ | Live odds, movements, arbitrage and more. This product accepts either Tennis Core player IDs or player names in query parameters. |
Product-Specific Example URLs
Tennis API - ATP WTA ITF Structure
https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/{API_PATH}
https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/{API_PATH}
https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/{API_PATH}Tennis Stats API Structure
https://tennis-stats-api.p.rapidapi.com/tennis/v2/ms-api/{API_PATH}Tennis Predictions API Structure
https://tennis-predictions-api.p.rapidapi.com/tennis/v2/ms-api/{API_PATH}Tennis Live API Structure
https://tennis-live-api.p.rapidapi.com/tennis/v2/extend/api/{API_PATH}Tennis Odds API Structure
https://tennis-odds-api.p.rapidapi.com/tennis/v2/extend/api/{API_PATH}Quick Start Video
Watch this short interactive guide to make your first API request in under five minutes.
Real-time Features
Base URLs β 5 Different Products
The Tennis API is split across 5 different products, each with its own base URL and RapidAPI subscription. Use the correct URL and host header for the product you"re accessing:
Versioning
The current API version is v2. All endpoints use the path prefix /tennis/v2/.
Authentication
This API is distributed through RapidAPI. Every request must include two headers:
| Header | Value |
|---|---|
X-RapidAPI-Key | Your RapidAPI subscription key |
X-RapidAPI-Host | E.g: tennis-api-atp-wta-itf.p.rapidapi.com |
X-RapidAPI-Key. Free and paid tiers are available.Rate Limits
A global throttle of 100 requests per minute per IP is enforced server-side. Exceeding this limit returns HTTP 429 Too Many Requests. Your RapidAPI plan may impose additional quota limits.
Error Codes
| HTTP Status | Meaning |
|---|---|
200 | Success β response body contains the data. |
400 | Bad Request β invalid parameters (e.g. wrong date format, invalid ID). |
401 | Unauthorized β missing or invalid X-RapidAPI-Key. |
403 | Forbidden β wrong host header or plan restriction. |
404 | Not Found β the resource or endpoint does not exist. |
429 | Too Many Requests β rate limit exceeded. |
500 | Internal Server Error β unexpected server issue. |