Cito CS2 API MCP
Live CS2 esports data for AI assistants: Counter-Strike 2 live scores to the round, results, player stats, rankings and skin prices, plus LoL, Dota 2, CoD and UFC. Hosted remote server, free API key.
Hosted MCP Server
npx add-mcp 'https://api.citoapi.com/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
CS2 API: live scores, player stats & skin prices.
The Counter-Strike 2 API for developers: live matches down to the round, results with every map, per-map player stats, rosters, rankings, and skin prices on 25+ marketplaces. Clean JSON from one key, SDKs for JavaScript and Python, and an MCP server for your agents.
$ curl "https://api.citoapi.com/api/v1/cs2" \ -H "x-api-key: $CITO_API_KEY"
{ "success": true, "data": { "entityType": "cs2_api_overview", "name": "Counter-Strike 2 API", "status": "available", "coverage": { "matches": 15009, "live": 8, "upcoming": 51, "teams": 4500, "players": 8808, "events": 1525, "rosterChanges": 150640 } }}
Seamless Integration with our MCP Server
Give Claude, Cursor, and ChatGPT the CS2 data. One command writes the MCP config; agents call live scoreboard, team map stat, opening duel, and transfer tools instead of inventing match IDs, and your key stays on your machine.
MCPInstall the Cito MCP server

One API for the whole scene
Everything a CS2 app, bot, or dashboard reads, from the round in play to a skin's price on each marketplace, behind one key.
Live to the round
Series score, map in play, round score, round timer, bomb status, and each player's money and equipment.
Every map of every result
Finished matches with the series score and winner, and each map's score, winner, and pick.
Per-map player stats
Kills, deaths, ADR, KAST, and rating for every player on every map, rolled up by career and year.
Teams, rosters, transfers
Current rosters, every past lineup with dates, player moves between teams, and per-map win rates.
World ranking and VRS
The world team ranking and the Valve Regional Standings, with points, movement, and regional tables.
Skin prices
29,078 skins, knives, gloves, stickers, and cases, priced on 25+ marketplaces, with daily history and the week's biggest movers.
CS2 API quickstart: JavaScript, Python, or curl
Get a free API key, install the client for your language, and you are reading live Counter-Strike 2 scores in under a minute. Both clients are open source (MIT), have zero dependencies, and cover every endpoint below.
JavaScript / TypeScript
npm install cs2-api
import { CS2Api } from "cs2-api";
const cs2 = new CS2Api(); // reads process.env.CITO_API_KEY
// every Counter-Strike 2 match being played right now
for (const m of await cs2.live()) {
console.log(\`${m.team1Name} ${m.team1Score}-${m.team2Score} ${m.team2Name} · ${m.currentMap}\`);
}
const top10 = await cs2.worldRanking({ limit: 10 });
const donk = await cs2.player("donk");
const redline = await cs2.skinPrices("ak-47-redline-field-tested-1ab1a2dc");
Works as ESM or CommonJS, ships TypeScript types. cs2-api on npm
Python
pip install cs2-api-client
from cs2_api import CS2Api
cs2 = CS2Api() # reads CITO_API_KEY
for m in cs2.live():
print(f"{m['team1Name']} {m['team1Score']}-{m['team2Score']} {m['team2Name']} · {m['currentMap']}")
top10 = cs2.world_ranking(limit=10)
vitality = cs2.team("vitality")
redline = cs2.skin_prices("ak-47-redline-field-tested-1ab1a2dc")
Standard library only, Python 3. cs2-api-client on PyPI
Any language: plain REST
Every route is a GET that returns JSON. Send your key in the x-api-key header from your server, never from browser code.
curl "https://api.citoapi.com/api/v1/cs2/live" \
-H "x-api-key: $CITO_API_KEY"
Source, issues, and example bots and overlays: cs2-api on GitHub
What comes back
A real response from /cs2/live, trimmed to one match: the series score is maps won, currentMapScore is the map in play.
{
"success": true,
"data": [
{
"matchId": "cs2-match-2398731",
"status": "live",
"eventName": "ESL Pro League Season 24",
"bestOf": 3,
"team1Name": "Vitality",
"team2Name": "Natus Vincere",
"score": { "team1": 1, "team2": 1 },
"currentMap": "de_mirage",
"currentMapScore": { "team1": 5, "team2": 2 },
"currentRound": 8
}
]
}
Endpoints you can ship with
Eight groups, 45 endpoints, one key. Pick what you are building; every route returns the same REST JSON.
Live matches
Poll the live list for every match in progress, open one match for its round, timer, bomb and players, or keep an SSE stream open and get each update pushed.
- GET
/api/v1/cs2/liveMatches in progress: series score, map in play, map score, current round. - GET
/api/v1/cs2/live/{matchId}/stateOne live match: score, round, round timer, bomb status and players. - GET
/api/v1/cs2/live/{matchId}/scoreboardSeries score, current map and round, and each player's kills, deaths, money and equipment. - GET
/api/v1/cs2/live/{matchId}/roundsRound-by-round results so far: winner, side and how each round ended. - GET
/api/v1/cs2/live/streamServer-Sent Events push of every live update. Every plan; counts like polling. - GET
/api/v1/cs2/live/wsWebSocket with a room per match. Scale and Enterprise.
CS2 skin prices and item data
The same key that reads match data reads the CS2 skin market: every weapon skin, knife, glove, sticker, case and capsule, its current price on more than 25 marketplaces, and its daily price history back to 2020 on long-listed items.
29,078
tradable CS2 items with a price
15,203
weapon skins and agents, every wear
7,337
stickers
4,080
knives
470
gloves
1,544
cases, capsules, graffiti and music kits
Price on every marketplace
/skins/{slug}/prices returns one row per marketplace, cheapest first, with the offer count and a buy link: Steam Community Market, Buff.163, Buff.Market, CSFloat, Skinport, DMarket, CS.MONEY, YouPin898, UUSkins, Waxpeer, Market.CSGO, LIS-SKINS, White.Market, HaloSkins, Avan.Market, C5Game, Ecosteam, SkinFlow, PirateSwap, Skin.place, Mannco.Store and more. Each item carries its market hash name, weapon, rarity, exterior, StatTrak and Souvenir flags, and its image.
Price history and movers
/skins/{slug}/history returns the daily cheapest price with volume (the AK-47 | Redline series starts in March 2020), /skins/{slug}/order-book the sell listings per market, and /skins/trending the biggest gainers and losers from one day to one year.
What it is for
Inventory valuers, trade-up and arbitrage tools, price alerts, Discord bots, and portfolio trackers. It does not read or move Steam inventories: for a user's own inventory, use Steam's inventory endpoints with their consent.
CS2 skin prices API goes deeper on the market endpoints.
GET /api/v1/cs2/skins/ak-47-redline-field-tested-1ab1a2dc/prices
{
"skin": {
"marketHashName": "AK-47 | Redline (Field-Tested)",
"weapon": "AK-47", "rarity": "Classified", "exterior": "Field-Tested"
},
"prices": [
{ "providerName": "UUSkins", "price": 25.02, "offersCount": 10916 },
{ "providerName": "DMarket", "price": 25.12, "offersCount": 844 },
{ "providerName": "CSFloat", "price": 25.26, "offersCount": 3610 },
{ "providerName": "Buff.163", "price": 25.98, "offersCount": 8145 },
{ "providerName": "Steam", "price": 34.88, "offersCount": 1171 },
"… 22 more marketplaces"
]
}
Which CS2 API do you need?
“CS2 API” means five different things depending on what you are building. Here is what each kind of Counter-Strike 2 data is, and where to get it.
| You need | What it is | Where to get it |
|---|---|---|
| Pro match and esports data | Live scores to the round, results with every map, player ratings (ADR, KAST, rating), rosters, transfers, tournaments, brackets, the world ranking and VRS. | Cito CS2 API. Valve publishes no esports data API, and HLTV has no public API. |
| Skin prices and market data | What an item is worth right now on each marketplace, its history, and which items are moving. | Cito CS2 API (25+ marketplaces in one call), or each marketplace's own API one at a time. |
| Static item catalog | Names, images, rarities and collections of every skin, sticker, case and agent, with no prices. | Open-source JSON dumps of the game files; Cito's /skins endpoints carry the same catalog fields alongside prices. |
| Steam accounts and inventories | A signed-in player's profile, owned items, or trade offers. | Valve's Steam Web API, with the player's own key or consent. |
| In-game state for overlays | Your own client's health, money, round phase and bomb state while you play or spectate. | Valve's Game State Integration (GSI), a local config file in the CS2 install. |
Is there an official CS2 API?
Valve offers the Steam Web API (accounts, inventories, the Steam market) and Game State Integration (your own game client), but no API for professional matches, player statistics, or prices across third-party marketplaces. That is the gap the Cito CS2 API fills: one REST API and one key for Counter-Strike 2 esports data and skin prices together.
Built for apps that ship
Live scores, results, stats and prices come back as the same clean JSON with stable IDs, so a Discord bot, a stream overlay, a fantasy game, a betting model or an AI agent can join a match to its players, a player to their team, and a team to its ranking without stitching sources together. The free CS2 API key is enough to prototype.
FAQs
Coverage, plans, live data, and the beta
Can't find what you're looking for? Contact our customer support team
Explore the CS2 API
Each page goes deep on one thing developers build with CS2 data.
- CS2 live APISeries, map, and round score while the match is on.
- CS2 skin prices APIPrices on every marketplace, daily history, and movers.
- CS2 player stats APIRating, ADR, and KAST for every map played.
- CS2 results APISeries and map scores for every finished match.
- CS2 schedule APIUpcoming matches and the tournament calendar.
- CS2 rankings APIThe world ranking and Valve Regional Standings.
- Free CS2 APIWhat a free key includes, with every limit stated.
- CS2 API docsEvery endpoint, its parameters, and a real response.
Build
Create a free key, call your first CS2 endpoint in a minute, and upgrade when the app is real.