1.7 million matches, 5.5 million ranking weeks, live scores and webhooks — the entire Open Era behind a single key.
Rivalries, ranking runs, surface splits, live scoreboards — normalized, indexed, and one HTTPS call away.
Rivalry records, ranking runs, surface splits — questions your commentary team asks, answered in one HTTPS call.
Throw a card to shuffle the eras. Main draws, quallies, Challengers and ITF — 1.7M matches with set scores and serve stats.
Surface, tier, round, year, tour — every match is indexed the way tennis people actually ask for it.
Both tours, REST and WebSocket, webhooks and clean JSON — all circling a single API key on the Cito platform.
The archive reaches back to 1968; the live layer lands the moment a set ends. One schema covers both.
The pages fans screenshot — rivalry cards, career arcs, tournament history — are each a single call against data that's already clean.
Rivalry pages: full head-to-head with surface, finals and Slam splits from /tennis/h2h
Career timelines: every ranking Monday of a player's life, ready for a chart
Draw explorers: 58k tournaments with tiers, surfaces and round-by-round results

Push, don't poll: scores and match events stream to your app the moment they land, backed by the same archive for instant context.
WebSocket push: subscribe to a match and receive every score change live
Webhooks: match start, set won, final result — delivered to your endpoint with proof rows
Instant context: pair any live match with its players' history in one extra call

Everything below ships from the same base URL with the same key — pick the surface your product plays on and serve.
Give us two player IDs and get the whole story back: match-by-match history, surface splits, finals record, Grand Slam meetings, and who leads where. Pre-computed for the classic rivalries, computed on demand for everyone else — including the rivalry that hasn't happened yet.
See documentation ›
Ask for any ranking week in history and get the full table — points, movement, tournaments played. Rebuild the week Graf hit No. 1, chart a career from 800 to the top, or just pull the current top ten for your homepage.
See documentation ›
Poll REST for live scoreboards, subscribe over WebSocket for point-level push, or register a webhook and let match start, set won, and final result arrive at your endpoint — with delivery proof rows so you never wonder if you missed one.
See documentation ›
1.7 million matches with set scores, serve stats, seeds, entries and round order — main draws to ITF qualies. Filter by year, surface, tier, round or tour, and page through five decades without a single scrape of your own.
See documentation ›
Free tier to prove it, production tiers when you ship. Your first call is thirty seconds away.