Getting started
Introduction
Cito is one REST API for esports and combat sports data. Developers use it for Discord bots, match centers, stat sites, prediction models and AI agents, without building or maintaining scrapers of their own.
What you get
Nine games, one keyCS2, League of Legends, Dota 2, Call of Duty, Apex Legends, UFC, tennis, RAF wrestling and BKFC. Your plan decides which games and how many requests.
Live dataLive scores, rounds, maps and fight-night state, by polling or pushed through server-sent events, WebSockets and webhooks.
Stats and historyMatch, player and team stats, rankings, brackets and results archives: tennis back to 1968, every BKFC card since 2018.
OddsCS2 match and map odds with line movement, and UFC odds per fight, including live in-fight Polymarket prices.
How it works
- 1Create a keySign up free (500 requests a month, no card) and copy your key from the dashboard. Or try every endpoint first in the playground.
- 2Call the REST APISend
x-api-keywith every request tohttps://api.citoapi.com/api/v1. Call it from your server, bot or script, never from a browser. - 3Read the envelopeEvery response has the same shape:
success, thedatayou asked for, andmetawith pagination and request details. Errors carry a machine-readablecode. - 4Go liveWhen polling isn't enough, switch to live streams or webhooks so updates come to you.
Example response from GET /cs2/matches/upcoming?limit=1
JSON
{
"success": true,
"data": [
{
"id": "cs2-match-2399865",
"status": "upcoming",
"startsAt": "2026-10-21T22:00:00.000Z",
"bestOf": 3,
"eventName": "CCT 2026 South America Series 7"
}
],
"meta": { "...": "pagination and request details" }
}Key ideas
- IDs and slugs
- Every match, team, player, fighter and event has a stable id (cs2-match-2399610, ufc-13063) and most have a readable slug. Get them from a list or search endpoint; never build them by hand.
- Plans and limits
- Each plan has a per-minute and a monthly request limit. Going over returns 429 with RATE_LIMIT_EXCEEDED (slow down) or MONTHLY_LIMIT_REACHED (allowance used).
- Live delay
- On Free and entry plans, live endpoints return data about 60 seconds behind; Pro and above get it in real time. The X-Cito-Data-Delay-Seconds and X-Cito-Data-Age-Seconds response headers tell you which you got.
- Freshness
- Live and odds rows carry when we captured them (capturedAt or observedAt), so you can show or check how current a value is.
More detail: authentication, rate limits & plans and errors.
What you can build
Discord botsMatch alerts, live scores and player lookups as slash commands.
Match centers & overlaysLive scoreboards for sites, apps and stream overlays.
Stat trackersPlayer and team pages with history, form and rankings.
Models & betting toolsHistorical stats, live state and odds for predictions.
Fantasy & pick'emSchedules, results and per-player stats for scoring.
AI agentsConnect Claude, ChatGPT or Cursor to live sports data over MCP.
Ready to make your first call?
The quickstart takes a minute. Using a coding agent? Paste Add Cito sports data to my app: citoapi.com/SKILL.md.