Get Player Profile

GET/tennis/v2/ms-api/profile/{name}
Returns full biographical, ranking, and career data for a player.

Path Parameter

ParameterType
{name}Requiredstring
Player display name (URL-encoded)
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "name": "Novak Djokovic",
  "birthday": "1987-05-22T00:00:00.000Z",
  "information": {
    "turnedPro": "2003",
    "weight": "77",
    "height": "188",
    "birthplace": "Belgrade, Serbia",
    "residence": "Monte Carlo, Monaco",
    "plays": "Right-Handed",
    "coach": "",
    "site": "https://novakdjokovic.com",
    "twitter": "https://www.atptour.com/en/players/novak-djokovic/d643/overview",
    "instagram": "https://www.facebook.com/djokovicofficial",
    "facebook": "https://www.instagram.com/djokernole",
    "playerStatus": "Active",
    "backhand": "Two-Handed"
  },
  "country": {
    "name": "Serbia",
    "acronym": "SRB"
  },
  "currentRank": 8,
  "careerMoney": 139310065,
  "type": "atp",
  "image": "/tennis/api2/uploads/Photo/atp/05992.jpg",
  "image_p_name": "/tennis/api2/uploads/Photo/atp_name/novak_djokovic.jpg",
  "finalYears": [
    2025,
    "... rest"
  ]
}

Get Player Statistics

GET/tennis/v2/ms-api/profile/{name}/statistics
Returns win/loss record and match count statistics for the current season or full career

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/statistics' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "recentGames": [
    "l",
    "l",
    "w",
    "w",
    "l",
    "w",
    "w",
    "w",
    "w",
    "w"
  ],
  "currentRank": 8,
  "bestRank": {
    "position": 1,
    "date": "2011-07-04T00:00:00.000Z"
  },
  "mainTours": "29-8",
  "tourFinals": "6-2",
  "master": "40-20",
  "grandSlam": "24-14",
  "cups": "11-4",
  "futures": "2-0",
  "challengers": "3-0",
  "total": "1279-261",
  "favouriteCourt": {
    "wins": 561,
    "losses": 93,
    "surfaceId": 1,
    "surface": "Hard"
  },
  "totalTitles": 106,
  "totalTitlesWon": 101,
  "totalFinalsWon": 5
}

Get Surface Summary

GET/tennis/v2/ms-api/profile/{name}/surface-summary
Returns win/loss breakdown and win percentage per surface type

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/surface-summary' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
[
  {
    "year": 2026,
    "sum": {
      "w": 14,
      "l": 4
    },
    "hard": {
      "w": 7,
      "l": 2
    },
    "ihard": {
      "w": 0,
      "l": 0
    },
    "clay": {
      "w": 2,
      "l": 2
    },
    "grass": {
      "w": 5,
      "l": 0
    }
  }
]

Get Played Matches

GET/tennis/v2/ms-api/profile/{name}/matches-played
Returns paginated match history with opponent names, scores, tournament info, and round

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"

Query Parameter

ParameterType
{surface}Optionalstring
Filter by surface: "hard", "clay", "grass" etc, e.g. surface=hard
{tournament}Optionalstring
Filter by tournament name substring, e.g. tournament="Wimbledon%20-%20London"
{year}Optionalinteger
Filter by seasons year, e.g. year=2026
{limit}Optionalinteger
Results per page, e.g. limit=20
{page}Optionalinteger
Page number default: 1, e.g. page=1
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/matches-played' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "name": "Novak Djokovic",
  "birthday": "1987-05-22T00:00:00.000Z",
  "information": {
    "turnedPro": "2003",
    "weight": "77",
    "height": "188",
    "birthplace": "Belgrade, Serbia",
    "residence": "Monte Carlo, Monaco",
    "plays": "Right-Handed",
    "coach": "",
    "site": "https://novakdjokovic.com",
    "twitter": "https://www.atptour.com/en/players/novak-djokovic/d643/overview",
    "instagram": "https://www.facebook.com/djokovicofficial",
    "facebook": "https://www.instagram.com/djokernole",
    "playerStatus": "Active",
    "backhand": "Two-Handed"
  },
  "country": {
    "name": "Serbia",
    "acronym": "SRB"
  },
  "currentRank": 8,
  "careerMoney": 139310065,
  "type": "atp",
  "image": "/tennis/api2/uploads/Photo/atp/05992.jpg",
  "image_p_name": "/tennis/api2/uploads/Photo/atp_name/novak_djokovic.jpg",
  "finalYears": [
    2025,
    2024,
    2023,
    "..."
  ]
}

Get Finals By Year

GET/tennis/v2/ms-api/profile/{name}/finals/{year}
Returns all tournament finals the player reached in the given year, with result (won/lost)

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"
{year}Requiredinteger
4-digit season year, e.g. "2024"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/finals/2024' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "titles": [
    {
      "court": "Clay",
      "country": {
        "name": "France",
        "acronym": "FRA"
      },
      "name": "Olympics - Paris",
      "date": "2024-07-29T00:00:00.000Z",
      "rankId": 9,
      "prize": null
    }
  ],
  "finals": [
    {
      "court": "Grass",
      "country": {
        "name": "Great Britain",
        "acronym": "GBR"
      },
      "name": "Wimbledon - London",
      "date": "2024-07-01T00:00:00.000Z",
      "rankId": 4,
      "prize": "L50M"
    },
    {
      "court": "Hard",
      "country": {
        "name": "China",
        "acronym": "CHN"
      },
      "name": "Shanghai Rolex Masters - Shanghai",
      "date": "2024-09-30T00:00:00.000Z",
      "rankId": 3,
      "prize": "$10.2M"
    }
  ]
}

Get Match Stat By Year

GET/tennis/v2/ms-api/profile/{name}/match-stat/{year}
Returns aggregated serve and return statistics for a player across all matches in a given year

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"
{year}Required
stringinteger
4-digit year (e.g. "2024") or "all" for career totals
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/match-stat/2024' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "games": 45,
  "playerWins": 700,
  "opponentWins": 497,
  "serviceStats": {
    "acesGm": {
      "value": 299,
      "count": 598.5
    },
    "doubleFaultsGm": {
      "value": 107,
      "count": 598.5
    },
    "firstServe": {
      "value": 2337,
      "count": 3644
    },
    "winningOnFirstServe": {
      "value": 1761,
      "count": 2337
    },
    "winningOnSecondServe": {
      "value": 724,
      "count": 1307
    },
    "srwPtsWin": {
      "value": 2485,
      "count": 3644
    }
  },
  "returnStats": {
    "opponentAcesGm": {
      "value": 263,
      "count": 598.5
    },
    "opponentDoubleFaultsGm": {
      "value": 125,
      "count": 598.5
    },
    "opponentFirstServe": {
      "value": 2393,
      "count": 3819
    },
    "opponentWinningOnFirstServe": {
      "value": 795,
      "count": 2393
    },
    "opponentWinningOnSecondServe": {
      "value": 786,
      "count": 1424
    },
    "opponentSrwPtsWin": {
      "value": 1581,
      "count": 3817
    }
  },
  "breakPointsServe": {
    "breakPointSavedGm": {
      "value": 158,
      "count": 598.5
    },
    "breakPointFacedGm": {
      "value": 242,
      "count": 598.5
    },
    "breakPointSave": {
      "value": 158,
      "count": 242
    },
    "serviceHold": {
      "value": 514.5,
      "count": 598.5
    }
  },
  "breakPointsRtn": {
    "breakPointWonGm": {
      "value": 174,
      "count": 598.5
    },
    "breakPointChanceGm": {
      "value": 417,
      "count": 598.5
    },
    "breakPointWon": {
      "value": 174,
      "count": 417
    },
    "opponentHold": {
      "value": 424.5,
      "count": 598.5
    }
  }
}

Get Player Status

GET/tennis/v2/ms-api/profile/{name}/player-status
Returns whether the player is currently active or retired

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/player-status' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "status": "Active"
}

Get Breakdown Performance

GET/tennis/v2/ms-api/profile/{name}/breakdown
Returns win/loss records broken down by round, tournament level, and opponent ranking range

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"

Query Parameter

ParameterType
{includeAll}Optionalboolean
Include all career years (default: current season), e.g. includeAll=true
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/breakdown' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "2026": {
    "court": {
      "0": {
        "w": 0,
        "l": 0
      },
      "1": {
        "w": 19,
        "l": 2
      },
      "2": {
        "w": 18,
        "l": 1
      },
      "5": {
        "w": 6,
        "l": 0
      }
    },
    "round": {
      "4": {
        "w": 4,
        "l": 0
      },
      "5": {
        "w": 8,
        "l": 1
      },
      "6": {
        "w": 7,
        "l": 0
      },
      "7": {
        "w": 6,
        "l": 0
      },
      "9": {
        "w": 7,
        "l": 1
      },
      "10": {
        "w": 6,
        "l": 1
      },
      "12": {
        "w": 5,
        "l": 0
      }
    },
    "rank": {
      "top1": {
        "w": 1,
        "l": 0
      },
      "top5": {
        "w": 5,
        "l": 1
      },
      "top10": {
        "w": 9,
        "l": 1
      },
      "top20": {
        "w": 12,
        "l": 2
      },
      "top50": {
        "w": 27,
        "l": 2
      },
      "top100": {
        "w": 37,
        "l": 3
      }
    },
    "level": {
      "masters": {
        "w": 29,
        "l": 0
      },
      "tourFinals": {
        "w": 0,
        "l": 0
      },
      "mainTour": {
        "w": 2,
        "l": 1
      },
      "grandSlam": {
        "w": 12,
        "l": 2
      },
      "cups": {
        "w": 0,
        "l": 0
      },
      "futures": {
        "w": 0,
        "l": 0
      },
      "challengers": {
        "w": 0,
        "l": 0
      },
      "total": {
        "w": 43,
        "l": 3
      }
    },
    "levelFinals": {
      "masters": {
        "w": 5,
        "l": 0
      },
      "tourFinals": {
        "w": 0,
        "l": 0
      },
      "mainTour": {
        "w": 0,
        "l": 0
      },
      "grandSlam": {
        "w": 0,
        "l": 0
      },
      "cups": {
        "w": 0,
        "l": 0
      },
      "futures": {
        "w": 0,
        "l": 0
      },
      "challengers": {
        "w": 0,
        "l": 0
      },
      "total": {
        "w": 43,
        "l": 3
      }
    }
  },
  "career": {
    "court": {
      "0": {
        "w": 0,
        "l": 0
      },
      "1": {
        "w": 181,
        "l": 49
      },
      "2": {
        "w": 116,
        "l": 46
      },
      "3": {
        "w": 115,
        "l": 25
      },
      "4": {
        "w": 0,
        "l": 1
      },
      "5": {
        "w": 37,
        "l": 12
      }
    },
    "round": {
      "0": {
        "w": 1,
        "l": 0
      },
      "1": {
        "w": 11,
        "l": 11
      },
      "2": {
        "w": 6,
        "l": 4
      },
      "3": {
        "w": 7,
        "l": 2
      },
      "4": {
        "w": 79,
        "l": 18
      },
      "5": {
        "w": 96,
        "l": 35
      },
      "6": {
        "w": 54,
        "l": 8
      },
      "7": {
        "w": 29,
        "l": 8
      },
      "8": {
        "w": 15,
        "l": 2
      },
      "9": {
        "w": 57,
        "l": 19
      },
      "10": {
        "w": 47,
        "l": 14
      },
      "12": {
        "w": 35,
        "l": 11
      },
      "13": {
        "w": 1,
        "l": 0
      },
      "14": {
        "w": 10,
        "l": 1
      },
      "16": {
        "w": 1,
        "l": 0
      }
    },
    "rank": {
      "top1": {
        "w": 6,
        "l": 2
      },
      "top5": {
        "w": 34,
        "l": 29
      },
      "top10": {
        "w": 68,
        "l": 37
      },
      "top20": {
        "w": 104,
        "l": 47
      },
      "top50": {
        "w": 201,
        "l": 68
      },
      "top100": {
        "w": 308,
        "l": 85
      }
    },
    "level": {
      "masters": {
        "w": 123,
        "l": 30
      },
      "tourFinals": {
        "w": 2,
        "l": 1
      },
      "mainTour": {
        "w": 117,
        "l": 37
      },
      "grandSlam": {
        "w": 102,
        "l": 23
      },
      "cups": {
        "w": 15,
        "l": 1
      },
      "futures": {
        "w": 47,
        "l": 25
      },
      "challengers": {
        "w": 30,
        "l": 15
      },
      "total": {
        "w": 449,
        "l": 133
      }
    },
    "levelFinals": {
      "masters": {
        "w": 10,
        "l": 4
      },
      "tourFinals": {
        "w": 2,
        "l": 1
      },
      "mainTour": {
        "w": 14,
        "l": 2
      },
      "grandSlam": {
        "w": 4,
        "l": 2
      },
      "cups": {
        "w": 1,
        "l": 0
      },
      "futures": {
        "w": 2,
        "l": 1
      },
      "challengers": {
        "w": 3,
        "l": 1
      },
      "total": {
        "w": 449,
        "l": 133
      }
    }
  }
}

Get Interesting H2H Matchup

GET/tennis/v2/ms-api/profile/{name}/interesting
Returns a curated list of notable H2H matchups for the player β€” useful for editorial features

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/interesting' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
[
  {
    "h2h": "31-29",
    "opponent": "Rafael Nadal",
    "type": "atp",
    "player1Image": "/tennis/api2/uploads/Photo/atp/05992.jpg",
    "player2Image": "/tennis/api2/uploads/Photo/atp/00677.jpg"
  }
]

Get Profile filters

GET/tennis/v2/ms-api/profile/{name}/filters
Returns available filter options for this player's match history β€” use values with the Matches Played endpoint

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Novak Djokovic"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Novak Djokovic/filters' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
{
  "courts": [
    {
      "id": 6,
      "name": "Acrylic"
    }
  ],
  "rounds": [
    {
      "id": 12,
      "name": "Final"
    }
  ],
  "level": [
    {
      "id": 0,
      "name": "Futures/Satellites/ITF tournaments $10K"
    }
  ],
  "years": [
    "Career",
    2026,
    2025,
    "..."
  ]
}
GET/tennis/v2/ms-api/profile/search/{name}/{tourType}
Search for players by partial or full name within the ATP or WTA database

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Djokovic"
{tourType}Requiredstring
Tour type "atp" or "wta"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/search/Djokovic/atp' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
[
  "Stefan Djokovic",
  "Marko Djokovic",
  "Novak Djokovic",
  "Djordje Djokovic",
  "Balsa Djokovic"
]

Get Player Next Matches

GET/tennis/v2/ms-api/profile/{name}/upcoming
Returns the player's next scheduled match if one is available

Path Parameter

ParameterType
{name}Requiredstring
Player display name. e.g. "Jannik Sinner"
Example Request: JAVASCRIPT
curl --request GET \
	--url 'https://tennis-api-atp-wta-itf.p.rapidapi.com/tennis/v2/ms-api/profile/Jannik Sinner/upcoming' \
	--header 'X-RapidAPI-Host: tennis-api-atp-wta-itf.p.rapidapi.com' \
	--header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY'
Example Response: JSON
[
  {
    "date": "2026-07-12T18:00:00.000Z",
    "tournament": {
      "id": 21337,
      "name": "Wimbledon - London",
      "date": "2026-06-29T00:00:00.000Z"
    },
    "roundId": 12,
    "player1": {
      "name": "Jannik Sinner",
      "seed": "1",
      "odd": "1.25",
      "countryAcr": "ITA",
      "image": "/tennis/api2/uploads/Photo/atp/47275.jpg",
      "image_p_name": "/tennis/api2/uploads/Photo/atp_name/jannik_sinner.jpg"
    },
    "player2": {
      "name": "Alexander Zverev",
      "seed": "2",
      "odd": "4.2",
      "countryAcr": "GER",
      "image": "/tennis/api2/uploads/Photo/atp/24008.jpg",
      "image_p_name": "/tennis/api2/uploads/Photo/atp_name/alexander_zverev.jpg"
    },
    "h2h": "10-4"
  }
]