Tennis API: live scores, stats & rankings.
The tennis API for developers: every match in progress with the set and game score and who is serving, results with full box scores, ATP and WTA rankings week by week, head-to-head records, and draws. 1.7 million matches back to 1877, from one key.
- 1.7M matches since 1877
- 140,026 players
- 58,739 tournament editions
{ "success": true, "player1": { "id": "atp_206173", "name": "Jannik Sinner", "ioc": "ITA", "current_rank": 1, "wins": 7 }, "player2": { "id": "atp_207989", "name": "Carlos Alcaraz", "ioc": "ESP", "current_rank": 3, "wins": 11 }, "summary": { "total_matches": 18, "finals_matches": 9, "grand_slam_matches": 6, "player1_grand_slam_wins": 2, "player2_grand_slam_wins": 4 }, "matches": [ { "tournament_name": "Monte Carlo Masters", "surface": "Clay", "round": "F", "winner_name": "Jannik Sinner", "score": "7-6(5) 6-3" }, ... ]}Seamless Integration with our MCP Server
Give Claude, Cursor, and ChatGPT the tennis data. One command writes the MCP config; agents call live matches, player form, head-to-head and ranking tools with real player IDs instead of guessing them, and your key stays on your machine.
MCPInstall the Cito MCP serverOne API for the whole tour
Everything a tennis app, model, bot, or dashboard reads, from the point in play to a player's ranking in 1995, behind one key.
Live, point by point
Set scores, the game score, who is serving, and live match stats for every match in progress.
Results with box scores
Every set score plus aces, double faults, first-serve %, points won and break points for 365,299 matches.
ATP and WTA rankings
Weekly singles rankings with points and movement, and any player's ranking history week by week.
Head-to-head
The full record between two players, split by surface, finals and Grand Slams, or a grid for a whole group.
Draws and calendar
Grand Slams to ITF events: the season calendar and the draw of any edition as a bracket.
History to 1877
1.7 million matches on the ATP, WTA, Challenger and ITF tours, plus junior Grand Slams, searchable by player, year and surface.
Endpoints you can ship with
Eight groups, one key. Pick what you are building; every route returns the same REST JSON.
Live scores
Every match in progress with the set scores, the game score, who is serving, and live match stats. Open one match for its full state.
- GET
/api/v1/tennis/matches/liveMatches in progress: sets, game score, server, and live stats.
- GET
/api/v1/tennis/matches/live/{match_id}One live match: every set, the current game, and both players' stats.
- GET
/api/v1/tennis/matches/{match_id}/statusScheduled, in progress, or finished, with the result once decided.
- GET
/api/v1/tennis/scheduleThe day's order of play across tours.
- GET
/api/v1/tennis/matches/upcomingScheduled matches, soonest first.
Results
Finished matches with the score of every set, the winner and loser, and the serve and return box score behind them.
- GET
/api/v1/tennis/matches/recentFinished matches, newest first, with set scores.
- GET
/api/v1/tennis/matches/completedEvery match completed on a given day.
- GET
/api/v1/tennis/matches/{match_id}One match: tournament, round, surface, score, and box score.
- GET
/api/v1/tennis/matches/{match_id}/statsAces, double faults, first-serve %, points won, break points.
- GET
/api/v1/tennis/matches?player_id=&year=&surface=The archive, filtered by player, opponent, year, surface, level or round.
Players
Player profiles with country, hand and birth date, career serve and return stats, recent form, and every match played.
- GET
/api/v1/tennis/players/search?q={name}Find a player by name and get their id.
- GET
/api/v1/tennis/players/{player_id}Name, country, hand, height, birth date and ranking.
- GET
/api/v1/tennis/players/{player_id}/statsCareer and season serve, return and win-loss stats.
- GET
/api/v1/tennis/players/{player_id}/formRecent results and win rate.
- GET
/api/v1/tennis/players/{player_id}/matchesThe player's match log, newest first.
Head-to-head
The full record between two players, split by surface and level, or a grid of records across a group of players.
- GET
/api/v1/tennis/h2h?player1_id=&player2_id=Wins, losses and every meeting between two players.
- GET
/api/v1/tennis/h2h/{player1_id}/{player2_id}The same record in path form.
- GET
/api/v1/tennis/h2h/matrix?player_ids=A head-to-head grid for several players at once.
Rankings
Weekly ATP and WTA singles rankings with points and movement, back through the decades, and any player's ranking history.
- GET
/api/v1/tennis/rankingsA full weekly ranking table for ATP or WTA.
- GET
/api/v1/tennis/rankings/topThe top N players of the latest list.
- GET
/api/v1/tennis/rankings/moversBiggest risers and fallers between two lists.
- GET
/api/v1/tennis/rankings/history/{player_id}One player's ranking, week by week.
- GET
/api/v1/tennis/rankings/datesEvery ranking date on file.
Tournaments
Tournaments from Grand Slams to ITF events, the season calendar, and the draw of any edition as a bracket.
- GET
/api/v1/tennis/tournamentsTournaments filtered by tour, level, surface and year.
- GET
/api/v1/tennis/tournaments/calendar?year=2026One season's tournament calendar.
- GET
/api/v1/tennis/tournaments/{tournament_id}One tournament: level, surface, location and editions.
- GET
/api/v1/tennis/tournaments/{tournament_id}/drawThe draw of the latest edition.
- GET
/api/v1/tennis/tournaments/{tournament_id}/editions/{year}/drawThe draw of any past edition.
Leaderboards
Season leaders for the stats that decide matches, computed from every match box score.
- GET
/api/v1/tennis/leaderboards/acesMost aces in the season.
- GET
/api/v1/tennis/leaderboards/1st-serve-wonBest first-serve points won %.
- GET
/api/v1/tennis/leaderboards/break-conversionBest break-point conversion.
- GET
/api/v1/tennis/leaderboards/tiebreak-win-pctBest tiebreak record.
- GET
/api/v1/tennis/leaderboards/comeback-winsMost wins after losing the first set.
Coverage
What the dataset holds: tours, levels, ITF and junior coverage, and the years on file.
- GET
/api/v1/tennis/coverageTours, levels, year range, ITF and junior event counts.
- GET
/api/v1/tennis/competitionsEvery competition with its tour and level.
FAQs
Coverage, plans, live data, and history
Can't find what you're looking for? Contact our customer support team
More from Cito API
Docs, plans, and the other sports on the same key.
- Tennis API docsEvery endpoint, its parameters, and a real response.
- API pricingFree, Starter, Pro and Scale, with every limit stated.
- Cito MCP serverGive Claude, Cursor and ChatGPT live tennis data.
- UFC APIFight cards, results, round-by-round stats and odds.
- CS2 APICounter-Strike 2 live scores, player stats and skin prices.
Build live scoreboards
Create a free key, call your first tennis endpoint in a minute, and upgrade when the app is real.