An unofficial JSON API for Counter-Strike 2 in multiples languages. List of skins, cases, stickers, collections, collectibles, agents, graffiti, keys, patches a
An unofficial JSON API for Counter-Strike 2 in multiples languages. List of skins, cases, stickers, collections, collectibles, agents, graffiti, keys, patches a
Welcome to the unofficial JSON API for Counter-Strike 2. This API provides access to various data aspects of the game, parsed into JSON format for easier integration and use.
The hosted API currently ships 2 languages (out of 28 available). Replace {language} in the URL with one of the folder codes below:
GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/{language}en, zh-CN
Need other languages? See Adding More Languages.
Languages are selected by folder code (en, ru, zh-CN, ...).
npm install
node update.js --languages en,ru,uk
node group.js --languages en,ru,ukUse --languages all to run every available language. --force skips the manifest cache check.
Set LANGUAGES under Settings → Secrets and variables → Actions → Variables (value: en,ru,uk, or all for every language). Scheduled runs use it automatically. To override once, go to Actions → Update and Group JSON API → Run workflow and fill the languages input (it takes priority over the variable).
en, zh-CN, pt-BR, ru, es-ES, bg, cs, da, nl, fi, fr, de, el, hu, it, ja, ko, es-MX, no, pl, pt-PT, ro, sv, zh-TW, th, tr, uk, vi
Full list with display names in constants.js.
GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/all.jsonObject with all items accessible by their id.
GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/skins.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/skins_not_grouped.jsonSimilar to the previous but in this case is not grouped by wear (Factory New, Field-Tested, etc) and state (normal, stattrak, souvenir).
Example response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/stickers.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/sticker_slabs.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/keychains.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/collections.jsonExample response:
…This list includes cases, capsules, graffiti boxes, music kit boxes and souvenir packages.
GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/crates.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/keys.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/collectibles.jsonExample response:
[
{
id: "collectible-874",
name: "5 Year Veteran Coin",
description:
"Has been a member of the Counter-Strike community for over 5 years.",
rarity: {
id: "rarity_ancient",
name: "Extraordinary",
color: "#eb4b4b",
},
type: null,
genuine: false,
market_hash_name: null,
image:
"https://raw.githubusercontent.com/ByMykel/counter-strike-image-tracker/main/static/panorama/images/econ/status_icons/5yearcoin_png.png",
},
// ...
]GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/agents.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/patches.jsonExample response:
[
{
id: "patch-5126",
name: "Patch | FaZe Clan (Gold) | Stockholm 2021",
description:
"This patch can be applied to any agent you own. Once applied, it can be removed but not recovered.",
rarity: {
id: "rarity_mythical",
name: "Remarkable",
color: "#8847ff",
},
market_hash_name: "Patch | FaZe Clan (Gold) | Stockholm 2021",
image:
"https://raw.githubusercontent.com/ByMykel/counter-strike-image-tracker/main/static/panorama/images/econ/patches/stockh2021/patch_faze_gold_png.png",
},
// ...
]GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/graffiti.jsonExample response:
…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/music_kits.jsonExample response:
[
{
id: "music_kit-39",
name: "Music Kit | The Verkkars, EZ4ENCE",
description:
"The Verkkars rise through the Finnish charts with a heart-pounding tribute to ENCE. Can it really be so EZ?",
rarity: {
id: "rarity_rare",
name: "High Grade",
color: "#4b69ff",
},
market_hash_name: "Music Kit | The Verkkars, EZ4ENCE",
exclusive: false,
image:
"https://raw.githubusercontent.com/ByMykel/counter-strike-image-tracker/main/static/panorama/images/econ/music_kits/theverkkars_01_png.png",
},
// ...
]GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/base_weapons.jsonExample response:
[
{
id: "base_weapon-ct_gloves",
name: "Default CT Gloves",
description: "General-purpose tactical combat gloves designed for military or security personnel.",
image: "https://raw.githubusercontent.com/ByMykel/counter-strike-image-tracker/main/static/panorama/images/econ/weapons/base_weapons/ct_gloves_png.png"
},
// ...
]GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/highlights.json…GET https://raw.githubusercontent.com/ByMykel/CSGO-API/main/public/api/en/inventory.jsonObject with all items organized by category (skins, crates, collectibles, stickers, graffiti, music_kits, keychains, highlights, agents, patches, keys, sticker_slabs, tools). Skins are keyed by weapon_id and paint_index. Other items are keyed by def_index.
Example response:
…No open issues yet, or sync has not completed.