How do I get today's ATP tennis schedule in Python?
ATP matches in the next days with tournament, round, court and players. The call returned 19 Rolex Shanghai Masters matches from October 11 to 13.
Code verified October 12, 2026. One call to get_schedule, 2 credits.
The call
days is 1 to 30. Matches carry a start time and court where the tour has set one. Pass league: "wta" for the WTA. For results of a day already played use get_matches with date.
import requests
import pandas as pd
API_KEY = "YOUR_API_KEY"
resp = requests.post(
"https://mcp.acesapi.com/v1/get_schedule",
headers={"x-api-key": API_KEY},
json={
"days": 2,
},
timeout=60,
)
resp.raise_for_status()
data = resp.json()["data"]
matches = pd.DataFrame(data["matches"])
print(data["tour"], len(matches), "matches in the next", data["days"], "days")
print(matches.groupby(["match_date", "tournament", "round"]).size())
cols = ["match_date", "round", "court", "player1", "player2", "status"]
print(matches[cols].head(10).to_string(index=False))
Replace YOUR_API_KEY with a key from your dashboard. Python needs requests and pandas (pip install requests pandas). JavaScript runs on Node 18 or newer, or in the browser.
What comes back
The data object of the response, trimmed to the first rows. Every field is real output from the run above.
{
"tour": "ATP",
"days": 2,
"matches": [
{
"match_id": "184930",
"tournament_id": "315-2026",
"tournament": "Rolex Shanghai Masters",
"season": 2026,
"surface": "hard",
"indoor": null,
"starts_at": "2026-10-11T10:00:00.000Z",
"match_date": "2026-10-11",
"draw": "main",
"round": "Round 3",
"round_order": 13,
"court": "Stadium Court",
"player1_id": "2375",
"player1": "Alexander Zverev",
"player1_country": "GER",
"seed1": null,
"player2_id": "2362",
"player2": "Quentin Halys",
"player2_country": "FRA",
"seed2": null,
"winner_id": null,
"status": "scheduled",
"outcome": null,
"score": null,
"sets1": null,
"sets2": null,
"games1": null,
"games2": null
},
{
"match_id": "184931",
"tournament_id": "315-2026",
"tournament": "Rolex Shanghai Masters",
"season": 2026,
"surface": "hard",
"indoor": null,
"starts_at": "2026-10-11T10:00:00.000Z",
"match_date": "2026-10-11",
"draw": "main",
"round": "Round 3",
"round_order": 13,
"court": "Grandstand 2",
"player1_id": "2865",
"player1": "Alexander Bublik",
"player1_country": "KAZ",
"seed1": null,
"player2_id": "3774",
"player2": "Brandon Nakashima",
"player2_country": "USA",
"seed2": null,
"winner_id": null,
"status": "scheduled",
"outcome": null,
"score": null,
"sets1": null,
"sets2": null,
"games1": null,
"games2": null
},
"...17 more"
],
"count": 19
}What to do next
- get_matches (2 credits). Results with set scores for a day already played.
- get_head_to_head (3 credits). The record between two players in a match.
More guides
Start with 500 free credits every month
No card. REST or MCP.