BetaRead the CS2 API docs

Valve Regional Standings, as JSON.

Valve's own CS2 ranking, the one that decides Major and event invites: every ranked roster with Valve's rank, points, region and movement since the previous release.

  • 395 ranked entries
  • Valve's official order
  • Movement week on week
GET /cs2/rankings/vrs?limit=100200 OK
$ curl "https://api.citoapi.com/api/v1/cs2/rankings/vrs?limit=100" \ -H "x-api-key: $CITO_API_KEY"
{  "success": true,  "data": [    {      "rank": 1,      "teamName": "Vitality",      "teamId": "cs2-team-9565",      "points": 1993,      "change": 0,      "region": "Europe",      "alsoRankedAt": null    },    ...    {      "rank": 135,      "teamName": "INFINITE",      "teamId": "cs2-team-10823",      "points": 895,      "change": null,      "region": "Europe",      "alsoRankedAt": 68    }  ],  "meta": {    "total": 395,    "rankingDate": "2026-10-22",    "changeSince": "2026-10-15",    "totalPages": 4  }}

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
Claude
Cursor
OpenAI
Python
Cito API
Next.js
Discord
Slack
GitHub

Valve's table, explained

The fields a ranking page, a model or an invite tracker needs, with the quirks of Valve's method spelled out. The VRS is one table in the CS2 API, next to the world ranking, live matches and results.

Valve's official rank

rank is Valve's position. Valve sorts by unrounded scores, so two teams can show equal points with different ranks.

Points and region

Each entry's points and Valve region (Europe, Americas, Asia), with the team's id, name, slug and logo.

Movement

change is places gained or lost since the previous release (meta.changeSince).

Rosters, not organisations

Valve ranks five-player rosters, so one organisation can hold two places. The lower one carries alsoRankedAt.

Every place, no gaps

Ranks run 1 to the last entry with no gaps or repeats; page through with limit=100&page=N.

Updated after each release

rankingDate is the release the table comes from, and syncedAt says when it was read.

Why can the same team appear twice in the VRS?

Valve's Regional Standings rank rosters, not organisations. A roster is five specific players and keeps its ranking only while at least three of them stay together, so after a big roster change the new lineup and the previous one can both be ranked under the same organisation.

/cs2/rankings/vrs, ranking date 22 October 2026
rankteamNamepointsalsoRankedAtchange
68INFINITE1191null-3
135INFINITE89568null
  • One row per place: key on id or rank, never teamId.
  • One row per organisation: skip rows where alsoRankedAt is set.
  • Order by rank, not by points: points are rounded, Valve's order is not.

Endpoints you can ship with

Start on rankings: the VRS, the world ranking and the regional tables.

Rankings

The world team ranking and the Valve Regional Standings, with points and movement, plus one table per region.

View docs
  • GET/api/v1/cs2/rankings/world

    The latest world team ranking.

  • GET/api/v1/cs2/rankings/vrs

    The latest Valve Regional Standings (VRS).

  • GET/api/v1/cs2/rankings/region/{region}

    One region, with each team's world and regional rank.

  • GET/api/v1/cs2/rankings

    One row per team, with points and change since the previous ranking.

FAQs

Valve's method, duplicates, and updates

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

Read the rankings docs

Build ranking pages

Create a free key and pull Valve's latest standings in one call.