CS2 Player Stats API
Player profiles by id or slug ("donk", "zywoo"): headline stats, career and seasons, map and weapon splits, clutches and flash assists, form and team history.
17 endpoints in this section. Authenticate with the x-api-key header; every response is { success, data, meta }. Other sections: Live, Matches, Maps & rounds, Rankings, Teams, Events, Stats & leaderboards, Skins, Transfers, Search & reference.
Search players
Find players by nickname or real name. Requires `q`.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| q* | string | Search text. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/search" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_player",
"id": "cs2-player-11893",
"nickname": "ZywOo",
"slug": "zywoo",
"realName": "Mathieu Herbaut",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/9a20575a48df13463513233c6314f72c.webp",
"countryName": "France",
"countryCode": "FR",
"age": 25,
"rating": 1.31,
"mapsPlayed": 167,
"careerStats": {
"rating": 1.31,
"lastKnownRating": 1.31
},
"currentTeamId": "cs2-team-9565",
"status": "active",
"primaryRole": "AWPer",
"roleConfidence": "high",
"statusUpdatedAt": "2026-09-23T00:11:42.818Z",
"lastSyncedAt": "2026-09-23T00:11:41.857Z",
"lastVerified": "2026-09-23T00:11:41.857Z",
"availableSubresources": [
"stats",
"matches"
],
"unavailableSubresources": [
"teams",
"weapons"
],
"unavailableFields": {},
"dataQuality": "complete",
"confidence": "high",
"…": "1 more fields"
}
],
"meta": {
"query": "zywoo",
"count": 1,
"limit": 1,
"total": 1,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player career
A player's career totals and team history.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| include | string | Filter by include. |
| includeDemo | string | Filter by includeDemo. |
| include_demo | string | Filter by include_demo. |
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/career" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_career_stats",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"dataAvailable": true,
"totals": {
"matches": 170,
"maps": 267,
"kills": 5031,
"deaths": 3423,
"assists": 370,
"kdRatio": 1.4698,
"adr": 88.66,
"kast": 0.7824,
"rating": 1.3088,
"openingKills": 243,
"openingDeaths": 124,
"computedAt": "2026-09-23T03:15:31.874Z",
"clutchAttempts": null,
"clutchWins": null,
"clutchWinPercent": null,
"flashAssists": null,
"utilityDamage": null
},
"clutches": null,
"flashAssists": null,
"utilityDamage": null,
"byTeam": [
{
"statKey": "team:source-player-11893:source-team-9565",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"periodType": "career",
"periodStart": "2018-11-18T23:10:00.000Z",
"periodEnd": "2026-09-20T15:00:00.000Z",
"eventId": null,
"eventName": null,
"matches": 169,
"maps": 266,
"kills": 5014,
"deaths": 3404,
"assists": 370,
"kdRatio": 1.473,
"adr": 88.68,
"kast": 0.7828,
"rating": 1.3099,
"openingKills": 243,
"openingDeaths": 124,
"consistencyScore": null,
"volatilityScore": null,
"opponentDifficulty": null,
"…": "1 more fields"
},
{
"statKey": "team:source-player-11893:source-team-4608",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-4608",
"teamName": "Natus Vincere",
"periodType": "career",
"periodStart": "2023-07-08T17:20:00.000Z",
"periodEnd": "2023-07-08T17:20:00.000Z",
"eventId": null,
"eventName": null,
"matches": 1,
"maps": 1,
"kills": 17,
"deaths": 19,
"assists": 0,
"kdRatio": 0.8947,
"adr": 84.2,
"kast": 0.708,
"rating": 1.01,
"openingKills": 0,
"openingDeaths": 0,
"consistencyScore": null,
"volatilityScore": null,
"opponentDifficulty": null,
"…": "1 more fields"
}
]
},
"meta": {
"count": 1,
"dataAvailable": true,
"limit": 1,
"total": 1,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player seasons
A player's stats by year.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/seasons" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_season_stats",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"dataAvailable": true,
"seasons": [
{
"statKey": "year:source-player-11893:2026",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"seasonYear": 2026,
"periodStart": "2026-02-02T13:00:00.000Z",
"periodEnd": "2026-09-20T15:00:00.000Z",
"matches": 46,
"maps": 102,
"kills": 1818,
"deaths": 1176,
"assists": 370,
"kdRatio": 1.5459,
"adr": 96.11,
"kast": 0.7953,
"rating": 1.2584,
"openingKills": 243,
"openingDeaths": 124,
"consistencyScore": null,
"volatilityScore": null,
"source": "match_stats",
"computedAt": "2026-09-23T03:15:32.102Z"
},
{
"statKey": "year:source-player-11893:2025",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"seasonYear": 2025,
"periodStart": "2025-01-19T17:30:00.000Z",
"periodEnd": "2025-11-13T10:00:00.000Z",
"matches": 42,
"maps": 51,
"kills": 843,
"deaths": 657,
"assists": 0,
"kdRatio": 1.2831,
"adr": 82.86,
"kast": 0.7671,
"rating": 1.2459,
"openingKills": 0,
"openingDeaths": 0,
"consistencyScore": null,
"volatilityScore": null,
"source": "match_stats",
"computedAt": "2026-09-23T03:15:32.102Z"
}
]
},
"meta": {
"count": 2,
"dataAvailable": true,
"limit": 2,
"total": 2,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player periods
A player's stats over rolling periods (e.g. last 3 months).
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
| period_type | string | Filter by period_type. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/periods" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_period_stats",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"periodTypeFilter": null,
"periods": [
{
"statKey": "career:source-player-11893:source-team-9565:vitality",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"periodType": "career",
"periodStart": null,
"periodEnd": null,
"eventId": null,
"eventName": null,
"eventTier": null,
"region": null,
"matches": 30,
"maps": 72,
"kills": 1409,
"deaths": 906,
"assists": 342,
"kdRatio": 1.5552,
"adr": 94.67,
"kast": 0.7997,
"rating": 1.2049,
"openingKills": 208,
"openingDeaths": 114,
"consistencyScore": 0.6997,
"…": "3 more fields"
},
{
"statKey": "career:source-player-11893:none:all",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": null,
"teamName": null,
"periodType": "career",
"periodStart": null,
"periodEnd": null,
"eventId": null,
"eventName": null,
"eventTier": null,
"region": null,
"matches": 2,
"maps": 3,
"kills": 72,
"deaths": 33,
"assists": 13,
"kdRatio": 2.1818,
"adr": 115.55,
"kast": 0.8494,
"rating": 1.296,
"openingKills": 10,
"openingDeaths": 4,
"consistencyScore": 0.8999,
"…": "3 more fields"
}
],
"dataAvailable": true
},
"meta": {
"count": 2,
"dataAvailable": true,
"limit": 2,
"total": 2,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player tournaments
Events a player has played, with placement and stats. These routes are equivalent; use whichever reads best.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/tournaments" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_tournaments",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"tournaments": [
{
"eventId": "cs2-event-8057",
"eventName": "StarLadder StarSeries Fall 2026",
"eventSlug": "starladder-starseries-fall-2026",
"eventTier": "A",
"startsAt": "2026-09-20T00:00:00.000Z",
"endsAt": "2026-09-20T23:59:59.000Z",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/e41cca58363bb111170d38a8c053e424.webp",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"matches": 3,
"maps": 5,
"kills": 83,
"deaths": 48,
"assists": 8,
"kdRatio": 1.729,
"adr": 90.64,
"kast": 0.84,
"rating": 1.547,
"openingKills": 12,
"openingDeaths": 2,
"source": "match_stats"
},
{
"eventId": "cs2-event-8249",
"eventName": "BLAST Open Porto 2026",
"eventSlug": "blast-open-porto-2026",
"eventTier": "A",
"startsAt": "2026-09-06T00:00:00.000Z",
"endsAt": "2026-09-06T23:59:59.000Z",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/64929ecef4267a000527d5fe1d3f62b1.webp",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"matches": 6,
"maps": 14,
"kills": 234,
"deaths": 179,
"assists": 12,
"kdRatio": 1.307,
"adr": 81.32,
"kast": 0.74,
"rating": 1.292,
"openingKills": 16,
"openingDeaths": 7,
"source": "match_stats"
}
],
"dataAvailable": true
},
"meta": {
"count": 2,
"dataAvailable": true,
"limit": 2,
"total": 2,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player trends
A player's rating and form over time.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| maps | string | Filter by maps. |
| periods | string | Filter by periods. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/trends" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_performance_trends",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"dataAvailable": true,
"trends": [
{
"trendKey": "last_30_days:source-player-11893",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"windowType": "last_30_days",
"periodStart": "2026-06-10T01:57:52.583Z",
"periodEnd": "2026-07-10T01:57:52.583Z",
"matches": 5,
"maps": 12,
"kills": 220,
"deaths": 139,
"assists": 57,
"kdRatio": 1.5827,
"adr": 97.96,
"kast": 0.7987,
"rating": 1.2207,
"consistencyScore": 0.6844,
"volatilityScore": 0.3156,
"computedAt": "2026-07-10T01:57:52.583Z"
},
{
"trendKey": "last_90_days:source-player-11893",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"windowType": "last_90_days",
"periodStart": "2026-04-11T01:57:52.583Z",
"periodEnd": "2026-07-10T01:57:52.583Z",
"matches": 20,
"maps": 50,
"kills": 950,
"deaths": 619,
"assists": 216,
"kdRatio": 1.5347,
"adr": 95.4,
"kast": 0.7963,
"rating": 1.1959,
"consistencyScore": 0.6934,
"volatilityScore": 0.3066,
"computedAt": "2026-07-10T01:57:52.583Z"
}
],
"recentMaps": [
{
"matchId": "cs2-match-2398108",
"mapId": "cs2-match-2398108-map-3",
"mapName": "Mirage",
"startsAt": "2026-09-20T18:49:47.000Z",
"eventName": "StarLadder StarSeries Fall 2026",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"opponentName": "Aurora",
"kills": 17,
"deaths": 7,
"assists": null,
"adr": 98.8,
"kast": 0.941,
"rating": 1.63
},
{
"matchId": "cs2-match-2398102",
"mapId": "cs2-match-2398102-map-1",
"mapName": "Mirage",
"startsAt": "2026-09-18T18:35:00.000Z",
"eventName": "StarLadder StarSeries Fall 2026",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"opponentName": "FURIA",
"kills": 26,
"deaths": 13,
"assists": 1,
"adr": null,
"kast": null,
"rating": 1.99
}
]
},
"meta": {
"periods": 2,
"recentMaps": 20,
"dataAvailable": true
}
}Player transfers
A player's moves between teams.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/transfers" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_transfers",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"dataAvailable": true,
"currentTeamId": "cs2-team-9565",
"currentTeamName": "Vitality",
"status": "active",
"transferHistory": [
{
"transferKey": "profile-history:2018-10-01:source-player-11893:source-team-5639:source-team-9565:joined",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"playerImageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/9a20575a48df13463513233c6314f72c.webp",
"fromTeamId": "cs2-team-5639",
"fromTeamName": "aAa",
"fromTeamLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/686cbe0c559e95cae6a091ffc4a7f524.svg",
"fromTeamAlternateLogoUrl": null,
"fromTeamDarkUiLogoUrl": null,
"fromTeamIsNoTeam": false,
"toTeamId": "cs2-team-9565",
"toTeamName": "Vitality",
"toTeamLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/0cd34febd1ad61ff888f21b55756003b.webp",
"toTeamAlternateLogoUrl": null,
"toTeamDarkUiLogoUrl": null,
"toTeamIsNoTeam": false,
"status": "joined",
"role": null,
"transferDate": "2018-10-01T12:00:00.000Z",
"joinDate": "2018-10-01T12:00:00.000Z",
"leaveDate": null,
"detectedAt": "2026-07-10T00:53:55.880Z"
},
{
"transferKey": "profile-history:2017-09-01:source-player-11893:source-team-7649:source-team-5639:joined",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"playerImageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/9a20575a48df13463513233c6314f72c.webp",
"fromTeamId": "cs2-team-7649",
"fromTeamName": "WySix",
"fromTeamLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/9a3798b5b0651fe2e6df965cb7b1279c.webp",
"fromTeamAlternateLogoUrl": null,
"fromTeamDarkUiLogoUrl": null,
"fromTeamIsNoTeam": false,
"toTeamId": "cs2-team-5639",
"toTeamName": "aAa",
"toTeamLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/686cbe0c559e95cae6a091ffc4a7f524.svg",
"toTeamAlternateLogoUrl": null,
"toTeamDarkUiLogoUrl": null,
"toTeamIsNoTeam": false,
"status": "joined",
"role": null,
"transferDate": "2017-09-01T12:00:00.000Z",
"joinDate": "2017-09-01T12:00:00.000Z",
"leaveDate": null,
"detectedAt": "2026-07-10T00:53:55.731Z"
}
],
"rosterChanges": [
{
"changeId": "4dbd68eb-906d-4600-8782-c855a1ccf4bb",
"changeType": "join",
"teamId": "cs2-team-9565",
"fromTeamId": null,
"toTeamId": "cs2-team-9565",
"teamName": "Vitality",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"roleBefore": null,
"roleAfter": "AWPer",
"effectiveAt": "2026-07-10T01:50:43.165Z",
"detectedAt": "2026-07-10T01:50:43.165Z",
"confidence": "medium"
},
{
"changeId": "d2848d10-010b-4764-92fa-be5895c3ec66",
"changeType": "leave",
"teamId": "cs2-team-9565",
"fromTeamId": "cs2-team-9565",
"toTeamId": null,
"teamName": "Vitality",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"roleBefore": "AWPer",
"roleAfter": null,
…Player stats
A player's aggregate stats: rating, ADR, KAST, K/D and more.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/stats" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_stats",
"playerId": "cs2-player-11893",
"maps": 267,
"totals": {
"kills": 5031,
"deaths": 3423,
"assists": 370,
"headshots": 56,
"headshotPercent": 0.2
},
"clutches": {
"dataAvailable": false,
"unavailableReason": "being_recomputed",
"message": "Clutch statistics are being recomputed and are not available yet."
},
"flashAssists": {
"flashAssists": 38
},
"rows": [
{
"id": "9f2d2cce-cb5c-4bb8-b734-ac91220c4f64",
"mapId": "cs2-match-2398108-map-3",
"matchId": "cs2-match-2398108",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 17,
"deaths": 7,
"assists": null,
"plusMinus": 10,
"adr": 98.8,
"kast": 0.941,
"rating": 1.63,
"ratingVersion": "source_rating_3_0",
"headshots": null,
"headshotPercent": null,
"firstKills": null,
"firstDeaths": null,
"lastSyncedAt": "2026-09-22T19:46:44.885Z"
},
{
"id": "live-source-match-2398102-map-1-ZywOo",
"mapId": "cs2-match-2398102-map-1",
"matchId": "cs2-match-2398102",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 26,
"deaths": 13,
"assists": 1,
"plusMinus": 13,
"adr": null,
"kast": null,
"rating": 1.99,
"ratingVersion": "source_rating_3_0",
"headshots": 12,
"headshotPercent": null,
"firstKills": 6,
"firstDeaths": 1,
"source": "live",
"lastSyncedAt": "2026-09-18T20:28:20.871Z"
}
]
},
"meta": {
"dataAvailable": true,
"availability": "available"
}
}Player clutches
A player's clutch situations (1vX). Currently being recomputed: returns `data_available: false` with `unavailable_reason: being_recomputed`.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| player_id | string | Player id or slug. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/clutches" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_clutches",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"dataAvailable": false,
"unavailableReason": "being_recomputed",
"message": "Clutch statistics are being recomputed and are not available yet."
},
"meta": {
"count": 0,
"dataAvailable": false,
"limit": 0,
"total": 0,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player flash assists
Kills a player set up with flashbangs.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/flash-assists" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_flash_assists",
"playerId": "cs2-player-11893",
"playerNickname": "ZywOo",
"dataAvailable": true,
"flashAssists": [
{
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"flashAssists": 38,
"maps": 22,
"flashAssistsPerMap": 1.7273
}
]
},
"meta": {
"count": 1,
"dataAvailable": true,
"limit": 1,
"total": 1,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player matches
A player's stat lines, one row per map played, newest first.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/matches" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_player_stat",
"id": "9f2d2cce-cb5c-4bb8-b734-ac91220c4f64",
"mapId": "cs2-match-2398108-map-3",
"matchId": "cs2-match-2398108",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 17,
"deaths": 7,
"assists": null,
"plusMinus": 10,
"adr": 98.8,
"kast": 0.941,
"rating": 1.63,
"ratingVersion": "source_rating_3_0",
"headshots": null,
"headshotPercent": null,
"firstKills": null,
"firstDeaths": null,
"lastSyncedAt": "2026-09-22T19:46:44.885Z",
"map": {
"id": "cs2-match-2398108-map-3",
"matchId": "cs2-match-2398108",
"mapNumber": 3,
"mapName": "Mirage",
"status": "completed",
"team1Score": 0,
"team2Score": 1,
"team1Halves": [
4,
0
],
"team2Halves": [
8,
5
],
"winnerTeamId": "cs2-team-9565",
"durationRounds": 17,
"lastSyncedAt": "2026-09-22T19:46:47.384Z",
"match": {
"id": "cs2-match-2398108",
"eventId": "cs2-event-8057",
"eventName": "StarLadder StarSeries Fall 2026",
"eventSlug": "starladder-starseries-fall-2026",
"stageName": null,
"startsAt": "2026-09-20T18:49:47.000Z",
"endsAt": null,
"bestOf": 5,
"status": "completed",
"team1Id": "cs2-team-11861",
"team2Id": "cs2-team-9565",
"team1Name": "Aurora",
"team2Name": "Vitality",
"team1Score": 1,
"team2Score": 3,
"winnerTeamId": "cs2-team-9565",
"liveState": {
"status": "completed",
"team1Score": 1,
"team2Score": 3,
"winnerTeamId": "cs2-team-9565"
},
"vetoOrder": [
{
"…": "…"
},
{
"…": "…"
}
],
"streamLinks": [
{
"…": "…"
},
{
"…": "…"
}
],
"vodLinks": [],
"lastSyncedAt": "2026-09-23T03:07:06.893Z",
"lastVerified": "2026-09-23T03:07:06.893Z",
"confidence": "high",
"resultType": "played",
"…": "5 more fields"
},
"resultType": "played",
"resultStatus": "completed",
"isForfeit": false,
"statsEligible": false,
"unavailableReason": null,
"dataAvailability": {
"playerStats": {
"dataAvailable": false,
"unavailableReason": "not_stats_eligible"
}
}
},
"availableSubresources": [],
"unavailableSubresources": [],
"…": "5 more fields"
},
{
"entityType": "cs2_player_stat",
"id": "live-source-match-2398102-map-1-ZywOo",
"mapId": "cs2-match-2398102-map-1",
"matchId": "cs2-match-2398102",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 26,
"deaths": 13,
"assists": 1,
"plusMinus": 13,
"adr": null,
"kast": null,
"rating": 1.99,
"ratingVersion": "source_rating_3_0",
"headshots": 12,
"headshotPercent": null,
"firstKills": 6,
…Player maps
A player's stats per map.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| aggregate | string | Filter by aggregate. |
| days | integer | Look-back window in days. |
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
| summary | boolean | true returns a summary instead of full rows. |
| windowDays | integer | Look-back window in days. |
| window_days | integer | Look-back window in days. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/maps" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_player_stat",
"id": "9f2d2cce-cb5c-4bb8-b734-ac91220c4f64",
"mapId": "cs2-match-2398108-map-3",
"matchId": "cs2-match-2398108",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 17,
"deaths": 7,
"assists": null,
"plusMinus": 10,
"adr": 98.8,
"kast": 0.941,
"rating": 1.63,
"ratingVersion": "source_rating_3_0",
"headshots": null,
"headshotPercent": null,
"firstKills": null,
"firstDeaths": null,
"lastSyncedAt": "2026-09-22T19:46:44.885Z",
"map": {
"id": "cs2-match-2398108-map-3",
"matchId": "cs2-match-2398108",
"mapNumber": 3,
"mapName": "Mirage",
"status": "completed",
"team1Score": 0,
"team2Score": 1,
"team1Halves": [
4,
0
],
"team2Halves": [
8,
5
],
"winnerTeamId": "cs2-team-9565",
"durationRounds": 17,
"lastSyncedAt": "2026-09-22T19:46:47.384Z",
"resultType": "played",
"resultStatus": "completed",
"isForfeit": false,
"statsEligible": false,
"unavailableReason": null,
"dataAvailability": {
"playerStats": {
"dataAvailable": false,
"unavailableReason": "not_stats_eligible"
}
}
},
"availableSubresources": [],
"unavailableSubresources": [],
"…": "5 more fields"
},
{
"entityType": "cs2_player_stat",
"id": "live-source-match-2398102-map-1-ZywOo",
"mapId": "cs2-match-2398102-map-1",
"matchId": "cs2-match-2398102",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 26,
"deaths": 13,
"assists": 1,
"plusMinus": 13,
"adr": null,
"kast": null,
"rating": 1.99,
"ratingVersion": "source_rating_3_0",
"headshots": 12,
"headshotPercent": null,
"firstKills": 6,
"firstDeaths": 1,
"source": "live",
"lastSyncedAt": "2026-09-18T20:28:20.871Z",
"map": {
"id": "cs2-match-2398102-map-1",
"matchId": "cs2-match-2398102",
"mapNumber": 1,
"mapName": "Mirage",
"status": "completed",
"team1Score": 1,
"team2Score": 0,
"team1Halves": [
7
],
"team2Halves": [
5
],
"winnerTeamId": "cs2-team-9565",
"durationRounds": 21,
"lastSyncedAt": "2026-09-22T20:29:28.763Z",
"resultType": "played",
"resultStatus": "completed",
"isForfeit": false,
"statsEligible": false,
"unavailableReason": null,
"dataAvailability": {
"playerStats": {
"dataAvailable": false,
"unavailableReason": "not_stats_eligible"
}
}
},
"availableSubresources": [],
"…": "6 more fields"
}
],
"meta": {
"count": 2,
"limit": 2,
"total": 2,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player teams
Teams a player has played for, with dates. These routes are equivalent; use whichever reads best.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/teams" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"id": "8f40140c-772e-4d4e-8510-1c8360c754ba",
"teamId": "cs2-team-9565",
"playerId": "cs2-player-11893",
"role": "AWPer",
"fromAt": "2018-10-01T12:00:00.000Z",
"toAt": null,
"isActive": true,
"lastSyncedAt": "2026-09-23T00:11:42.818Z",
"team": {
"id": "cs2-team-9565",
"name": "Vitality",
"slug": "vitality",
"teamTag": "VITALITY",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/0cd34febd1ad61ff888f21b55756003b.webp",
"countryName": "France",
"countryCode": "FR",
"region": "Europe",
"worldRanking": 2,
"lastSyncedAt": "2026-09-23T03:08:44.625Z",
"lastVerified": "2026-09-23T03:08:44.625Z",
"confidence": "high",
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/c5e463f9b2347d3aa58794fb8f7ec967.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/c5e463f9b2347d3aa58794fb8f7ec967.webp"
}
},
{
"id": "c89f70dc-3630-4fa3-8143-8967904b6b93",
"teamId": "cs2-team-5639",
"playerId": "cs2-player-11893",
"role": null,
"fromAt": "2017-09-01T12:00:00.000Z",
"toAt": "2018-09-30T12:00:00.000Z",
"isActive": false,
"lastSyncedAt": "2026-07-10T01:37:18.872Z",
"team": {
"id": "cs2-team-5639",
"name": "aAa",
"slug": "aaa",
"teamTag": "AAA",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/686cbe0c559e95cae6a091ffc4a7f524.svg",
"countryName": "France",
"countryCode": "FR",
"region": "Europe",
"worldRanking": null,
"lastSyncedAt": "2026-09-23T03:10:18.460Z",
"lastVerified": "2026-09-23T03:10:18.460Z",
"confidence": "high"
}
}
],
"meta": {
"count": 5,
"limit": 5,
"total": 5,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player form
A player's most recent maps with kills, deaths, ADR, KAST and rating.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/form" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_player_stat",
"id": "9f2d2cce-cb5c-4bb8-b734-ac91220c4f64",
"mapId": "cs2-match-2398108-map-3",
"matchId": "cs2-match-2398108",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 17,
"deaths": 7,
"assists": null,
"plusMinus": 10,
"adr": 98.8,
"kast": 0.941,
"rating": 1.63,
"ratingVersion": "source_rating_3_0",
"headshots": null,
"headshotPercent": null,
"firstKills": null,
"firstDeaths": null,
"lastSyncedAt": "2026-09-22T19:46:44.885Z",
"map": {
"id": "cs2-match-2398108-map-3",
"matchId": "cs2-match-2398108",
"mapNumber": 3,
"mapName": "Mirage",
"status": "completed",
"team1Score": 0,
"team2Score": 1,
"team1Halves": [
4,
0
],
"team2Halves": [
8,
5
],
"winnerTeamId": "cs2-team-9565",
"durationRounds": 17,
"lastSyncedAt": "2026-09-22T19:46:47.384Z",
"match": {
"id": "cs2-match-2398108",
"eventId": "cs2-event-8057",
"eventName": "StarLadder StarSeries Fall 2026",
"eventSlug": "starladder-starseries-fall-2026",
"stageName": null,
"startsAt": "2026-09-20T18:49:47.000Z",
"endsAt": null,
"bestOf": 5,
"status": "completed",
"team1Id": "cs2-team-11861",
"team2Id": "cs2-team-9565",
"team1Name": "Aurora",
"team2Name": "Vitality",
"team1Score": 1,
"team2Score": 3,
"winnerTeamId": "cs2-team-9565",
"liveState": {
"status": "completed",
"team1Score": 1,
"team2Score": 3,
"winnerTeamId": "cs2-team-9565"
},
"vetoOrder": [
{
"…": "…"
},
{
"…": "…"
}
],
"streamLinks": [
{
"…": "…"
},
{
"…": "…"
}
],
"vodLinks": [],
"lastSyncedAt": "2026-09-23T03:07:06.893Z",
"lastVerified": "2026-09-23T03:07:06.893Z",
"confidence": "high",
"resultType": "played",
"…": "5 more fields"
},
"resultType": "played",
"resultStatus": "completed",
"isForfeit": false,
"statsEligible": false,
"unavailableReason": null,
"dataAvailability": {
"playerStats": {
"dataAvailable": false,
"unavailableReason": "not_stats_eligible"
}
}
},
"availableSubresources": [],
"unavailableSubresources": [],
"…": "5 more fields"
},
{
"entityType": "cs2_player_stat",
"id": "live-source-match-2398102-map-1-ZywOo",
"mapId": "cs2-match-2398102-map-1",
"matchId": "cs2-match-2398102",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"teamId": "cs2-team-9565",
"teamName": "Vitality",
"kills": 26,
"deaths": 13,
"assists": 1,
"plusMinus": 13,
"adr": null,
"kast": null,
"rating": 1.99,
"ratingVersion": "source_rating_3_0",
"headshots": 12,
"headshotPercent": null,
"firstKills": 6,
…Player weapons
A player's kills by weapon.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk/weapons" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player_weapon_stats",
"playerId": "cs2-player-11893",
"playerName": "ZywOo",
"dataAvailable": true,
"dataScope": "player_attributed_kill_events",
"weapons": [
{
"weapon": "AWP",
"kills": 282,
"headshots": 33,
"headshotPercent": 11.7,
"maps": 40,
"matches": 19,
"lastSyncedAt": "2026-07-24T20:52:24.264Z"
},
{
"weapon": "AK-47",
"kills": 185,
"headshots": 122,
"headshotPercent": 65.9,
"maps": 35,
"matches": 19,
"lastSyncedAt": "2026-07-24T20:52:24.264Z"
}
]
},
"meta": {
"count": 2,
"dataAvailable": true,
"dataScope": "player_attributed_kill_events",
"limit": 2,
"total": 2,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Player details
One player: nickname, real name, photo, country, team, role and headline stats.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| playerIdOrSlug (path)* | string | Player id (cs2-player-11893) or slug (zywoo). |
Example
curl "https://api.citoapi.com/api/v1/cs2/players/donk" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_player",
"id": "cs2-player-11893",
"nickname": "ZywOo",
"slug": "zywoo",
"realName": "Mathieu Herbaut",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/9a20575a48df13463513233c6314f72c.webp",
"countryName": "France",
"countryCode": "FR",
"age": 25,
"rating": 1.31,
"mapsPlayed": 167,
"careerStats": {
"rating": 1.31,
"lastKnownRating": 1.31
},
"currentTeamId": "cs2-team-9565",
"status": "active",
"primaryRole": "AWPer",
"roleConfidence": "high",
"statusUpdatedAt": "2026-09-23T00:11:42.818Z",
"lastSyncedAt": "2026-09-23T00:11:41.857Z",
"lastVerified": "2026-09-23T00:11:41.857Z",
"roster": [
{
"id": "cs2-player-8f40140c-772e-4d4e-8510-1c8360c754ba",
"teamId": "cs2-team-9565",
"playerId": "cs2-player-11893",
"role": "AWPer",
"fromAt": "2018-10-01T12:00:00.000Z",
"toAt": null,
"isActive": true,
"lastSyncedAt": "2026-09-23T00:11:42.818Z",
"team": {
"id": "cs2-team-9565",
"name": "Vitality",
"slug": "vitality",
"teamTag": "VITALITY",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/0cd34febd1ad61ff888f21b55756003b.webp",
"countryName": "France",
"countryCode": "FR",
"region": "Europe",
"worldRanking": 2,
"lastSyncedAt": "2026-09-23T03:08:44.625Z",
"lastVerified": "2026-09-23T03:08:44.625Z",
"confidence": "high",
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/c5e463f9b2347d3aa58794fb8f7ec967.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/c5e463f9b2347d3aa58794fb8f7ec967.webp"
}
},
{
"id": "cs2-player-c89f70dc-3630-4fa3-8143-8967904b6b93",
"teamId": "cs2-team-5639",
"playerId": "cs2-player-11893",
"role": null,
"fromAt": "2017-09-01T12:00:00.000Z",
"toAt": "2018-09-30T12:00:00.000Z",
"isActive": false,
"lastSyncedAt": "2026-07-10T01:37:18.872Z",
"team": {
"id": "cs2-team-5639",
"name": "aAa",
"slug": "aaa",
"teamTag": "AAA",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/686cbe0c559e95cae6a091ffc4a7f524.svg",
"countryName": "France",
"countryCode": "FR",
"region": "Europe",
"worldRanking": null,
"lastSyncedAt": "2026-09-23T03:10:18.460Z",
"lastVerified": "2026-09-23T03:10:18.460Z",
"confidence": "high"
}
}
],
"currentTeam": {
"id": "cs2-team-9565",
"name": "Vitality",
"slug": "vitality",
"teamTag": "VITALITY",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/0cd34febd1ad61ff888f21b55756003b.webp",
"countryName": "France",
"countryCode": "FR",
"region": "Europe",
"worldRanking": 2,
"lastSyncedAt": "2026-09-23T03:08:44.625Z",
"lastVerified": "2026-09-23T03:08:44.625Z",
"confidence": "high",
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/c5e463f9b2347d3aa58794fb8f7ec967.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/c5e463f9b2347d3aa58794fb8f7ec967.webp"
},
"availableSubreso
…List players
Players with photo, country, team and rating.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| active | boolean | Filter by active. |
| all | string | Filter by all. |
| archive | boolean | Filter by archive. |
| competitive | boolean | Filter by competitive. |
| fields | string | Comma-separated list of fields to return. |
| filter | string | Filter by filter. |
| hasImage | string | Filter by hasImage. |
| has_image | string | Filter by has_image. |
| includeUnverified | string | Filter by includeUnverified. |
| include_unverified | string | Filter by include_unverified. |
| letter | string | Filter by letter. |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
| offset | integer | Rows to skip, for paging. |
| orderBy | string | Filter by orderBy. |
| page | integer | Page number, starting at 1. |
| q | string | Search text. |
| search | string | Search text. |
| sort | string | Sort order. |
| summary | boolean | true returns a summary instead of full rows. |
| teamId | string | Team id or slug. |
Example
curl "https://api.citoapi.com/api/v1/cs2/players" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_player",
"id": "cs2-player-11358",
"nickname": "0i",
"slug": "0i",
"realName": "ZhiWei Liu",
"imageUrl": null,
"countryName": "China",
"countryCode": "CN",
"age": null,
"rating": 0,
"mapsPlayed": 1,
"careerStats": {
"rating": 0,
"window": "past_3_months",
"opening": null,
"sniping": null,
"trading": null,
"utility": null,
"entrying": null,
"clutching": null,
"firepower": null,
"mapsPlayed": null,
"prizeMoney": 31761,
"careerRating": 0,
"windowRating": null,
"missingFields": [
"age",
"maps_played"
],
"profileStatus": "failed",
"lastKnownRating": 0,
"lastActiveTournament": "LiveFISSURE Playground 3",
"profileImageStatus": "missing",
"profileImageClaimedAt": "2026-09-09T23:31:31.014284+00:00"
},
"currentTeamId": null,
"status": null,
"primaryRole": "rifler",
"roleConfidence": "low",
"statusUpdatedAt": "2026-09-11T00:50:14.854Z",
"lastSyncedAt": "2026-09-21T03:53:32.948Z",
"lastVerified": "2026-09-11T00:50:14.854Z",
"prizeMoney": 31761,
"availableSubresources": [
"stats",
"matches"
],
"unavailableSubresources": [
"weapons"
],
"unavailableFields": {
"imageUrl": null,
"age": {
"reason": "profile_field_unavailable"
},
"currentTeamId": {
"reason": "profile_field_unavailable"
}
},
"dataQuality": "complete",
"…": "2 more fields"
},
{
"entityType": "cs2_player",
"id": "cs2-player-25337",
"nickname": "0l0h0",
"slug": "0l0h0",
"realName": "Oleh Mazur",
"imageUrl": null,
"countryName": "Ukraine",
"countryCode": "UA",
"age": null,
"rating": 1.05,
"mapsPlayed": 1,
"careerStats": {
"rating": 1.05,
"window": "past_3_months",
"opening": null,
"sniping": null,
"trading": null,
"utility": null,
"entrying": null,
"clutching": null,
"firepower": null,
"mapsPlayed": 6,
"prizeMoney": 145,
"careerRating": 1.05,
"windowRating": null,
"missingFields": [
"age"
],
"profileStatus": "partial",
"lastKnownRating": 1.05,
"lastActiveTournament": "LiveBLAST Open Porto",
"profileImageStatus": "missing",
"profileImageClaimedAt": "2026-09-09T01:45:18.695068+00:00"
},
"currentTeamId": null,
"status": null,
"primaryRole": "rifler",
"roleConfidence": "low",
"statusUpdatedAt": "2026-09-02T06:45:58.995Z",
"lastSyncedAt": "2026-09-17T09:16:26.808Z",
"lastVerified": "2026-09-17T09:16:26.808Z",
"prizeMoney": 145,
"availableSubresources": [
"stats",
"matches"
],
"unavailableSubresources": [
"weapons"
],
"unavailableFields": {
"imageUrl": null,
"age": {
"reason": "profile_field_unavailable"
},
"currentTeamId": {
"reason": "profile_field_unavailable"
}
},
"dataQuality": "complete",
"…": "2 more fields"
}
],
"meta": {
"page": 1,
"limit": 2,
"total": 6043
…Try the CS2 Player Stats API
Run a real request with your key, then wire the same call into your app. The free plan includes 500 requests a month.
curl "https://api.citoapi.com/api/v1/cs2/players/donk/stats" \
-H "x-api-key: YOUR_API_KEY"