The ATP API that remembers Laver and streams Sinner
Every ATP match since 1968, every ranking Monday, every draw — with live scores when the tour is playing, and the WTA in the same key at no extra step.
$ curl "https://api.citoapi.com/api/v1/tennis/rankings?tour=ATP&date=1990-08-13" \
-H "x-api-key: YOUR_API_KEY"
{ "ranking_date": "1990-08-13", "tour": "ATP",
"items": [ { "rank": 1, "player_name": "Stefan Edberg", "points": 3389 } ] }Complete ATP coverage, tier by tier
Tour-level main draws, qualifying, and the Challenger grind — 59 seasons of it, with set scores, serve stats, seeds, and rounds. Filter /tennis/matches with tour=ATP and go as deep as your product needs.
The ATP rankings, every week they've existed
From the 1970s to the current table: full weekly snapshots by date, top-N cuts, and per-player career curves. Chart the 286 weeks of a dominant No. 1 or the climb of this year's breakout in the same two calls.
One key, both tours
Everything here has a WTA mirror — same endpoints, tour=WTA. Build once, cover the sport.
The dataset behind it
1,730,276 matches
Every ATP and WTA match since 1968 — main draws, qualifying, Challengers, and ITF — with set scores and serve stats.
5,566,184 ranking rows
Every published weekly ranking Monday for both tours, queryable by exact date.
137,410 players
Bios, handedness, countries, activity status, and career statistics with surface and year filters.
57,910 tournaments
Editions with tier, surface, dates, season calendars, and round-by-round draw brackets.
Head-to-head engine
Any two players in history — or a whole group via the H2H matrix — with surface, finals, and Slam splits.
Live scoreboards
In-progress matches with per-match detailed state, plus recent results the moment they finish.