DocsTennis API reference

Looking for the Sofascore API? Use one that is meant for you.

Sofascore does not hand out API keys. The JSON its apps call is undocumented and can change or start refusing requests without notice. Cito is a tennis API built for developers: keys, docs, stable IDs and a team that answers.

  • Real API keys
  • Documented, versioned routes
  • Tennis, UFC and esports
GET /tennis/players/search?q=sinner200 OK
$ curl "https://api.citoapi.com/api/v1/tennis/players/search?q=sinner" \ -H "x-api-key: $CITO_API_KEY"
{  "items": [    {      "id": "atp_206173",      "tour": "ATP",      "full_name": "Jannik Sinner",      "ioc": "ITA"    }  ]}

Seamless Integration with our MCP Server

Give Claude, Cursor, and ChatGPT the tennis archive. One command writes the MCP config, agents call match, ranking and head-to-head tools with real player IDs instead of guessing, and your key stays on your machine.

MCPInstall the Cito MCP server
Claude
Cursor
OpenAI
Python
Cito API
Next.js
Discord
Slack
GitHub

Why developers move off unofficial endpoints

Undocumented app endpoints work until the day they do not. A supported API is built for the opposite.

API keys, not workarounds

Authenticate with a key you own instead of mimicking an app or a browser.

Documented routes

Every endpoint, parameter and response field is in the docs, with real examples.

Stable IDs

Player, match and tournament IDs that do not change between releases.

Live and historical

Live scores now, and results back to 1877 for the long view.

Push, not polling

A WebSocket pushes score changes about 3 seconds after our source has them.

Someone to ask

Questions go to people who maintain the data, not to an issue thread on a scraper.

Does Sofascore have a public API?

No. Sofascore does not offer self-serve developer access or API keys for its data. The endpoints people call are the ones its website and apps use internally: undocumented, unsupported, and free to change or block automated traffic at any time.

Which Cito tennis endpoints replace the Sofascore data I use?

The tennis data most projects pull from Sofascore maps to documented endpoints: live events, finished results, rankings, player profiles, head-to-head and match statistics.

What you usedCito endpoint
Live tennis eventsGET /api/v1/tennis/matches/live
Point-by-point and score of a live matchGET /api/v1/tennis/matches/live/{match_id}
Today's scheduleGET /api/v1/tennis/schedule
Finished resultsGET /api/v1/tennis/matches/recent
Match statisticsGET /api/v1/tennis/matches/{match_id}/stats
ATP / WTA rankingsGET /api/v1/tennis/rankings?tour=ATP
Player profileGET /api/v1/tennis/players/{player_id}
Head-to-headGET /api/v1/tennis/h2h?player1_id=&player2_id=
Push updateswss://api.citoapi.com/api/v1/tennis/live/ws

Which sports does Cito cover?

Tennis (ATP, WTA, Challengers and ITF), UFC and MMA, and esports: Counter-Strike 2, League of Legends, Dota 2 and Call of Duty. We do not cover football, basketball or other team sports. If those are what you need, a dedicated provider for them is the better fit.

Endpoints you can ship with

Start on live scores: matches in progress, one live match, today's schedule.

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.

View docs
  • GET/api/v1/tennis/matches/live

    Matches 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}/status

    Scheduled, in progress, or finished, with the result once decided.

  • GET/api/v1/tennis/schedule

    The day's order of play across tours.

  • GET/api/v1/tennis/matches/upcoming

    Scheduled matches, soonest first.

Figures on this page were checked against the live API on 2026-10-24.

FAQs

Access, keys, coverage and switching

Can't find what you're looking for? Contact our customer support team

See plans

Build tennis live score apps

Swap undocumented endpoints for a supported API. Your first key is free.