What the API does and who it is for
Tennis API - ATP WTA ITF is built around the dataset that powers matchstat.com, a public tennis stats and predictions site. That lineage matters: the data has been in active development for over 20 years and covers professional tennis at every competitive level — Grand Slams, ATP Finals, ATP Masters 1000/500/250, ATP Challenger events down to the 50-point tier, ITF Men's M25 and M15, WTA Finals, WTA 1000/500/250/125, ITF Women's W100 through W15, plus team events such as the Davis Cup, Billie Jean King Cup, United Cup, and Laver Cup.
The API suits a wide range of builder profiles: sports media sites needing live scores and tournament draws, betting platforms requiring in-play odds and prediction data, analytics tools digging into career statistics, and fantasy sports applications tracking real-time rankings and form.
Key capabilities and endpoint walkthrough
The API ships with 100 endpoints organized into logical groups. All data-bearing routes follow the pattern /tennis/v2/{type}/..., where {type} switches between ATP and WTA contexts.
Fixtures and schedules
Five fixture endpoints cover every scheduling need: all upcoming fixtures, fixtures scoped to a single tournament, fixtures within a date range, fixtures between two specific players, and fixtures for a single player. Include options let callers embed related objects such as tournament, odds, round, and h2h directly in the response, reducing round trips. This is a well-designed inclusion pattern that keeps response shapes predictable.
Player data
The player group is the deepest section. Individual endpoints handle:
- Full player profiles with optional
formandrankingincludes - Performance breakdowns that differentiate stats with and without lower-level events and qualifying rounds
- Career titles counted by tournament rank
- Match stats and past matches, both filterable by year, court surface, round, and tournament
- Surface win/loss summaries by year
- Finals appearances
- Career record at a specific tournament (
/player/tournament-record/{playerId}/{tournamentId}) - A filter-discovery endpoint that tells callers which filter values are valid for a given player — a thoughtful QoL addition that prevents empty-result queries
Head-to-head
The H2H group provides granular comparison tools: aggregate H2H stats, a full list of past meetings, per-match stats for a specific tournament pairing, and a "vs all opponents" stats endpoint that summarizes a player's career numbers against the field rather than a single rival. Filters on all H2H endpoints accept multiple years, courts, rounds, and opponents simultaneously.
Tournaments
Tournament endpoints return past champions, season history, match results with rich include options, and a year calendar listing every tournament. Because each tournament season carries its own ID (seasonId/tournamentId), callers need to first query /tournament/seasons/{tourid} to map a year to the correct ID before fetching results.
Rankings
Singles and doubles rankings support date-based lookups (RankingDate) and country filtering, making it straightforward to reconstruct historical ranking snapshots or filter to a specific nation's players.
Extended features: live data, odds, and WebSocket
The extend group is where tier-gated features live:
- Live events — returns all currently active matches with status and data
- Point-by-point data — granular PBP for a specific match identified by participant IDs, tournament ID, and round ID
- Odds summary and recent odds — per-event endpoints returning start, kickoff, and latest odds; historical odds reach back to around 2010 from Marathon Bet and Pinnacle; pre-match and in-play odds are sourced from Marathon Bet, Pinnacle, bet365, DraftKings, and MelBet
- WebSocket token — the
/extend/api/ws-tokenendpoint issues a token for establishing a Socket.IO/WebSocket connection delivering real-time push updates for scores, odds, and match events
Odds and predictions are available from the ULTRA plan upward. WebSocket access is exclusive to the MEGA plan.
Pricing breakdown
| Plan | Price | Monthly requests | Rate limit | Overage per request |
|---|---|---|---|---|
| BASIC | $0 | 50 per day | 4 req/sec | — |
| PRO | $29/mo | 150,000 | 10 req/sec | $0.0030 |
| ULTRA (recommended) | $59/mo | 1,200,000 | 25 req/sec | $0.0030 |
| MEGA | $99/mo | 3,800,000 | 50 req/sec | $0.0030 |
The BASIC tier's 50 requests per day is genuinely tight. At that quota you can run a small prototype that checks today's fixtures and a handful of player profiles, but it is not enough to power even a lightly trafficked page with multiple API calls per view. Most production deployments will need PRO at minimum.
PRO's 150,000 monthly requests works out to roughly 5,000 per day — viable for a low-traffic application that caches aggressively. ULTRA's 1.2 million requests per month is the crossover point where odds and prediction data unlock, making it the natural choice for betting-adjacent products. MEGA adds WebSocket push and triples ULTRA's quota for applications that need real-time streaming without polling.
Overage on paid plans costs $0.003 per request across PRO, ULTRA, and MEGA — predictable but worth monitoring if live scores trigger frequent polling during a Grand Slam.
Practical use cases
Sports media and editorial sites can combine the fixtures, live score, and tournament draw endpoints to build schedule pages and match trackers across all tour levels from a single API key.
Betting and odds comparison tools benefit most from the ULTRA or MEGA tier, where pre-match and in-play odds from multiple bookmakers are available alongside prediction data. The odds movement history dating back to 2010 enables model training on line movement patterns.
Fantasy sports and ranking trackers can use the singles/doubles ranking endpoints with historical date support to show ranking trajectories, combined with surface summaries and tournament records to calculate custom player ratings.
Analytics and research applications can leverage the career statistics endpoints — filtered by year, surface, round, or opponent ranking — to build the kind of granular serve and return breakdowns that drive expected-value models.
Limitations and things to verify before integrating
Success rate sits at 94%, which is solid but means roughly 6 in 100 requests will fail. Applications should implement retry logic and treat live-score polling with appropriate error handling.
Latency averages 205 ms. For a server-side data fetch that runs once per page load this is acceptable; for high-frequency polling during live matches the latency compounds with request quotas and should be factored into architecture decisions.
Tier-gated features require careful plan selection upfront. If odds or predictions are core to your product, you must be on ULTRA or higher; if real-time WebSocket push is required, only the MEGA plan provides the WS token endpoint. Rebuilding on a higher plan mid-project is straightforward but worth planning for.
ID-based addressing appears throughout the API — tournament season IDs, participant IDs, round IDs, and tournament IDs are all required in various endpoints. Budget time for a discovery phase in which you query list and search endpoints to build a local map of the identifiers your application needs.
Filter discovery endpoints exist for both player and H2H routes (/player/filter/{player}, /h2h/filter/{player1}/{player2}) and should be called before constructing heavily filtered queries to ensure valid filter values.
Getting started
The API is available on the RapidAPI marketplace. Subscribing to the BASIC plan requires no credit card and lets you explore the endpoint structure immediately. The official documentation lives at docs.tennis-api.com, with a secondary reference at tennisapidoc.matchstat.com. The matchstat.com site itself demonstrates what the data looks like assembled into a finished product, which is a useful reference when planning your own data model.
For custom volume requirements or plans exceeding the published tiers, the provider accepts inquiries at [email protected].