Built for serious tennis products

Everything you need to build a serious tennis product — in one API.

From live match data to historical odds and advanced player intelligence, get the tennis data your product needs through one consistent API.

⚡

Real-Time Match Data

Live scores, match stats, point-by-point action, event timelines, real-time updates and live odds — ready for scoreboards, betting products and data-driven applications.

📊

Advanced Player Intelligence

Go beyond basic H2H with rankings, recent form, surface splits, tournament-specific performance, detailed service and return stats, and deeper comparisons against direct opponents and similar rivals.

💰

Odds & Predictions

Access pre-match odds, in-play odds, odds movement, historical odds going back as far as 2010, and probabilities for upcoming matches. Historical coverage includes Marathon Bet and Pinnacle, with pre-match and live odds from Marathon Bet, Pinnacle, bet365, DraftKings and MelBet.

🎾

Complete Tennis Coverage

Players, matches, fixtures, draws, rankings and tournament analytics across ATP, WTA, ITF, Grand Slams, Masters and Challengers — all through a consistent API.

Real-Time WebSockets

MEGA

MEGA plans include push-based updates for live scores, odds and match events, so you can stream changes as they happen without constant polling.

One API. Live data, deep stats, odds, predictions and the infrastructure to build at scale. If you need support, please contact us at api@tennis-api.com

âš ī¸
One listing includes every path family

If you subscribe to Tennis API - ATP WTA ITF, core, advanced, and live routes share that product (some live and Socket.IO routes require Ultra or Mega). Listing: RapidAPI product page. Do not mix another product's host with a path from this listing.

â„šī¸
Ready to integrate?

Use the Getting Started guide for your first request, then the FAQ if a path, query, or identifier looks wrong. All endpoints are available on RapidAPI.

Understanding Tennis API

Many failed first requests mix path prefixes, player identifiers, or query names. Use one host, then choose Core or name-based routes (/tennis/v2/), or Live (/extend/api/). Details: Getting Started and FAQ.

URL Structure

Every Tennis API endpoint follows the same URL structure:

https://{host}/tennis/v2/{feature-specific-path}

You only need to determine:

  1. The correct host for your subscribed product.
  2. The correct feature-specific path after/tennis/v2/.
ProductHostPath PrefixWhat it contains
Tennis API - ATP WTA ITFtennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/
/tennis/v2/extend/api/
One subscription. Keep this host and pick the prefix for the data you need:
  • /tennis/v2/ — Core fixtures, players, rankings, tournament seasons. Append {atp|wta}/ then the module (e.g. /atp/fixtures). Players are numeric IDs.
  • /tennis/v2/ followed by a module name (e.g. /profile/â€Ļ, /h2h/â€Ļ, /tournament/â€Ļ, /upcoming/â€Ļ) — name-based stats, H2H, draws and predictions. Players are display names (or numeric IDs).
  • /tennis/v2/extend/api/ — Live & Odds (live scores, point-by-point, odds). Live event IDs are not core fixture IDs.

Feature-Specific Paths

Data typePathExamples
Core/tennis/v2/atp/fixtures, wta/ranking/singles
Name-based stats & predictions/tennis/v2/ + profile, h2h, tournament, upcomingâ€ĻH2H, career statistics, calendar, draws, match predictions
Live & odds/tennis/v2/extend/api/Live scores, live odds, point-by-point
â„šī¸
Core uses numeric IDs — name-based routes use display names

Core player and fixture routes take integer IDs. Name-based profile and H2H routes take the player's display name (URL-encoded) or that same numeric ID. Slugs such as sinner-jannik are not accepted. See identifiers.

Versioning

The current API version is v2. The two canonical prefixes are /tennis/v2/ (core and name-based routes) and /tennis/v2/extend/api/ (live and odds).

Tour Types

Core and many advanced routes take {atp|wta} in the path:

ValueTourDescription
atpATPMen's tennis across all supported levels, including Grand Slams, ATP Tour, Challengers and ITF
wtaWTAWomen's tennis across all supported levels, including Grand Slams, WTA Tour and ITF

There is no separate itf value (HTTP 400). Filter ITF or Challenger rows with TourRank from GET /ranking.

Authentication

This API is distributed through RapidAPI. Every request must include two headers:

HeaderValue
X-RapidAPI-KeyYour RapidAPI subscription key
X-RapidAPI-HostE.g: tennis-api-atp-wta-itf.p.rapidapi.com
â„šī¸
Where to get your key Subscribe to the Tennis API on RapidAPI to receive your 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 StatusMeaning
200Success — response body contains the data.
400Bad Request — invalid parameters (e.g. wrong date format, invalid ID).
401Unauthorized — missing or invalid X-RapidAPI-Key.
403Forbidden — wrong host header or plan restriction.
404Not Found — the resource or endpoint does not exist.
429Too Many Requests — rate limit exceeded.
500Internal Server Error — unexpected server issue.