API Reference

Live Scores & Odds

Everything happening in a live match — scores, match stats, point-by-point and odds. All endpoints on this page are REST under /tennis/v2/extend/api/; for push updates see Socket.IO Integration (MEGA).

What's included

Live lists are singles; doubles stay on core fixtures.

⚠️
Three different IDs
  • Core fixture id — schedule row from /tennis/v2/{atp|wta}/fixtures. Do not send it to odds.
  • Live id (often a large number) — odds, timeline, and live score on this page.
  • matchId from the live event — split player1Id-player2Id-tournamentId-roundId for point-by-point. Not the live id.

Bridge names to a live event with /tennis/v2/extend/api/event/get/{player1}/{player2}/{YYYY-MM-DD}. Odds compare and arbitrage take the live id in the path and market_id as a query.

Live Events

GET/tennis/v2/extend/api/events/live
Returns a list of live singles matches. Empty results means nothing is in play right now — that is a valid 200. The sample is one live row at docs time; names and scores change.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/events/live' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
successbooleantrue when the live request succeeded.
resultsarrayLive matches. Empty when nothing is in play.
countintegerNumber of events in results.
idstringLive event ID for odds, timeline, and live score. Not a core fixture ID.
matchIdstringplayer1Id-player2Id-tournamentId-roundId. Split on - for the point-by-point path.
statusstringMatch state, e.g. InPlay, Upcoming, Ended.
scorestringSet score, e.g. 6-4,3-2.
pointsstringCurrent game points, e.g. 30-15.
indicatorstringWho is serving / which side is indicated in the current game.
tourTypestringatp or wta.
startTimestampintegerScheduled start as Unix seconds (UTC).

Live Event Count

GET/tennis/v2/extend/api/events/live/count
Returns how many tennis events are live right now, as a single number (result.count). Useful for a live-matches badge, or to decide whether to call Live Events. No pagination.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/events/live/count' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Upcoming Live-Feed Events

GET/tennis/v2/extend/api/events/upcoming/atp
This example uses atp. Use wtafor the women's dataset.Returns upcoming events with status Not Started. Only page is a query param — page size is always 50 (limit in the query string is ignored). Path dataset is atp or wta.

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.

Query Parameter

ParameterRequiredTypeDescription
pageNointeger
Page number, starting at 1. Default 1. Page size is fixed at 50.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/events/upcoming/atp' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
success / messagemixedRequest status.
resultsarrayUpcoming live-board events.
results[].idstringLive event id for odds/timeline routes.
results[].matchIdstringplayer1Id-player2Id-tournamentId-roundId for point-by-point.
paginationobjectpage, limit (always 50), total, totalPages, hasNext, hasPrev. Sending limit in the query does not change page size.

Event by Players and Date

GET/tennis/v2/extend/api/event/get/Daniil%20Medvedev/Kamil%20Majchrzak/2026-06-13
Retrieve an event by player names and date, including match details, scores, statistics, and timeline information.

Path Parameter

ParameterRequiredTypeDescription
player1Yesstring
First player display name (URL-encoded). E.g: Novak%20Djokovic
player2Yesstring
Second player display name (URL-encoded). E.g: Jannik%20Sinner
date_onlyYesstring
Target date in YYYY-MM-DD format. Example: 2026-09-15.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/get/Daniil%20Medvedev/Kamil%20Majchrzak/2026-06-13' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
successbooleanIndicates whether the request was successful.
resultobjectContains the detailed information for the requested match.
messagestringResponse message returned by the API.
result.statusstringCurrent match status (e.g. Upcoming, InPlay, Ended, Retired, Walkover).
result.idstringUnique identifier of the match in the Live API.
result.startTimestampnumberScheduled match start time as a Unix timestamp (seconds).
result.namestringDisplay name of the match in 'Player 1 vs Player 2' format.
result.participant1stringName of the first player.
result.participant2stringName of the second player.
result.leaguestringTournament or event where the match is played.
result.scorestringCurrent or final set score of the match.
result.indicatorstringInternal live-state indicator used for serving/player status.
result.pointsstringCurrent game point score (e.g. 15-30, 40-40).
result.matchIdstringMaps this event to the main Tennis API. Format: {player1_id}-{player2_id}-{tourId}-{roundId}. Example: 45191 = Player 1 ID, 59913 = Player 2 ID, 17112 = Tournament ID, 12 = Round ID.
result.statsobjectCollection of available match statistics. Available statistics may vary depending on the match.
result.stats.acesarray<string>Number of aces by each player. Index 0 = participant1, Index 1 = participant2.
result.stats.double_faultsarray<string>Number of double faults committed by each player.
result.stats.win_1st_servearray<string>First serve win percentage for each player.
result.stats.break_point_conversionsarray<string>Break point conversion percentage for each player.
result.timelinearray<object>Chronological list of important match events.
result.timeline[].idstringUnique identifier of the timeline event.
result.timeline[].textstringHuman-readable description of the event, such as a game hold, break, or tie-break result.

Live Event with Best Odds by Players and Date

GET/tennis/v2/extend/api/event/live/Anastasiia%20Sobolieva/Lea%20Boskovic/2026-09-15
Full live event row plus best Full Time Result odds. date_only must be YYYY-MM-DD. This is not /event/get/… (that route is the same lookup without the odds object).

Path Parameter

ParameterRequiredTypeDescription
player1Yesstring
First player display name (URL-encoded). E.g: Novak%20Djokovic
player2Yesstring
Second player display name (URL-encoded). E.g: Jannik%20Sinner
date_onlyYesstring
Target date in YYYY-MM-DD format. Example: 2026-09-15.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/live/Anastasiia%20Sobolieva/Lea%20Boskovic/2026-09-15' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
result.idstringLive event id for odds/timeline/live-score.
result.matchIdstringplayer1Id-player2Id-tournamentId-roundId for /event/pbp/.
result.oddsobjectBest Full Time Result prices across bookmakers.

Live Score by Event

GET/tennis/v2/extend/api/event/live-score/get/3979877
Retrieves the live score for a specific event using its event ID. Data is returned only when the event is currently live.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/live-score/get/3979877' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Point-by-Point by IDs

GET/tennis/v2/extend/api/event/pbp/29932/52279/21349/6
Retrieve points-by-point data for a match. Path segments come from the live event's matchId field (player1Id-player2Id-tournamentId-roundId), not from the live event id used for odds.

Path Parameter

ParameterRequiredTypeDescription
player1_idYesinteger
First Player ID (≥ 1).
player2_idYesinteger
Second Player ID (≥ 1).
tournament_idYesinteger
Tournament ID must be numeric value >= 1
round_idYesinteger
Round ID Example: roundId=9
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/pbp/29932/52279/21349/6' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Point-by-Point by Player Names and Date

GET/tennis/v2/extend/api/event/points-by-points/Taylor%20Fritz/Francisco%20Cerundolo/2026-09-05
Retrieve points-by-point data for a match. Path segments come from the live event's matchId field (player1Id-player2Id-tournamentId-roundId), not from the live event id used for odds.

Path Parameter

ParameterRequiredTypeDescription
player1Yesstring
First player display name (URL-encoded). E.g: Novak%20Djokovic
player2Yesstring
Second player display name (URL-encoded). E.g: Jannik%20Sinner
date_onlyYesstring
Target date in YYYY-MM-DD format. Example: 2026-09-15.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/points-by-points/Taylor%20Fritz/Francisco%20Cerundolo/2026-09-05' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Event Timeline

GET/tennis/v2/extend/api/event/timeline/2732239
Retrieves event timeline data.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/timeline/2732239' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Match Statistics by Event

GET/tennis/v2/extend/api/event/get/statistics/3969192
Set-by-set and match totals (service, return, points, games) for a live event. Empty result object when no stats row exists yet.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/get/statistics/3969192' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
result.player1 / player2stringDisplay names.
result.statisticsobjectBuckets 1ST, 2ND, … and ALL. Each has games, points, return, service, miscellaneous.
result.dateOnlystringMatch date YYYY-MM-DD.
result.idstringLive event id.

Live Odds by Event (Recent Movements)

GET/tennis/v2/extend/api/event/recent-odds/get/3263263
Returns the most recent odds for a live event, grouped by market and then bookmaker: od1, od2, odx (draw), line and addTime (when the price was recorded, Unix seconds). event_id is the live event ID from Live Events, not a Core fixture ID. No pagination.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/recent-odds/get/3263263' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Latest Odds by Event (All Markets)

GET/tennis/v2/extend/api/event/odds/latest-all/3969192
Latest live odds for every market, grouped by market then bookmaker. event_id is the live event id from /events/live (results[].id), not a core fixture id.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/odds/latest-all/3969192' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
eventIdstringThe live event id you sent.
resultobjectKeyed by market name. Each market is keyed by bookmaker name with od1/od2/odx, addTime, line.

Best Live Odds by Event

GET/tennis/v2/extend/api/event/odds/best/3969192
Best Full Time Result prices across bookmakers for this live event (highest od1 and od2). Other markets are not returned.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/odds/best/3969192' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
result.Full Time Result.od1 / od2stringBest moneyline for participant1 / participant2.
result.Full Time Result.od1Bookmaker / od2BookmakerstringBookmaker offering that price.

Odds by Market Name

GET/tennis/v2/extend/api/event/odds/by-market/3969192?market=Full%20Time%20Result
Latest odds for one market on a live event, keyed by bookmaker. Query market is the market name string (not market_id). Default is Full Time Result. Take names from /markets/all.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731

Query Parameter

ParameterRequiredTypeDescription
marketNostring
Market name. Default Full Time Result. Example: market=Over%20Under. This is not market_id.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/odds/by-market/3969192?market=Full%20Time%20Result' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
resultobjectKeyed by bookmaker name. Each value has od1, od2, odx, addTime, line.

Latest Odds by Player Names

GET/tennis/v2/extend/api/event/odds/query/Anastasiia%20Sobolieva/Lea%20Boskovic
Same latest-odds payload as /event/odds/latest-all/{event_id}, but looked up by URL-encoded display names. Uses the most recent matching event. Names can be in either order.

Path Parameter

ParameterRequiredTypeDescription
player1Yesstring
First player display name (URL-encoded). E.g: Novak%20Djokovic
player2Yesstring
Second player display name (URL-encoded). E.g: Jannik%20Sinner
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/event/odds/query/Anastasiia%20Sobolieva/Lea%20Boskovic' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
eventIdstringResolved live event id.
startTimestampnumberMatch start time of the resolved event (Unix seconds).
resultsobjectMarkets → bookmakers → od1/od2/addTime/line. Note the key is results, not result.

Odds Summary by Event

GET/tennis/v2/extend/api/odds/summary/3969192
Opening, kickoff, and latest (end) prices per bookmaker and market. Different from /odds/summary/movements/last-10/{event_id}.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/odds/summary/3969192' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
resultobjectBookmaker → market → start / kickoff / end objects (od1, od2, odx, sourceAddTime).

Last 10 Odds Movements

GET/tennis/v2/extend/api/odds/summary/movements/last-10/3979877
Retrieves last 10 odds movement across all markets and bookmakers.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/odds/summary/movements/last-10/3979877' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Compare Bookmaker Odds

GET/tennis/v2/extend/api/odds/compare/3700653?market_id=1
Compare the latest odds for a specific market across available bookmakers, including bookmaker details, market, line, and current odds.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731

Query Parameter

ParameterRequiredTypeDescription
market_idYesstring

Market ID — Required market ID used to filter the results. E.g. market_id=1

You can see available market list
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/odds/compare/3700653?market_id=1' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Biggest Odds Movements

GET/tennis/v2/extend/api/odds/biggest-movements/3700653?market_id=1
Returns the largest odds movements between opening and closing prices across bookmakers and markets for an event.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731

Query Parameter

ParameterRequiredTypeDescription
market_idNostring

Market — Optional market ID to filter the results. E.g market_id=1

You can see available market list
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/odds/biggest-movements/3700653?market_id=1' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
successbooleanIndicates whether the request was successful.
countnumberTotal number of odds movement records returned.
resultsarrayList of the biggest odds movements.
results[].marketIdnumberUnique identifier of the betting market.
results[].marketstringName of the betting market.
results[].bookmakerIdnumberUnique identifier of the bookmaker.
results[].bookmakerstringName of the bookmaker.
results[].openingOd1stringOpening decimal odds for outcome 1.
results[].closingOd1stringClosing decimal odds for outcome 1.
results[].openingOd2stringOpening decimal odds for outcome 2.
results[].closingOd2stringClosing decimal odds for outcome 2.
results[].movementOd1stringAbsolute movement in odds for outcome 1.
results[].movementOd2stringAbsolute movement in odds for outcome 2.
results[].biggestMovementstringLargest absolute odds movement between the two outcomes.
results[].selectionstringThe outcome with the largest movement ("outcome1" or "outcome2").

Pre-Match Odds

GET/tennis/v2/extend/api/odds/pre-match/3815731
Retrieve the latest pre-match betting odds for an event, including available markets, bookmakers, lines, and individual outcomes.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731

Query Parameter

ParameterRequiredTypeDescription
market_idsNostring

Market — Optional comma-separated market IDs to filter the results. For example: 1,2,3,4. If omitted, odds from all available markets are returned. E.g market_ids=1,2,3,4

You can see available market list
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/odds/pre-match/3815731' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Odds Arbitrage

GET/tennis/v2/extend/api/odds/arbitrage/3700653?market_id=1
Identifies arbitrage opportunities by comparing the best available odds across bookmakers, including the expected profit percentage and bookmakers offering the optimal odds for each outcome.

Path Parameter

ParameterRequiredTypeDescription
event_idYesinteger
Live event ID from GET /events/live (results[].id). Not a core fixture id. Example: 3815731

Query Parameter

ParameterRequiredTypeDescription
market_idNostring

Market — Optional market ID to filter the results. E.g market_id=1

You can see available market list
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/odds/arbitrage/3700653?market_id=1' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
successbooleanIndicates whether the request was successful.
resultobjectContains the calculated arbitrage analysis.
result.arbitragebooleanIndicates whether an arbitrage opportunity exists based on the available odds.
result.marginnumberThe implied market margin calculated from the selected best odds. A value below 1 indicates an arbitrage opportunity.
result.profitPercentagenumberThe estimated guaranteed profit percentage if the arbitrage opportunity is executed correctly.
result.bestOddsobjectThe highest available odds selected for each outcome.
result.bestOdds.outcome1objectBest available odds for the first outcome.
result.bestOdds.outcome1.bookmakerIdnumberUnique identifier of the bookmaker offering the best odds for outcome 1.
result.bestOdds.outcome1.bookmakerstringName of the bookmaker offering the best odds for outcome 1.
result.bestOdds.outcome1.oddsnumberHighest available decimal odds for outcome 1.
result.bestOdds.outcome2objectBest available odds for the second outcome.
result.bestOdds.outcome2.bookmakerIdnumberUnique identifier of the bookmaker offering the best odds for outcome 2.
result.bestOdds.outcome2.bookmakerstringName of the bookmaker offering the best odds for outcome 2.
result.bestOdds.outcome2.oddsnumberHighest available decimal odds for outcome 2.
result.bookmakersCheckednumberTotal number of bookmakers included in the arbitrage calculation.

Bookmakers

GET/tennis/v2/extend/api/bookmakers/all
Retrieves all available bookmakers.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/bookmakers/all' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Odds Markets

GET/tennis/v2/extend/api/markets/all
Retrieves all available markets.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/markets/all' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

WebSocket Token

GET/tennis/v2/extend/api/ws-token
Returns a Socket.IO auth token for Mega plan subscribers. Use this token (not the RapidAPI key) when connecting to https://live.matchstat.com. Full connect examples are on the Socket.IO page.
Example Request: CURL
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/extend/api/ws-token' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'

Response Properties

FieldTypeDescription
tokenstringJWT for Socket.IO auth. Refresh when the socket reports TOKEN_EXPIRED.