Every tennis result since 1968, one query away
1.7 million match results with set scores and serve statistics — filterable by player, opponent, tournament, surface, round, tier, and year.
$ curl "https://api.citoapi.com/api/v1/tennis/matches?q=wimbledon&year=1980&round=F" \
-H "x-api-key: YOUR_API_KEY"
{ "items": [ { "winner": "Bjorn Borg", "loser": "John McEnroe",
"score": "1-6 7-5 6-3 6-7(16) 8-6", "surface": "Grass" } ] }A results archive that answers real questions
Who won the 1980 Wimbledon final, and by what score? Every five-setter Nadal played on clay? A player's complete record against top-10 opponents in a season? These are single calls against /tennis/matches — not scraping projects.
Results with the details that matter
Each match carries the set-by-set score line, serve statistics where recorded (aces, double faults, break points), round, surface, tier, seeds and entry types, and stable player and tournament IDs that link into profiles, rankings, and draws.
From last hour to last century
Recent results flow in as matches finish; the historical archive runs to 1968. One schema, one pagination model, one key — whether the result you need is from this afternoon or from before tiebreaks existed.
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.