Upcoming Events
GET
Returns a paginated list of upcoming tennis events with match details and pagination metadata./tennis/v2/extend/api/events/upcoming/{tour_type}Path Parameter
| Parameter | Required | Description |
|---|---|---|
{tour_type} | Yes | Tour type is "atp" or "wta" |
Query Parameter
| Parameter | Required | Description |
|---|---|---|
page | No | Page by default 1 |
limit | No | Limit by default 20 |
Get Live Events Count
GET
Returns the total number of currently live events./tennis/v2/extend/api/events/live/countGet Live Events
GET
Returns a list of all live events./tennis/v2/extend/api/events/liveResponse Properties
| Parameter | Type | Description |
|---|---|---|
id | string | Unique identifier (event id) of the live match in this API. |
name | string | Display name of the match, formatted as 'Player 1 vs Player 2'. |
participant1 | string | Name of the first player. |
participant2 | string | Name of the second player. |
league | string | Tournament or event name. |
score | string | Current match score. |
status | string | Current match status (Upcoming, InPlay, Finished, etc.). |
points | string | Current point score of the ongoing game. |
indicator | string | Internal live-state indicator used for serving/player status. |
tourType | string | Competition category (ATP, WTA, ITF, Challenger, etc.). |
startTimestamp | number | Scheduled match start time as a Unix timestamp (seconds). |
matchId | string | Maps 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. |
Get Event Details By Players And Date Only
GET
Retrieve an event by player names and date, including match details, scores, statistics, and timeline information./tennis/v2/extend/api/event/get/{player1}/{player2}/{date_only}Path Parameter
| Parameter | Required | Description |
|---|---|---|
player1 | Yes | First player display name (URL-encoded). E.g: Novak%20Djokovic |
player2 | Yes | Second player display name (URL-encoded). E.g: Jannik%20Sinner |
date_only | Yes | Target date in "YYYY-MM-DD" format. Example: 2025-06-02. |
Response Properties
| Parameter | Type | Description |
|---|---|---|
success | boolean | Indicates whether the request was successful. |
result | object | Contains the detailed information for the requested match. |
message | string | Response message returned by the API. |
result.status | string | Current match status (e.g. Upcoming, InPlay, Ended, Retired, Walkover). |
result.id | string | Unique identifier of the match in the Live API. |
result.startTimestamp | number | Scheduled match start time as a Unix timestamp (seconds). |
result.name | string | Display name of the match in 'Player 1 vs Player 2' format. |
result.participant1 | string | Name of the first player. |
result.participant2 | string | Name of the second player. |
result.league | string | Tournament or event where the match is played. |
result.score | string | Current or final set score of the match. |
result.indicator | string | Internal live-state indicator used for serving/player status. |
result.points | string | Current game point score (e.g. 15-30, 40-40). |
result.matchId | string | Maps 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.stats | object | Collection of available match statistics. Available statistics may vary depending on the match. |
result.stats.aces | array<string> | Number of aces by each player. Index 0 = participant1, Index 1 = participant2. |
result.stats.double_faults | array<string> | Number of double faults committed by each player. |
result.stats.win_1st_serve | array<string> | First serve win percentage for each player. |
result.stats.break_point_conversions | array<string> | Break point conversion percentage for each player. |
result.timeline | array<object> | Chronological list of important match events. |
result.timeline[].id | string | Unique identifier of the timeline event. |
result.timeline[].text | string | Human-readable description of the event, such as a game hold, break, or tie-break result. |
Get All Bookmakers
GET
Retrieves all available bookmakers./tennis/v2/extend/api/bookmakers/allGet All Markets
GET
Retrieves all available markets./tennis/v2/extend/api/markets/allGet Pre Match Odds
GET
Retrieve the latest pre-match betting odds for an event, including available markets, bookmakers, lines, and individual outcomes./tennis/v2/extend/api/odds/pre-match/{event_id}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Query Parameter
| Parameter | Required | Description |
|---|---|---|
market_ids | No | 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 |
Get Compared Odds By Market Id
GET
Compare the latest odds for a specific market across available bookmakers, including bookmaker details, market, line, and current odds./tennis/v2/extend/api/odds/compare/{event_id}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Query Parameter
| Parameter | Required | Description |
|---|---|---|
market_id | Yes | Market ID — Required market ID used to filter the results. E.g. market_id=1 You can see available market list |
Get Last 10 Odds Movements
GET
Retrieves last 10 odds movement across all markets and bookmakers./tennis/v2/extend/api/odds/summary/movements/last-10/{event_id}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Get Live Score
GET
Retrieves the live score for a specific event using its event ID. Data is returned only when the event is currently live./tennis/v2/extend/api/event/live-score/get/{event_id}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Get Points By Points
GET
Retrieves event points by points data./tennis/v2/extend/api/event/pbp/{player1_id}/{player2_id}/{tourId}/{roundId}Path Parameter
| Parameter | Required | Description |
|---|---|---|
{player1_id} | Yes | First Player Id. |
{player2_id} | Yes | Second Player Id. |
{tourId} | Yes | Tournament Id. |
{roundId} | Yes | Round Id. |
Get Event Timeline Data
GET
Retrieves event timeline data./tennis/v2/extend/api/event/timeline/{event_id}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Get Recent Odds Of The Event
GET
Retrieves recent odds of the event./tennis/v2/extend/api/event/recent-odds/get/{event_id}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Get Arbitrage Odds
GET
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./tennis/v2/extend/api/odds/arbitrage/{event_id}?market_id={marketId}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Query Parameter
| Parameter | Required | Description |
|---|---|---|
market_id | No | Market — Optional market ID to filter the results. E.g market_id=1 You can see available market list |
Response Properties
| Parameter | Type | Description |
|---|---|---|
success | boolean | Indicates whether the request was successful. |
result | object | Contains the calculated arbitrage analysis. |
result.arbitrage | boolean | Indicates whether an arbitrage opportunity exists based on the available odds. |
result.margin | number | The implied market margin calculated from the selected best odds. A value below 1 indicates an arbitrage opportunity. |
result.profitPercentage | number | The estimated guaranteed profit percentage if the arbitrage opportunity is executed correctly. |
result.bestOdds | object | The highest available odds selected for each outcome. |
result.bestOdds.outcome1 | object | Best available odds for the first outcome. |
result.bestOdds.outcome1.bookmakerId | number | Unique identifier of the bookmaker offering the best odds for outcome 1. |
result.bestOdds.outcome1.bookmaker | string | Name of the bookmaker offering the best odds for outcome 1. |
result.bestOdds.outcome1.odds | number | Highest available decimal odds for outcome 1. |
result.bestOdds.outcome2 | object | Best available odds for the second outcome. |
result.bestOdds.outcome2.bookmakerId | number | Unique identifier of the bookmaker offering the best odds for outcome 2. |
result.bestOdds.outcome2.bookmaker | string | Name of the bookmaker offering the best odds for outcome 2. |
result.bestOdds.outcome2.odds | number | Highest available decimal odds for outcome 2. |
result.bookmakersChecked | number | Total number of bookmakers included in the arbitrage calculation. |
Get Biggest Movements Odds
GET
Returns the largest odds movements between opening and closing prices across bookmakers and markets for an event./tennis/v2/extend/api/odds/biggest-movements/{event_id}?market_id={marketId}Path Parameter
| Parameter | Required | Description |
|---|---|---|
event_id | Yes | The unique identifier of the event. For example: 3815731 |
Query Parameter
| Parameter | Required | Description |
|---|---|---|
market_id | No | Market — Optional market ID to filter the results. E.g market_id=1 You can see available market list |
Response Properties
| Parameter | Type | Description |
|---|---|---|
success | boolean | Indicates whether the request was successful. |
count | number | Total number of odds movement records returned. |
results | array | List of the biggest odds movements. |
results[].marketId | number | Unique identifier of the betting market. |
results[].market | string | Name of the betting market. |
results[].bookmakerId | number | Unique identifier of the bookmaker. |
results[].bookmaker | string | Name of the bookmaker. |
results[].openingOd1 | string | Opening decimal odds for outcome 1. |
results[].closingOd1 | string | Closing decimal odds for outcome 1. |
results[].openingOd2 | string | Opening decimal odds for outcome 2. |
results[].closingOd2 | string | Closing decimal odds for outcome 2. |
results[].movementOd1 | string | Absolute movement in odds for outcome 1. |
results[].movementOd2 | string | Absolute movement in odds for outcome 2. |
results[].biggestMovement | string | Largest absolute odds movement between the two outcomes. |
results[].selection | string | The outcome with the largest movement ("outcome1" or "outcome2"). |