CS2 Matches API
Schedules, results and everything recorded about a single series: maps played, player stats per map, lineup form, head-to-head history, streams and demo links.
15 endpoints in this section. Authenticate with the x-api-key header; every response is { success, data, meta }. Other sections: Live, Odds, Maps & rounds, Rankings, Teams, Players, Events, Stats & leaderboards, Skins, Transfers, Search & reference.
Today's matches
Matches scheduled, live or finished today (UTC).
Query parameters
| Parameter | Type | Description |
|---|---|---|
| event | string | Event id or slug. |
| eventId | string | Filter by eventId. |
| event_id | string | Filter by event_id. |
| fields | string | Comma-separated list of fields to return. |
| from | string | Start of the date range (ISO 8601, UTC). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
| offset | integer | Rows to skip, for paging. |
| order | string | Filter by order. |
| page | integer | Page number, starting at 1. |
| playerId | string | Player id or slug. |
| player_id | string | Player id or slug. |
| sort | string | Sort order. |
| status | string | Filter by status. |
| summary | boolean | true returns a summary instead of full rows. |
| team | string | Team id or slug. |
| teamId | string | Team id or slug. |
| team_id | string | Team id or slug. |
| to | string | End of the date range (ISO 8601, UTC). |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/today" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_match",
"id": "cs2-match-2399544",
"eventId": "cs2-event-9437",
"eventName": "DFRAG Logitech G Pro Series 2026",
"eventSlug": "dfrag-logitech-g-pro-series-2026",
"stageName": null,
"startsAt": "2026-10-17T00:00:00.000Z",
"endsAt": null,
"bestOf": 3,
"status": "upcoming",
"team1Id": "cs2-team-12774",
"team2Id": "cs2-team-9881",
"team1Name": "FlyQuest",
"team2Name": "Rooster",
"team1Score": null,
"team2Score": null,
"winnerTeamId": null,
"lastSyncedAt": "2026-10-16T19:18:20.305Z",
"lastVerified": "2026-10-16T19:18:20.305Z",
"confidence": "high",
"event": {
"id": "cs2-event-9437",
"name": "DFRAG Logitech G Pro Series 2026",
"slug": "dfrag-logitech-g-pro-series-2026",
"imageUrl": null,
"prizePool": 13893,
"currency": "USD",
"tier": null,
"prestigeScore": null,
"status": "live",
"region": null,
"startsAt": "2026-10-15T00:00:00.000Z",
"endsAt": "2026-10-18T23:59:59.000Z",
"eventId": "cs2-event-9437",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/6ff337399196909de22a89c37b9129cf.webp",
"bannerImageUrl": null
},
"team1": {
"id": "cs2-team-12774",
"name": "FlyQuest",
"slug": "flyquest",
"teamTag": "FLYQUEST",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/1a57938f5339bba6362144e7068c8f57.webp",
"countryName": "Australia",
"countryCode": "AU",
"worldRanking": 67
},
"team2": {
"id": "cs2-team-9881",
"name": "Rooster",
"slug": "rooster",
"teamTag": "ROOSTER",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/94824588bc83564602ede7c40d33f0b3.webp",
"countryName": "Australia",
"countryCode": "AU",
"worldRanking": 172
},
"maps": [
{
"id": "cs2-match-2399544-map-1",
"matchId": "cs2-match-2399544",
"mapNumber": 1,
"mapName": "TBA",
"status": "upcoming",
"team1Score": null,
"team2Score": null,
"team1Halves": null,
"team2Halves": null,
"winnerTeamId": null,
"durationRounds": null,
"lastSyncedAt": "2026-10-16T19:18:20.361Z",
"mapImageUrl": null,
"pickTeamId": null,
"objectiveStats": {
"dataAvailable": false,
"unavailableReason": "not_yet_indexed",
"confidence": {
"…": "…"
},
"teamStats": [
"…"
],
"roundEvents": [
"…"
]
},
"mapNameCanonical": null,
"imageUrl": null,
"coverImageUrl": null,
"resultType": "not_played",
"resultStatus": "not_played",
"isForfeit": false,
"statsEligible": false,
"unavailableReason": "map_not_played",
"dataAvailability": {
"playerStats": {
"…": "…"
}
}
},
{
"id": "cs2-match-2399544-map-2",
"matchId": "cs2-match-2399544",
"mapNumber": 2,
"mapName": "TBA",
"status": "upcoming",
"team1Score": null,
…Past matches
Finished matches, newest first, with date-range filters.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| event | string | Event id or slug. |
| eventId | string | Filter by eventId. |
| event_id | string | Filter by event_id. |
| fields | string | Comma-separated list of fields to return. |
| from | string | Start of the date range (ISO 8601, UTC). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
| offset | integer | Rows to skip, for paging. |
| order | string | Filter by order. |
| page | integer | Page number, starting at 1. |
| playerId | string | Player id or slug. |
| player_id | string | Player id or slug. |
| sort | string | Sort order. |
| status | string | Filter by status. |
| summary | boolean | true returns a summary instead of full rows. |
| team | string | Team id or slug. |
| teamId | string | Team id or slug. |
| team_id | string | Team id or slug. |
| to | string | End of the date range (ISO 8601, UTC). |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/past" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_match",
"id": "cs2-match-2399265",
"eventId": "cs2-event-9223",
"eventName": "Stake Pulse Beat III",
"eventSlug": "stake-pulse-beat-iii",
"stageName": null,
"startsAt": "2026-10-16T17:35:00.000Z",
"endsAt": "2026-10-16T19:14:49.880Z",
"bestOf": 3,
"status": "completed",
"team1Id": "cs2-team-8474",
"team2Id": "cs2-team-10333",
"team1Name": "100 Thieves",
"team2Name": "Sangal",
"team1Score": 2,
"team2Score": 0,
"winnerTeamId": "cs2-team-8474",
"lastSyncedAt": "2026-10-16T19:18:14.369Z",
"lastVerified": "2026-10-16T19:18:14.369Z",
"confidence": "high",
"event": {
"id": "cs2-event-9223",
"name": "Stake Pulse Beat III",
"slug": "stake-pulse-beat-iii",
"imageUrl": null,
"prizePool": 80000,
"currency": "USD",
"tier": "B",
"prestigeScore": 55,
"status": "live",
"region": "Europe",
"startsAt": "2026-10-12T00:00:00.000Z",
"endsAt": "2026-10-17T23:59:59.000Z",
"eventId": "cs2-event-9223",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/cc06bce6e2266d321e98b51ed97d659d.webp",
"bannerImageUrl": null
},
"team1": {
"id": "cs2-team-8474",
"name": "100 Thieves",
"slug": "100-thieves",
"teamTag": "1T",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/ac59058bd7afa346763eda6e57e98413.webp",
"countryName": "Europe",
"countryCode": null,
"worldRanking": 37,
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/46d3bfa423b2598593ea7ce36ad3149e.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/46d3bfa423b2598593ea7ce36ad3149e.webp"
},
"team2": {
"id": "cs2-team-10333",
"name": "Sangal",
"slug": "sangal",
"teamTag": "SANGAL",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/589718d15a9312a392d82f11d372896e.webp",
"countryName": "Europe",
"countryCode": null,
"worldRanking": 45
},
"maps": [
{
"id": "cs2-match-2399265-map-1",
"matchId": "cs2-match-2399265",
"mapNumber": 1,
"mapName": "Nuke",
"status": "completed",
"team1Score": 13,
"team2Score": 8,
"team1Halves": null,
"team2Halves": null,
"winnerTeamId": "cs2-team-8474",
"durationRounds": 21,
"lastSyncedAt": "2026-10-16T19:14:47.353Z",
"mapImageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/maps/nuke.png",
"pickTeamId": null,
"objectiveStats": {
"dataAvailable": false,
"unavailableReason": "not_yet_indexed",
"confidence": {
"…": "…"
},
"teamStats": [
"…"
],
"roundEvents": [
"…"
]
},
"mapNameCanonical": "Nuke",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/maps/nuke.png",
"coverImageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/maps/nuke.png",
"resultType": "played",
"resultStatus": "completed",
"isForfeit": false,
"statsEligible
…Search matches
Find matches by team or event name.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
| q* | string | Search text. |
| query | string | Filter by query. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/search" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_match",
"id": "cs2-match-2399723",
"eventId": "cs2-event-8050",
"eventName": "PGL Masters Bucharest 2026",
"eventSlug": "pgl-masters-bucharest-2026",
"stageName": null,
"startsAt": "2026-10-24T13:00:00.000Z",
"endsAt": null,
"bestOf": 3,
"status": "upcoming",
"team1Id": "cs2-team-9565",
"team2Id": "cs2-team-9996",
"team1Name": "Vitality",
"team2Name": "9z",
"team1Score": null,
"team2Score": null,
"winnerTeamId": null,
"lastSyncedAt": "2026-10-16T19:15:24.293Z",
"lastVerified": "2026-10-16T19:15:24.293Z",
"confidence": "high",
"event": {
"id": "cs2-event-8050",
"name": "PGL Masters Bucharest 2026",
"slug": "pgl-masters-bucharest-2026",
"imageUrl": null,
"prizePool": 1250000,
"currency": "USD",
"tier": "A",
"prestigeScore": 80,
"status": "upcoming",
"region": "Europe",
"startsAt": "2026-10-24T00:00:00.000Z",
"endsAt": "2026-10-31T23:59:59.000Z",
"eventId": "cs2-event-8050",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/3d243df9e55b3252320526320ebfa51e.webp",
"bannerImageUrl": null
},
"team1": {
"id": "cs2-team-9565",
"name": "Vitality",
"slug": "vitality",
"teamTag": "VITALITY",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/0cd34febd1ad61ff888f21b55756003b.webp",
"countryName": "Europe",
"countryCode": null,
"worldRanking": 2,
"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"
},
"team2": {
"id": "cs2-team-9996",
"name": "9z",
"slug": "9z",
"teamTag": "9Z",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/bcbd4fb558dfa12256480e5f9bdadb09.webp",
"countryName": "South America",
"countryCode": null,
"worldRanking": 17,
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/21fb40fe1479cdfdcb47cf590ff9bc38.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/21fb40fe1479cdfdcb47cf590ff9bc38.webp"
},
"maps": [],
"…": "16 more fields"
},
{
"entityType": "cs2_match",
"id": "cs2-match-2398757",
"eventId": "cs2-event-8244",
"eventName": "ESL Pro League Season 24",
"eventSlug": "esl-pro-league-season-24",
"stageName": null,
"startsAt": "2026-10-11T15:00:00.000Z",
"endsAt": "2026-10-11T18:13:51.234Z",
"bestOf": 5,
"status": "completed",
"team1Id": "cs2-team-9565",
"team2Id": "cs2-team-4494",
"team1Name": "Vitality",
"team2Name": "MOUZ",
"team1Score": 3,
"team2Score": 0,
"winnerTeamId": "cs2-team-9565",
"lastSyncedAt": "2026-10-16T19:16:19.761Z",
"lastVerified": "2026-10-16T19:16:19.761Z",
"confidence": "high",
"event": {
"id": "cs2-event-8244",
"name": "ESL Pro League Season 24",
"slug": "esl-pro-league-season-24",
"imageUrl": null,
"prizePool": 1000000,
"currency": "USD",
"tier": "S",
…Upcoming matches
Scheduled matches, soonest first. These routes are equivalent; use whichever reads best.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/upcoming" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_match",
"id": "cs2-match-2399650",
"eventId": "cs2-event-9443",
"eventName": "GLuck Yungstar 2026 Series 3",
"eventSlug": "gluck-yungstar-2026-series-3",
"stageName": null,
"startsAt": "2026-10-16T19:45:00.000Z",
"endsAt": null,
"bestOf": 3,
"status": "upcoming",
"team1Id": "cs2-team-13238",
"team2Id": "cs2-team-13796",
"team1Name": "JUMBO",
"team2Name": "Young TigeRES",
"team1Score": null,
"team2Score": null,
"winnerTeamId": null,
"liveState": {
"status": "upcoming",
"team1Score": null,
"team2Score": null,
"winnerTeamId": null
},
"vetoOrder": null,
"streamLinks": null,
"vodLinks": [],
"lastSyncedAt": "2026-10-16T19:35:46.754Z",
"lastVerified": "2026-10-16T19:35:46.754Z",
"confidence": "high",
"…": "18 more fields"
},
{
"entityType": "cs2_match",
"id": "cs2-match-2399651",
"eventId": "cs2-event-9443",
"eventName": "GLuck Yungstar 2026 Series 3",
"eventSlug": "gluck-yungstar-2026-series-3",
"stageName": null,
"startsAt": "2026-10-16T19:50:00.000Z",
"endsAt": null,
"bestOf": 3,
"status": "upcoming",
"team1Id": "cs2-team-11312",
"team2Id": null,
"team1Name": "QUAZAR",
"team2Name": null,
"team1Score": null,
"team2Score": null,
"winnerTeamId": null,
"liveState": {
"status": "upcoming",
"team1Score": null,
"team2Score": null,
"winnerTeamId": null
},
"vetoOrder": null,
"streamLinks": null,
"vodLinks": [],
"lastSyncedAt": "2026-10-16T19:18:17.228Z",
"lastVerified": "2026-10-16T19:18:17.228Z",
"confidence": "high",
"…": "18 more fields"
}
],
"meta": {
"count": 2,
"limit": 2,
"total": 2,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Recent results
Finished matches with final series score and winner, newest first. These routes are equivalent; use whichever reads best.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/recent" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_match",
"id": "cs2-match-2399265",
"eventId": "cs2-event-9223",
"eventName": "Stake Pulse Beat III",
"eventSlug": "stake-pulse-beat-iii",
"stageName": null,
"startsAt": "2026-10-16T17:35:00.000Z",
"endsAt": "2026-10-16T19:14:49.880Z",
"bestOf": 3,
"status": "completed",
"team1Id": "cs2-team-8474",
"team2Id": "cs2-team-10333",
"team1Name": "100 Thieves",
"team2Name": "Sangal",
"team1Score": 2,
"team2Score": 0,
"winnerTeamId": "cs2-team-8474",
"lastSyncedAt": "2026-10-16T19:18:14.369Z",
"lastVerified": "2026-10-16T19:18:14.369Z",
"confidence": "high",
"event": {
"id": "cs2-event-9223",
"name": "Stake Pulse Beat III",
"slug": "stake-pulse-beat-iii",
"imageUrl": null,
"prizePool": 80000,
"currency": "USD",
"tier": "B",
"prestigeScore": 55,
"status": "live",
"region": "Europe",
"startsAt": "2026-10-12T00:00:00.000Z",
"endsAt": "2026-10-17T23:59:59.000Z",
"eventId": "cs2-event-9223",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/cc06bce6e2266d321e98b51ed97d659d.webp",
"bannerImageUrl": null
},
"team1": {
"id": "cs2-team-8474",
"name": "100 Thieves",
"slug": "100-thieves",
"teamTag": "1T",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/ac59058bd7afa346763eda6e57e98413.webp",
"countryName": "Europe",
"countryCode": null,
"worldRanking": 37,
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/46d3bfa423b2598593ea7ce36ad3149e.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/46d3bfa423b2598593ea7ce36ad3149e.webp"
},
"team2": {
"id": "cs2-team-10333",
"name": "Sangal",
"slug": "sangal",
"teamTag": "SANGAL",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/589718d15a9312a392d82f11d372896e.webp",
"countryName": "Europe",
"countryCode": null,
"worldRanking": 45
},
"maps": [
{
"id": "cs2-match-2399265-map-1",
"matchId": "cs2-match-2399265",
"mapNumber": 1,
"mapName": "Nuke",
"status": "completed",
"team1Score": 13,
"team2Score": 8,
"team1Halves": null,
"team2Halves": null,
"winnerTeamId": "cs2-team-8474",
"durationRounds": 21,
"lastSyncedAt": "2026-10-16T19:14:47.353Z",
"mapImageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/maps/nuke.png",
"pickTeamId": null,
"objectiveStats": {
"dataAvailable": false,
"unavailableReason": "not_yet_indexed",
"confidence": {
"…": "…"
},
"teamStats": [
"…"
],
"roundEvents": [
"…"
]
},
"mapNameCanonical": "Nuke",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/maps/nuke.png",
"coverImageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/maps/nuke.png",
"resultType": "played",
"resultStatus": "completed",
"isForfeit": false,
"statsEligible
…Match streams
Broadcast links for a match, when known.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID/streams" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_match_streams",
"matchId": "cs2-match-2399265",
"streams": [
{
"platform": "kick",
"language": "en",
"url": "https://kick.com/stake_pulse"
},
{
"platform": "kick",
"language": "en",
"url": "https://kick.com/trottah"
}
]
},
"meta": {
"count": 15,
"limit": 15,
"total": 15,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Match head-to-head
Previous meetings between the two teams in this match.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
| limit | integer | Rows to return. Maximum 250; larger values are reduced to 250. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID/head-to-head" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_team_h2h",
"team": {
"id": "cs2-team-8474",
"name": "100 Thieves"
},
"opponent": {
"id": "cs2-team-10333",
"name": "Sangal"
},
"totalMatches": 1,
"matchRecord": {
"teamWins": 1,
"opponentWins": 0,
"teamWinPercent": 100,
"opponentWinPercent": 0
},
"mapRecord": {
"teamWins": 2,
"opponentWins": 0,
"totalDecidedMaps": 2,
"teamWinPercent": 100,
"opponentWinPercent": 0
},
"mapBreakdown": [
{
"mapName": "Nuke",
"played": 1,
"teamWins": 1,
"opponentWins": 0,
"teamWinPercent": 100,
"opponentWinPercent": 0,
"roundsFor": 13,
"roundsAgainst": 8,
"roundDifferential": 5
},
{
"mapName": "Dust2",
"played": 1,
"teamWins": 1,
"opponentWins": 0,
"teamWinPercent": 100,
"opponentWinPercent": 0,
"roundsFor": 13,
"roundsAgainst": 5,
"roundDifferential": 8
}
],
"recent5Matches": [
{
"matchId": "cs2-match-2399265",
"status": "completed",
"startsAt": "2026-10-16T17:35:00.000Z",
"eventName": "Stake Pulse Beat III",
"bestOf": 3,
"opponentId": "cs2-team-10333",
"opponentName": "Sangal",
"teamScore": 2,
"opponentScore": 0,
"score": "2-0",
"result": "W",
"maps": [
{
"mapId": "cs2-match-2399265-map-1",
"mapNumber": 1,
"mapName": "Nuke",
"status": "completed",
"teamScore": 13,
"opponentScore": 8,
"score": "13-8",
"result": "W",
"winnerTeamId": "cs2-team-8474",
"roundsFor": 13,
"roundsAgainst": 8
},
{
"mapId": "cs2-match-2399265-map-2",
"mapNumber": 2,
"mapName": "Dust2",
"status": "completed",
"teamScore": 13,
"opponentScore": 5,
"score": "13-5",
"result": "W",
"winnerTeamId": "cs2-team-8474",
"roundsFor": 13,
"roundsAgainst": 5
}
]
}
],
"matches": [
{
"matchId": "cs2-match-2399265",
"status": "completed",
"startsAt": "2026-10-16T17:35:00.000Z",
"eventName": "Stake Pulse Beat III",
"bestOf": 3,
"opponentId": "cs2-team-10333",
"opponentName": "Sangal",
"teamScore": 2,
"opponentScore": 0,
"score": "2-0",
"result": "W",
"maps": [
{
"mapId": "cs2-match-2399265-map-1",
"mapNumber": 1,
"mapName": "Nuke",
"status": "completed",
"teamScore": 13,
"opponentScore": 8,
"score": "13-8",
"result": "W",
"winnerTeamId": "cs2-team-8474",
"roundsFor": 13,
"roundsAgainst": 8
},
{
"mapId": "cs2-match-2399265-map-2",
"mapNumber": 2,
"mapName": "Dust2",
"status": "completed",
"teamScore": 13,
"opponentScore": 5,
"score": "13-5",
"result": "W",
"winnerTeamId": "cs2-team-8474",
"roundsFor": 13,
"roundsAgainst": 5
}
]
…Match demos
Demo availability per map, and whether each demo has been parsed into round data.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
| limit | integer | Rows to return. Maximum 100; larger values are reduced to 100. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID/demos" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"dataAvailable": false,
"unavailableReason": "not_yet_indexed",
"dataQuality": "unavailable",
"message": "Demo archive availability has not been indexed for this CS2 match yet."
},
"meta": {
"count": 0,
"dataAvailable": false,
"limit": 0,
"total": 0,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Match maps
Maps played or scheduled in a match: map name, score, halves and winner.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID/maps" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_map",
"id": "cs2-match-2399265-map-1",
"matchId": "cs2-match-2399265",
"mapNumber": 1,
"mapName": "Nuke",
"status": "completed",
"team1Score": 13,
"team2Score": 8,
"team1Halves": null,
"team2Halves": null,
"winnerTeamId": "cs2-team-8474",
"durationRounds": 21,
"lastSyncedAt": "2026-10-16T19:14:47.353Z",
"playerStats": [
{
"id": "live-source-match-2399265-map-1-Gizmy",
"mapId": "cs2-match-2399265-map-1",
"matchId": "cs2-match-2399265",
"playerId": "cs2-player-21816",
"playerName": "Gizmy",
"teamId": "cs2-team-8474",
"teamName": "100 Thieves",
"kills": 11,
"deaths": 12,
"assists": 4,
"plusMinus": -1,
"adr": 61.5,
"kast": 0.762,
"rating": 0.99,
"ratingVersion": "cito_rating_1",
"headshots": 6,
"headshotPercent": 0.545,
"firstKills": 2,
"firstDeaths": 1,
"lastSyncedAt": "2026-10-16T19:14:48.147Z",
"mapNameCanonical": null,
"imageUrl": null,
"mapImageUrl": null,
"coverImageUrl": null,
"…": "6 more fields"
},
{
"id": "live-source-match-2399265-map-1-Joey",
"mapId": "cs2-match-2399265-map-1",
"matchId": "cs2-match-2399265",
"playerId": "cs2-player-25253",
"playerName": "Joey",
"teamId": "cs2-team-10333",
"teamName": "Sangal",
"kills": 13,
"deaths": 15,
"assists": 0,
"plusMinus": -2,
"adr": 67.5,
"kast": 0.524,
"rating": 0.84,
"ratingVersion": "cito_rating_1",
"headshots": 8,
"headshotPercent": 0.615,
"firstKills": 1,
"firstDeaths": 4,
"lastSyncedAt": "2026-10-16T19:14:48.329Z",
"mapNameCanonical": null,
"imageUrl": null,
"mapImageUrl": null,
"coverImageUrl": null,
"…": "6 more fields"
}
],
"bombEvents": [],
"bombStats": [],
"weaponAggregates": [],
"mapImageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/maps/nuke.png",
"pickTeamId": "cs2-team-10333",
"objectiveStats": {
"dataAvailable": false,
"unavailableReason": "not_yet_indexed",
"confidence": {
"plants": "high",
"defuses": "high",
"explosions": "high",
"clutchDefuse": "medium"
},
"teamStats": [],
"roundEvents": []
},
"availableSubresources": [
"player_stats"
],
"unavailableSubresources": [
"objective_stats"
],
"unavailableFields": {},
"dataQuality": "partial",
"…": "12 more fields"
},
{
"entityType": "cs2_map",
"id": "cs2-match-2399265-map-2",
"matchId": "cs2-match-2399265",
"mapNumber": 2,
"mapName": "Dust2",
"status": "completed",
"team1Score": 13,
"team2Score": 5,
"team1Halves": null,
"team2Halves": null,
"winnerTeamId": "cs2-team-8474",
"durationRounds": 18,
"lastSyncedAt": "2026-10-16T19:14:47.405Z",
"playerStats": [
{
"id": "live-source-match-2399265-map-2-Gizmy",
"mapId": "cs2-match-2399265-map-2",
…Match games
The match's maps as games, each with the `gameId` used by `/cs2/games/{gameId}`.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID/games" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"id": "cs2-match-2399265-map-1",
"entityType": "cs2_game",
"matchId": "cs2-match-2399265",
"mapNumber": 1,
"map": "Nuke",
"pickTeamId": null,
"winnerTeamId": "cs2-team-8474",
"score": {
"team1": 13,
"team2": 8
},
"halfScores": null,
"team1Halves": null,
"team2Halves": null,
"overtime": null,
"durationRounds": 21,
"duration": {
"rounds": 21,
"source": "stored"
},
"status": "completed",
"resultType": "played",
"resultStatus": "completed",
"isForfeit": false,
"statsEligible": true,
"unavailableReason": null,
"playerStatsAvailable": true,
"playerStats": [
{
"playerId": "cs2-player-21816",
"playerName": "Gizmy",
"teamId": "cs2-team-8474",
"teamName": "100 Thieves",
"kills": 11,
"deaths": 12,
"assists": 4,
"plusMinus": -1,
"adr": 61.5,
"kast": 0.762,
"rating": 0.99,
"ratingVersion": "cito_rating_1",
"headshots": 6,
"headshotPercent": 0.545,
"openingKills": 2,
"openingDeaths": 1,
"ratingProfile": {
"rating": 0.99,
"ratingVersion": "cito_rating_1",
"components": {
"…": "…"
},
"openingDuels": {
"…": "…"
},
"formula": "Cito Rating 1.0 per map: 0.30*KPR/0.683 + 0.25*(1-DPR)/0.305 + 0.25*ADR/74.1 + 0.15*KAST/0.716 + 0.05*APR/0.223 (per-round kills, deaths, assists; missing ADR/KAST/assists terms are dropped and the weights rescaled). An average map is ab..."
},
"lastSyncedAt": "2026-10-16T19:14:48.147Z"
},
{
"playerId": "cs2-player-25253",
"playerName": "Joey",
"teamId": "cs2-team-10333",
"teamName": "Sangal",
"kills": 13,
"deaths": 15,
"assists": 0,
"plusMinus": -2,
"adr": 67.5,
"kast": 0.524,
"rating": 0.84,
"ratingVersion": "cito_rating_1",
"headshots": 8,
"headshotPercent": 0.615,
"openingKills": 1,
"openingDeaths": 4,
"ratingProfile": {
"rating": 0.84,
"ratingVersion": "cito_rating_1",
"components": {
"…": "…"
},
"openingDuels": {
"…": "…"
},
"formula": "Cito Rating 1.0 per map: 0.30*KPR/0.683 + 0.25*(1-DPR)/0.305 + 0.25*ADR/74.1 + 0.15*KAST/0.716 + 0.05*APR/0.223 (per-round kills, deaths, assists; missing ADR/KAST/assists terms are dropped and the weights rescaled). An average map is ab..."
},
"lastSyncedAt": "2026-10-16T19:14:48.329Z"
}
],
"roundsAvailable": false,
"objectiveStats": {
"dataAvailable": false,
"unavailableReason": "not_yet_indexed",
"confidence": {
"plants": "high",
"defuses": "high",
"explosions": "high",
"clutchDefuse": "medium"
},
"teamStats": [],
"roundEvents": []
},
"…": "4 more fields"
},
{
"id": "cs2-match-2399265-map-2",
"entityType": "cs2_game",
"matchId": "cs2-match-2399265",
"mapNumber": 2,
"map": "Dust2",
"pickTeamId": nu
…Match player stats
Per-player stats for each map of a match: kills, deaths, ADR, KAST and rating. These routes are equivalent; use whichever reads best.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID/player-stats" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_player_stat",
"id": "live-source-match-2399265-map-1-Gizmy",
"mapId": "cs2-match-2399265-map-1",
"matchId": "cs2-match-2399265",
"playerId": "cs2-player-21816",
"playerName": "Gizmy",
"teamId": "cs2-team-8474",
"teamName": "100 Thieves",
"kills": 11,
"deaths": 12,
"assists": 4,
"plusMinus": -1,
"adr": 61.5,
"kast": 0.762,
"rating": 0.99,
"ratingVersion": "cito_rating_1",
"headshots": 6,
"headshotPercent": 0.545,
"firstKills": 2,
"firstDeaths": 1,
"lastSyncedAt": "2026-10-16T19:14:48.147Z",
"player": {
"id": "cs2-player-21816",
"nickname": "Gizmy",
"slug": "gizmy",
"realName": "Jack von Spreckelsen",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/eba9e8db28a85e230e1f1f2e529829f5.webp",
"countryName": "United Kingdom",
"countryCode": "GB",
"age": 22,
"rating": 0.94,
"mapsPlayed": 72,
"careerStats": {
"rating": 0.94,
"lastKnownRating": 0.94
},
"currentTeamId": "cs2-team-11811",
"status": "active",
"primaryRole": "support",
"roleConfidence": "medium",
"statusUpdatedAt": "2026-10-16T18:56:27.673Z",
"lastSyncedAt": "2026-10-16T19:18:23.962Z",
"lastVerified": "2026-10-16T19:18:23.962Z"
},
"team": {
"id": "cs2-team-8474",
"name": "100 Thieves",
"slug": "100-thieves",
"teamTag": "1T",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/ac59058bd7afa346763eda6e57e98413.webp",
"countryName": "Europe",
"countryCode": null,
"region": "Europe",
"worldRanking": 37,
"lastSyncedAt": "2026-10-16T19:39:29.017Z",
"lastVerified": "2026-10-16T19:39:29.017Z",
"confidence": "high",
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/46d3bfa423b2598593ea7ce36ad3149e.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/46d3bfa423b2598593ea7ce36ad3149e.webp"
},
"ctKills": 3,
"…": "17 more fields"
},
{
"entityType": "cs2_player_stat",
"id": "live-source-match-2399265-map-1-device",
"mapId": "cs2-match-2399265-map-1",
"matchId": "cs2-match-2399265",
"playerId": "cs2-player-7592",
"playerName": "device",
"teamId": "cs2-team-8474",
"teamName": "100 Thieves",
"kills": 24,
"deaths": 10,
"assists": 3,
"plusMinus": 14,
"adr": 104.1,
"kast": 0.857,
"rating": 1.49,
"ratingVersion": "cito_rating_1",
"headshots": 8,
"headshotPercent": 0.333,
"firstKills": 4,
"firstDeaths": 1,
"lastSyncedAt": "2026-10-16T19:14:47.722Z",
"player": {
"id": "cs2-player-7592",
"nickname": "device",
"slug": "device",
"realName": "Nicolai Reedtz",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/d3752c9aea619eb2a9eeb8b9f37d5960.webp",
"countryName": "Denmark",
"countryCode": "DK",
"age": 30,
"rating": 1.12,
"mapsPlayed": 185,
"careerStats": {
"rating": 1.12,
"lastKnownRating": 1.12
},
"currentTeamId": "cs2-team-8474",
"status": "acti
…Match lineup stats
Each team's lineup for the match with recent form stats.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
| windowDays | integer | Look-back window in days. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID/lineup-stats" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_match_lineup_stats",
"matchId": "cs2-match-2399265",
"windowDays": 90,
"dataAvailable": true,
"teams": [
{
"teamId": "cs2-team-8474",
"players": [
{
"playerId": "cs2-player-7592",
"teamId": "cs2-team-8474",
"nickname": "device",
"name": "Nicolai Reedtz",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/d3752c9aea619eb2a9eeb8b9f37d5960.webp",
"slug": "device",
"countryName": "Denmark",
"countryCode": "DK",
"role": "AWPer",
"windowDays": 90,
"dataAvailable": true,
"maps": 64,
"matches": 29,
"rating": 1.12,
"adr": 76,
"kast": 0.732,
"kdRatio": 1.23,
"kills": 965,
"deaths": 786,
"assists": 225,
"unavailableSubratings": [
"…"
]
},
{
"playerId": "cs2-player-23397",
"teamId": "cs2-team-8474",
"nickname": "poiii",
"name": "Alex Nyholm Sundgren",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/f6dfe83e11a052075aaed17110f0a68a.webp",
"slug": "poiii",
"countryName": "Sweden",
"countryCode": "SE",
"role": "entry",
"windowDays": 90,
"dataAvailable": true,
"maps": 64,
"matches": 29,
"rating": 1.09,
"adr": 81.4,
"kast": 0.765,
"kdRatio": 1.12,
"kills": 983,
"deaths": 878,
"assists": 309,
"unavailableSubratings": [
"…"
]
}
]
},
{
"teamId": "cs2-team-10333",
"players": [
{
"playerId": "cs2-player-25253",
"teamId": "cs2-team-10333",
"nickname": "Joey",
"name": "Yeray Serrano Pérez",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/45c4b203aa0fcbb99ece313c57c5f22a.webp",
"slug": "joey",
"countryName": "Spain",
"countryCode": "ES",
"role": "rifler",
"windowDays": 90,
"dataAvailable": true,
"maps": 69,
"matches": 36,
"rating": 1.07,
"adr": 79.6,
"kast": 0.732,
"kdRatio": 1.09,
"kills": 1064,
"deaths": 977,
"assists": 341,
"unavailableSubratings": [
"…"
]
},
{
"playerId": "cs2-player-20309",
"teamId": "cs2-team-10333",
"nickname": "bnox",
"name": "Bartosz Niebisz",
"imageUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/5f0fcaafeb1b02eedd96e15c4034f8de.webp",
"slug": "bnox",
"countryName": "Poland",
"countryCode": "PL",
"role": "rifler",
"windowDays": 90,
"dataAvailable": true,
"maps": 69,
"matches": 36,
"rating": 1.08,
"adr": 78.9,
"kast": 0.747,
"kdRatio": 1.07,
"kills": 1019,
"deaths": 955,
"assists": 346,
"unavailableSubrati
…Match details
One match: event, teams, series score, maps, veto and which sub-resources have data.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| matchId (path)* | string | Match id, e.g. cs2-match-2398421. |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches/MATCH_ID" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_match",
"id": "cs2-match-2399265",
"eventId": "cs2-event-9223",
"eventName": "Stake Pulse Beat III",
"eventSlug": "stake-pulse-beat-iii",
"stageName": null,
"startsAt": "2026-10-16T17:35:00.000Z",
"endsAt": "2026-10-16T19:14:49.880Z",
"bestOf": 3,
"status": "completed",
"team1Id": "cs2-team-8474",
"team2Id": "cs2-team-10333",
"team1Name": "100 Thieves",
"team2Name": "Sangal",
"team1Score": 2,
"team2Score": 0,
"winnerTeamId": "cs2-team-8474",
"vetoOrder": null,
"streamLinks": null,
"vodLinks": [],
"lastSyncedAt": "2026-10-16T19:18:14.369Z",
"lastVerified": "2026-10-16T19:18:14.369Z",
"confidence": "high",
"event": {
"id": "cs2-event-9223",
"name": "Stake Pulse Beat III",
"slug": "stake-pulse-beat-iii",
"imageUrl": null,
"prizePool": 80000,
"currency": "USD",
"location": "Stockholm, Sweden",
"format": "Group stage: GSL Bo3 / Playoffs: Single elimination Bo3 3rd place decider match Bo3",
"teamCount": 16,
"standings": [
{
"seed": 11,
"teamId": "cs2-team-6665",
"teamName": "Astralis",
"placement": null
},
{
"seed": 12,
"teamId": "cs2-team-9215",
"teamName": "MIBR",
"placement": null
}
],
"startsAt": "2026-10-12T00:00:00.000Z",
"endsAt": "2026-10-17T23:59:59.000Z",
"status": "live",
"tier": "B",
"prestigeScore": 55,
"region": "Europe",
"isLan": true,
"confirmedStatus": "source_detail",
"streamLinks": [
{
"url": null,
"label": null,
"language": null,
"platform": "twitch"
},
{
"url": null,
"label": null,
"language": null,
"platform": "youtube"
}
],
"vodLinks": [],
"lastSyncedAt": "2026-10-16T19:44:02.585Z",
"lastVerified": "2026-10-16T19:44:02.585Z",
"confidence": "high",
"eventId": "cs2-event-9223",
"…": "2 more fields"
},
"…": "17 more fields"
},
"meta": {}
}List matches
Matches with filters for status, team, event and date range.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| event | string | Event id or slug. |
| eventId | string | Filter by eventId. |
| event_id | string | Filter by event_id. |
| fields | string | Comma-separated list of fields to return. |
| from | string | Start of the date range (ISO 8601, UTC). |
| limit | integer | Rows to return. Maximum 200; larger values are reduced to 200. |
| offset | integer | Rows to skip, for paging. |
| order | string | Filter by order. |
| page | integer | Page number, starting at 1. |
| playerId | string | Player id or slug. |
| player_id | string | Player id or slug. |
| sort | string | Sort order. |
| status | string | Filter by status. |
| summary | boolean | true returns a summary instead of full rows. |
| team | string | Team id or slug. |
| teamId | string | Team id or slug. |
| team_id | string | Team id or slug. |
| to | string | End of the date range (ISO 8601, UTC). |
Example
curl "https://api.citoapi.com/api/v1/cs2/matches" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": [
{
"entityType": "cs2_match",
"id": "cs2-match-2399708",
"eventId": "cs2-event-9257",
"eventName": "Stake Ranked Episode 5",
"eventSlug": "stake-ranked-episode-5",
"stageName": null,
"startsAt": "2026-10-27T18:30:00.000Z",
"endsAt": null,
"bestOf": 3,
"status": "upcoming",
"team1Id": "cs2-team-9215",
"team2Id": "cs2-team-11251",
"team1Name": "MIBR",
"team2Name": "Eternal Fire",
"team1Score": null,
"team2Score": null,
"winnerTeamId": null,
"lastSyncedAt": "2026-10-16T19:15:26.961Z",
"lastVerified": "2026-10-16T19:15:26.961Z",
"confidence": "high",
"event": {
"id": "cs2-event-9257",
"name": "Stake Ranked Episode 5",
"slug": "stake-ranked-episode-5",
"imageUrl": null,
"prizePool": 100000,
"currency": "USD",
"tier": "B",
"prestigeScore": 55,
"status": "upcoming",
"region": null,
"startsAt": "2026-10-27T00:00:00.000Z",
"endsAt": "2026-10-30T23:59:59.000Z",
"eventId": "cs2-event-9257",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/21396af31d05530bf62f7baa70ee6f59.webp",
"bannerImageUrl": null
},
"team1": {
"id": "cs2-team-9215",
"name": "MIBR",
"slug": "mibr",
"teamTag": "MIBR",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/46feb72013aa1719e93ab5397d22f0a0.webp",
"countryName": "Brazil",
"countryCode": "BR",
"worldRanking": 12,
"alternateLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/b614e4150b202d42c114bb0723b821f5.webp",
"darkUiLogoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/b614e4150b202d42c114bb0723b821f5.webp"
},
"team2": {
"id": "cs2-team-11251",
"name": "Eternal Fire",
"slug": "eternal-fire",
"teamTag": "EF",
"logoUrl": "https://api.citoapi.com/api/v1/public/images/cs2/logos/17ab3f7067c6945bccdc46f1066d6fc8.webp",
"countryName": "Europe",
"countryCode": null,
"worldRanking": 38
},
"maps": [
{
"id": "cs2-match-2399708-map-1",
"matchId": "cs2-match-2399708",
"mapNumber": 1,
"mapName": "TBA",
"status": "upcoming",
"team1Score": null,
"team2Score": null,
"team1Halves": null,
"team2Halves": null,
"winnerTeamId": null,
"durationRounds": null,
"lastSyncedAt": "2026-10-16T05:56:03.518Z",
"mapImageUrl": null,
"pickTeamId": null,
"objectiveStats": {
"dataAvailable": false,
"unavailableReason": "not_yet_indexed",
"confidence": {
"…": "…"
},
"teamStats": [
"…"
],
"roundEvents": [
"…"
]
},
"mapNameCanonical": null,
"imageUrl": null,
"coverImageUrl": null,
"resultType": "not_played",
"resultStatus": "not_played",
"isForfeit": false,
"statsEligible": false,
"unavailableReason": "map_not_played",
"dataAvailability": {
"playerStats": {
"…": "…"
}
}
},
{
"id": "
…Head-to-head pairs
Team pairs that have played each other, for building head-to-head pages.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| limit | integer | Rows to return. Maximum 500; larger values are reduced to 500. |
| minMeetings | string | Filter by minMeetings. |
| min_meetings | string | Filter by min_meetings. |
| windowDays | integer | Look-back window in days. |
| window_days | integer | Look-back window in days. |
Example
curl "https://api.citoapi.com/api/v1/cs2/h2h/pairs" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"entityType": "cs2_h2h_pair",
"pairs": [
{
"teamA": {
"id": "cs2-team-8536",
"name": "Ground Zero",
"slug": "ground-zero"
},
"teamB": {
"id": "cs2-team-9881",
"name": "Rooster",
"slug": "rooster"
},
"meetings": 20,
"lastMeetingAt": "2026-09-27T09:00:00.000Z"
},
{
"teamA": {
"id": "cs2-team-4494",
"name": "MOUZ",
"slug": "mouz"
},
"teamB": {
"id": "cs2-team-9565",
"name": "Vitality",
"slug": "vitality"
},
"meetings": 17,
"lastMeetingAt": "2026-10-11T15:00:00.000Z"
}
],
"dataAvailable": true
},
"meta": {
"count": 2,
"limit": 2,
"minMeetings": 2,
"windowDays": 730,
"dataAvailable": true,
"total": 2,
"page": 1,
"totalPages": 1,
"hasNext": false,
"hasPrev": false
}
}Try the CS2 Matches 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/matches/results?limit=5" \
-H "x-api-key: YOUR_API_KEY"