{"openapi":"3.1.0","info":{"title":"CS2.SPACE API","version":"1.0.0","description":"Counter-Strike 2 and Dota 2 player data: Steam profiles, Faceit, Leetify, parsed inventories with prices, and rank assets.\n\nPlans: FREE: 500 requests/month, 60 per minute (Steam profile data, SteamID conversion and rank images); PRO: 10,000 requests/month, 600 per minute (Everything: adds Faceit, Leetify, and CS2 and Dota 2 inventories with prices); DEVELOPER: 100,000 requests/month, 3,060 per minute (Everything: adds Faceit, Leetify, and CS2 and Dota 2 inventories with prices).\n\nGet a free API key at https://cs2.space/dashboard. Human-readable docs: https://cs2.space/docs. LLM-friendly summary: https://cs2.space/llms.txt."},"servers":[{"url":"https://cs2.space"}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}},"required":["error"]}}},"paths":{"/api/profile/{id}":{"get":{"operationId":"profile","summary":"Player profile","description":"Everything about a player in one call: Steam profile, bans, level, owned games, CS2 lifetime stats, friends, friend code, Game Coordinator data (commendations, profile rank, badges), CS2 inventory summary, Faceit and Leetify.\n\nFREE keys get Steam profile data only: faceit, leetify and steam.inventory are null and a _notice field explains how to upgrade.\n\nfaceit is null when the player has no Faceit account; leetify is null when they have no Leetify profile.\n\nsteam.stats is a list of {name, value} pairs from Steam's CS2 stats (total_kills, total_wins, ...).\n\nBadge imageUrl values are full links you can use directly in an <img>.\n\nProfile data is cached for up to 3 hours; inventory prices are always current.","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"SteamID64 (17 digits, e.g. 76561197963540638) or custom profile URL name (e.g. ChetCS).","schema":{"type":"string"}},{"name":"include","in":"query","required":false,"description":"Extra data to add. dota2 adds a dota2Inventory field: the player's Dota 2 inventory, most valuable items first, with totals for the whole inventory (same shape as the Dota 2 inventory endpoint). PRO and DEVELOPER plans.","schema":{"type":"string","enum":["dota2"]}},{"name":"dota2Limit","in":"query","required":false,"description":"With include=dota2: how many items to return, as a number or all. Large inventories with all can be several MB.","schema":{"type":"string","default":"200"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"steamId":"76561197963540638","steam":{"player":{"steamid":"76561197963540638","personaname":"Chet","profileurl":"https://steamcommunity.com/id/ChetCS/","avatarfull":"https://avatars.steamstatic.com/7eff590c73206f7f0bb6bfbbf9fd3f3e46c95826_full.jpg","timecreated":1072291152,"communityvisibilitystate":3},"bans":{"SteamId":"76561197963540638","CommunityBanned":false,"VACBanned":false,"NumberOfVACBans":0,"DaysSinceLastBan":0,"NumberOfGameBans":0,"EconomyBan":"none"},"level":70,"games":[{"appid":10,"playtime_forever":45104}],"stats":[{"name":"total_kills","value":99648},{"name":"total_deaths","value":81581},{"name":"total_time_played","value":5582556}],"friends":[{"steamid":"76561190000000000","relationship":"friend","friend_since":1550022592}],"friendCode":"AYR6T-HGDA","gc":{"commendations":{"friendly":118,"teacher":82,"leader":80},"playerLevel":18,"playerCurXp":327683388,"badges":[{"name":"Premier Season Four Medal","image":"/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png","rarity":"Extraordinary","imageUrl":"https://cs2.space/api/assets/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png"}],"featuredBadge":{"name":"Premier Season Four Medal","image":"/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png","rarity":"Extraordinary","imageUrl":"https://cs2.space/api/assets/badges/badge_premier_season_four_medal_125_wins_15_000_19_999_cs_rating_.png"}},"coinsAndPins":[{"name":"Premier Season Four Medal","image":"https://community.cloudflare.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGJWk3ka5VeTr0M-gJnSZ9hll5oL541z1fg70n4Xv8x0P0PGhYapSdKXdWzLGkOt15-QxHi_ql0ly5DmHnN-hJC2RPVJxWcB4QbZY4Riwk4HjNfSiuVKLPsh8JA"}],"inventory":{"summary":{"totalCount":505,"tradableCount":473,"totalValue":1530.62,"totalValueFormatted":"$1,530.62"},"pagination":{"total":505,"limit":200,"offset":0,"hasMore":true}}},"faceit":{"player_id":"3699c7a1-7ee1-4c2d-bcca-49fdb2071a4e","nickname":"aimbotthot1","country":"us","faceit_url":"https://www.faceit.com/{lang}/players/aimbotthot1","games":{"cs2":{"region":"NA","skill_level":4,"faceit_elo":1018,"game_player_id":"76561197963540638"}}},"leetify":{"name":"Chet","steam64_id":"76561197963540638","first_match_date":"2020-08-01T22:09:58.000Z","total_matches":2265,"winrate":0.3,"rating":{"aim":48.4047,"positioning":52.3922,"utility":38.4005,"clutch":0.0672,"opening":-0.0084,"ct_leetify":-0.0103,"t_leetify":-0.0054},"ranks":{"leetify":-0.77,"premier":15960,"faceit":null,"faceit_elo":null,"wingman":7,"renown":null,"competitive":[{"map_name":"de_dust2","rank":10}]},"stats":{"accuracy_head":26.7328,"reaction_time_ms":595.9576,"preaim":10.765,"spray_accuracy":24.8483},"recent_matches":[{"id":"ba2a8847-0c8c-4be7-97e2-69d9dd67e733","finished_at":"2026-09-30T21:10:47.000Z","data_source":"matchmaking","outcome":"win","map_name":"de_cache","score":[13,2],"leetify_rating":0.0279,"rank":15960}]}}}}},"401":{"description":"No API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"API key required"}}}},"403":{"description":"Invalid API key or private inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Inventory data requires a PRO or DEVELOPER plan.","code":"PLAN_UPGRADE_REQUIRED","upgradeUrl":"https://cs2.space/#pricing"}}}},"404":{"description":"Player not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Player not found","code":"PLAYER_NOT_FOUND"}}}},"429":{"description":"Rate limit or quota exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Monthly API quota exceeded","tier":"FREE","limit":500,"usage":500,"message":"Please upgrade your plan or wait for next month's reset."}}}},"500":{"description":"Server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Internal Server Error"}}}}}}},"/api/steamid/{id}":{"get":{"operationId":"steamid","summary":"Resolve a SteamID","description":"Converts a custom profile URL name or SteamID64 into every SteamID format, plus name and avatar.","security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"SteamID64 (17 digits, e.g. 76561197963540638) or custom profile URL name (e.g. ChetCS).","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"steam32":3274910,"steam64":"76561197963540638","steam2":"STEAM_0:0:1637455","steam3":"[U:1:3274910]","profile_url":"https://steamcommunity.com/id/ChetCS/","avatar":"https://avatars.steamstatic.com/7eff590c73206f7f0bb6bfbbf9fd3f3e46c95826_full.jpg","name":"Chet"}}}},"401":{"description":"No API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"API key required"}}}},"403":{"description":"Invalid API key or private inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Inventory data requires a PRO or DEVELOPER plan.","code":"PLAN_UPGRADE_REQUIRED","upgradeUrl":"https://cs2.space/#pricing"}}}},"404":{"description":"Player not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Player not found","code":"PLAYER_NOT_FOUND"}}}},"429":{"description":"Rate limit or quota exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Monthly API quota exceeded","tier":"FREE","limit":500,"usage":500,"message":"Please upgrade your plan or wait for next month's reset."}}}}}}},"/api/inventory/{id}":{"get":{"operationId":"cs2Inventory","summary":"CS2 inventory","description":"**Requires a PRO or DEVELOPER plan.**\n\nA player's Counter-Strike 2 inventory, parsed: category, rarity, exterior, exact float and pattern seed, stickers, StatTrak/Souvenir, trade lock, working inspect link and USD price for every item.\n\nPrices are USD market prices, refreshed every 15 minutes. Items with no active market have price: null.\n\nDoppler-style items whose phase isn't exposed are valued at the cheapest phase.\n\nsummary always describes the whole inventory; pagination.total counts items after the category filter.\n\nInventories are cached for 30 minutes (cached and cachedAt tell you when the data is from).","x-required-plan":["PRO","DEVELOPER"],"security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"SteamID64 (17 digits, e.g. 76561197963540638) or custom profile URL name (e.g. ChetCS).","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Only return one category.","schema":{"type":"string","enum":["knives","gloves","rifles","sniper_rifles","pistols","smgs","shotguns","machineguns","cases","stickers","agents","music_kits","pins_coins","patches","graffiti","other"]}},{"name":"sort","in":"query","required":false,"description":"Sort order. Default is Steam's inventory order.","schema":{"type":"string","enum":["price_desc","price_asc","name_asc"]}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1 to 1000.","schema":{"type":"integer","default":100}},{"name":"offset","in":"query","required":false,"description":"Number of items to skip.","schema":{"type":"integer","default":0}},{"name":"fresh","in":"query","required":false,"description":"PRO and DEVELOPER keys only: skip the 30 minute cache and fetch from Steam.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"steamId":"76561198074762801","steamInventoryUrl":"https://steamcommunity.com/profiles/76561198074762801/inventory/","summary":{"totalCount":474,"tradableCount":433,"statTrakCount":33,"souvenirCount":12,"totalValue":42995.38,"totalValueFormatted":"$42,995.38","categoryCounts":{"smgs":16,"gloves":5,"cases":5,"knives":14,"rifles":18,"pins_coins":82,"pistols":96,"other":11,"stickers":187,"sniper_rifles":15,"shotguns":7,"music_kits":13,"agents":5},"rarityCounts":{"Mil-Spec Grade":88,"Extraordinary":54,"Base Grade":10,"Covert":24,"Restricted":24,"Classified":18,"Industrial Grade":10,"High Grade":185,"Remarkable":39,"Exotic":10,"Consumer Grade":3,"Master":3,"Stock":4,"Exceptional":2}},"items":[{"assetId":"41918635414","classId":"7993042582","instanceId":"188530139","amount":1,"name":"★ Butterfly Knife | Fade","marketName":"★ Butterfly Knife | Fade (Factory New)","marketHashName":"★ Butterfly Knife | Fade (Factory New)","type":"★ Covert Knife","category":"knives","rarity":{"name":"Covert","color":"#eb4b4b"},"exterior":"Factory New","weapon":"Butterfly Knife","itemSet":"The Breakout Collection","iconUrl":"https://community.cloudflare.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1w...","iconUrlLarge":null,"isStatTrak":false,"isSouvenir":false,"tradable":true,"marketable":true,"tradableAfter":null,"inspectLink":"steam://run/730//+csgo_econ_action_preview%20A7B7311C09333BA6BF24A387818FA197A49F7E127145A4E732A2CF27A5D7AF184F3356","floatValue":0.013037406839430332,"paintSeed":661,"steamInventoryUrl":"https://steamcommunity.com/profiles/76561198074762801/inventory/#730_2_41918635414","nameTag":null,"stickers":[],"price":{"amount":2566.68,"formatted":"$2566.68","currency":"USD"}}],"pagination":{"total":14,"limit":1,"offset":0,"hasMore":true},"cached":true,"cachedAt":"2026-10-02T03:00:44.103Z","stale":false}}}},"401":{"description":"No API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"API key required"}}}},"403":{"description":"Invalid API key or private inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Inventory data requires a PRO or DEVELOPER plan.","code":"PLAN_UPGRADE_REQUIRED","upgradeUrl":"https://cs2.space/#pricing"}}}},"404":{"description":"Player not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Player not found","code":"PLAYER_NOT_FOUND"}}}},"429":{"description":"Rate limit or quota exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Monthly API quota exceeded","tier":"FREE","limit":500,"usage":500,"message":"Please upgrade your plan or wait for next month's reset."}}}},"502":{"description":"Steam failed to respond","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Failed to load inventory from Steam. Please retry shortly."}}}}}}},"/api/inventory/{id}/summary":{"get":{"operationId":"cs2InventorySummary","summary":"CS2 inventory summary","description":"**Requires a PRO or DEVELOPER plan.**\n\nTotals only: item count, tradable/StatTrak/Souvenir counts, total USD value, and counts per category and rarity.","x-required-plan":["PRO","DEVELOPER"],"security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"SteamID64 (17 digits, e.g. 76561197963540638) or custom profile URL name (e.g. ChetCS).","schema":{"type":"string"}},{"name":"fresh","in":"query","required":false,"description":"PRO and DEVELOPER keys only: skip the 30 minute cache and fetch from Steam.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"steamId":"76561198074762801","summary":{"totalCount":474,"tradableCount":433,"statTrakCount":33,"souvenirCount":12,"totalValue":42995.38,"totalValueFormatted":"$42,995.38","categoryCounts":{"smgs":16,"gloves":5,"cases":5,"knives":14,"rifles":18,"pins_coins":82,"pistols":96,"other":11,"stickers":187,"sniper_rifles":15,"shotguns":7,"music_kits":13,"agents":5},"rarityCounts":{"Mil-Spec Grade":88,"Extraordinary":54,"Base Grade":10,"Covert":24,"Restricted":24,"Classified":18,"Industrial Grade":10,"High Grade":185,"Remarkable":39,"Exotic":10,"Consumer Grade":3,"Master":3,"Stock":4,"Exceptional":2}},"cached":true}}}},"401":{"description":"No API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"API key required"}}}},"403":{"description":"Invalid API key or private inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Inventory data requires a PRO or DEVELOPER plan.","code":"PLAN_UPGRADE_REQUIRED","upgradeUrl":"https://cs2.space/#pricing"}}}},"404":{"description":"Player not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Player not found","code":"PLAYER_NOT_FOUND"}}}},"429":{"description":"Rate limit or quota exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Monthly API quota exceeded","tier":"FREE","limit":500,"usage":500,"message":"Please upgrade your plan or wait for next month's reset."}}}},"502":{"description":"Steam failed to respond","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Failed to load inventory from Steam. Please retry shortly."}}}}}}},"/api/inventory/{id}/raw":{"get":{"operationId":"cs2InventoryRaw","summary":"CS2 inventory (raw Steam data)","description":"**Requires a PRO or DEVELOPER plan.**\n\nThe unparsed inventory payload (assets, descriptions, asset_properties) with every page combined, for when you want the original fields.\n\nCached for 30 minutes.","x-required-plan":["PRO","DEVELOPER"],"security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"SteamID64 (17 digits, e.g. 76561197963540638) or custom profile URL name (e.g. ChetCS).","schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"success":1,"assets":[{"appid":730,"contextid":"2","assetid":"53419434826","classid":"188530159","instanceid":"188530139","amount":"1"}],"descriptions":[{"appid":730,"classid":"188530159","instanceid":"188530139","name":"MP7 | Skulls","market_name":"MP7 | Skulls (Minimal Wear)","market_hash_name":"MP7 | Skulls (Minimal Wear)","type":"Mil-Spec Grade SMG","tradable":1,"marketable":1,"icon_url":"i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60...","tags":[{"category":"Type","internal_name":"CSGO_Type_SMG","localized_category_name":"Type","localized_tag_name":"SMG"},{"category":"Weapon","internal_name":"weapon_mp7","localized_category_name":"Weapon","localized_tag_name":"MP7"}]}],"asset_properties":[{"appid":730,"contextid":"2","assetid":"53419434826","asset_properties":[{"propertyid":1,"int_value":"996","name":"Pattern Template"},{"propertyid":2,"float_value":"0.118721641600131989","name":"Wear Rating"},{"propertyid":6,"string_value":"2636ECE089A6E1273E07062D0E2516221EF3EEEAC92566C2214E63562E725EC76B","name":"Item Certificate"}]}],"total_inventory_count":474}}}},"401":{"description":"No API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"API key required"}}}},"403":{"description":"Invalid API key or private inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Inventory data requires a PRO or DEVELOPER plan.","code":"PLAN_UPGRADE_REQUIRED","upgradeUrl":"https://cs2.space/#pricing"}}}},"404":{"description":"Player not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Player not found","code":"PLAYER_NOT_FOUND"}}}},"429":{"description":"Rate limit or quota exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Monthly API quota exceeded","tier":"FREE","limit":500,"usage":500,"message":"Please upgrade your plan or wait for next month's reset."}}}},"502":{"description":"Steam failed to respond","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Failed to load inventory from Steam. Please retry shortly."}}}}}}},"/api/dota2/inventory/{id}":{"get":{"operationId":"dota2Inventory","summary":"Dota 2 inventory","description":"**Requires a PRO or DEVELOPER plan.**\n\nA player's Dota 2 inventory, parsed: hero, slot, type, rarity, quality, tradability and USD price for every item.\n\nPrices are USD market prices, refreshed every 15 minutes. Items with no active market have price: null.\n\nInventories are cached for 30 minutes.","x-required-plan":["PRO","DEVELOPER"],"security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"SteamID64 (17 digits, e.g. 76561197963540638) or custom profile URL name (e.g. ChetCS).","schema":{"type":"string"}},{"name":"hero","in":"query","required":false,"description":"Only items for this hero, e.g. Juggernaut (case-insensitive).","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Only items of this type, e.g. Wearable, Courier, Ward, Bundle, Treasure (case-insensitive).","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Sort order. Default is Steam's inventory order.","schema":{"type":"string","enum":["price_desc","price_asc","name_asc"]}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1 to 1000.","schema":{"type":"integer","default":100}},{"name":"offset","in":"query","required":false,"description":"Number of items to skip.","schema":{"type":"integer","default":0}},{"name":"fresh","in":"query","required":false,"description":"PRO and DEVELOPER keys only: skip the 30 minute cache and fetch from Steam.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"steamId":"76561198001497299","game":"dota2","steamInventoryUrl":"https://steamcommunity.com/profiles/76561198001497299/inventory/#570","summary":{"totalCount":2115,"tradableCount":1406,"categoryCounts":{"Wearable":1665,"Cursor Pack":9,"Loading Screen":162,"HUD Skin":12,"Bundle":47,"Taunt":43,"Announcer":15,"Courier":28,"Tool":47,"Pennant":1,"Ward":13,"Gem / Rune":9,"League":3,"Player Card":9,"Misc":14,"Music":8,"Terrain":2,"Treasure":21,"Roshan":1,"Sticker Capsule":4,"Emoticon Tool":1,"Versus Screen":1},"rarityCounts":{"Mythical":323,"Common":636,"Uncommon":462,"Rare":522,"Immortal":143,"Legendary":28,"Arcana":1},"heroCounts":{"Shadow Fiend":4,"Medusa":8,"Other":361,"Rubick":21,"Dragon Knight":45,"Axe":26,"Doom":25,"Batrider":18,"Necrophos":16,"Spectre":15,"Sven":28,"Alchemist":26,"Crystal Maiden":18,"Night Stalker":18,"Drow Ranger":32,"Earthshaker":23,"Juggernaut":56,"Mirana":24,"Morphling":21,"Phantom Lancer":16,"Puck":17,"Pudge":33,"Razor":13,"Sand King":11,"Storm Spirit":15,"Windranger":43,"Kunkka":41,"Lina":7,"Shadow Shaman":7,"Tidehunter":33,"Witch Doctor":22,"Riki":14,"Sniper":17,"Warlock":16,"Beastmaster":19,"Queen of Pain":12,"Faceless Void":6,"Wraith King":26,"Death Prophet":31,"Phantom Assassin":22,"Templar Assassin":25,"Luna":26,"Nature's Prophet":61,"Clinkz":17,"Omniknight":27,"Enchantress":10,"Broodmother":19,"Bounty Hunter":41,"Weaver":14,"Ursa":16,"Spirit Breaker":30,"Invoker":26,"Silencer":19,"Outworld Destroyer":11,"Lycan":6,"Brewmaster":14,"Lone Druid":17,"Chaos Knight":15,"Nyx Assassin":22,"Naga Siren":16,"Keeper of the Light":15,"Slark":14,"Centaur Warrunner":22,"Magnus":29,"Bristleback":7,"Tusk":16,"Skywrath Mage":18,"Abaddon":11,"Lich":13,"Venomancer":13,"Tiny":2,"Tinker":2,"Pugna":8,"Legion Commander":23,"Timbersaw":25,"Vengeful Spirit":14,"Gyrocopter":15,"Ogre Magi":7,"Leshrac":9,"Ember Spirit":31,"Earth Spirit":10,"Clockwerk":11,"Dark Seer":10,"Elder Titan":3,"Techies":2,"Dazzle":9,"Lion":18,"Anti-Mage":8,"Chen":4,"Troll Warlord":5,"Meepo":3,"Disruptor":14,"Bloodseeker":16,"Monkey King":3,"Slardar":4,"Lifestealer":9,"Huskar":11,"Zeus":5,"Shadow Demon":1,"Pangolier":4,"Enigma":5,"Bane":2,"Void Spirit":1,"Ancient Apparition":2,"Undying":5,"Mars":1,"Grimstroke":1,"Underlord":1,"Phoenix":2,"Viper":2,"Arc Warden":4,"Jakiro":5,"Winter Wyvern":1,"Treant Protector":1},"totalValue":343.07,"totalValueFormatted":"$343.07"},"items":[{"assetId":"25929845931","classId":"5047971957","instanceId":"2781217946","amount":1,"name":"Feast of Abscession","marketName":"Feast of Abscession","marketHashName":"Feast of Abscession","type":"Arcana Wearable","category":"Wearable","hero":"Pudge","slot":"Hero Base","rarity":{"name":"Arcana","color":"#ADE55C"},"quality":{"name":"Standard","color":"#D2D2D2"},"iconUrl":"https://community.cloudflare.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1w...","iconUrlLarge":null,"tradable":false,"marketable":false,"steamInventoryUrl":"https://steamcommunity.com/profiles/76561198001497299/inventory/#570_2_25929845931","price":{"amount":19.15,"formatted":"$19.15","currency":"USD"}}],"pagination":{"total":2115,"limit":1,"offset":0,"hasMore":true},"cached":false,"cachedAt":"2026-10-02T03:17:45.136Z","stale":false}}}},"401":{"description":"No API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"API key required"}}}},"403":{"description":"Invalid API key or private inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Inventory data requires a PRO or DEVELOPER plan.","code":"PLAN_UPGRADE_REQUIRED","upgradeUrl":"https://cs2.space/#pricing"}}}},"404":{"description":"Player not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Player not found","code":"PLAYER_NOT_FOUND"}}}},"429":{"description":"Rate limit or quota exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Monthly API quota exceeded","tier":"FREE","limit":500,"usage":500,"message":"Please upgrade your plan or wait for next month's reset."}}}},"502":{"description":"Steam failed to respond","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Failed to load inventory from Steam. Please retry shortly."}}}}}}},"/api/dota2/inventory/{id}/summary":{"get":{"operationId":"dota2InventorySummary","summary":"Dota 2 inventory summary","description":"**Requires a PRO or DEVELOPER plan.**\n\nTotals only: item count, tradable count, total USD value, and counts per type, rarity and hero.","x-required-plan":["PRO","DEVELOPER"],"security":[{"ApiKey":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"SteamID64 (17 digits, e.g. 76561197963540638) or custom profile URL name (e.g. ChetCS).","schema":{"type":"string"}},{"name":"fresh","in":"query","required":false,"description":"PRO and DEVELOPER keys only: skip the 30 minute cache and fetch from Steam.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"steamId":"76561198001497299","game":"dota2","summary":{"totalCount":2115,"tradableCount":1406,"categoryCounts":{"Wearable":1665,"Cursor Pack":9,"Loading Screen":162,"HUD Skin":12,"Bundle":47,"Taunt":43,"Announcer":15,"Courier":28,"Tool":47,"Pennant":1,"Ward":13,"Gem / Rune":9,"League":3,"Player Card":9,"Misc":14,"Music":8,"Terrain":2,"Treasure":21,"Roshan":1,"Sticker Capsule":4,"Emoticon Tool":1,"Versus Screen":1},"rarityCounts":{"Mythical":323,"Common":636,"Uncommon":462,"Rare":522,"Immortal":143,"Legendary":28,"Arcana":1},"heroCounts":{"Shadow Fiend":4,"Medusa":8,"Other":361,"Rubick":21,"Dragon Knight":45,"Axe":26,"Doom":25,"Batrider":18,"Necrophos":16,"Spectre":15,"Sven":28,"Alchemist":26,"Crystal Maiden":18,"Night Stalker":18,"Drow Ranger":32,"Earthshaker":23,"Juggernaut":56,"Mirana":24,"Morphling":21,"Phantom Lancer":16,"Puck":17,"Pudge":33,"Razor":13,"Sand King":11,"Storm Spirit":15,"Windranger":43,"Kunkka":41,"Lina":7,"Shadow Shaman":7,"Tidehunter":33,"Witch Doctor":22,"Riki":14,"Sniper":17,"Warlock":16,"Beastmaster":19,"Queen of Pain":12,"Faceless Void":6,"Wraith King":26,"Death Prophet":31,"Phantom Assassin":22,"Templar Assassin":25,"Luna":26,"Nature's Prophet":61,"Clinkz":17,"Omniknight":27,"Enchantress":10,"Broodmother":19,"Bounty Hunter":41,"Weaver":14,"Ursa":16,"Spirit Breaker":30,"Invoker":26,"Silencer":19,"Outworld Destroyer":11,"Lycan":6,"Brewmaster":14,"Lone Druid":17,"Chaos Knight":15,"Nyx Assassin":22,"Naga Siren":16,"Keeper of the Light":15,"Slark":14,"Centaur Warrunner":22,"Magnus":29,"Bristleback":7,"Tusk":16,"Skywrath Mage":18,"Abaddon":11,"Lich":13,"Venomancer":13,"Tiny":2,"Tinker":2,"Pugna":8,"Legion Commander":23,"Timbersaw":25,"Vengeful Spirit":14,"Gyrocopter":15,"Ogre Magi":7,"Leshrac":9,"Ember Spirit":31,"Earth Spirit":10,"Clockwerk":11,"Dark Seer":10,"Elder Titan":3,"Techies":2,"Dazzle":9,"Lion":18,"Anti-Mage":8,"Chen":4,"Troll Warlord":5,"Meepo":3,"Disruptor":14,"Bloodseeker":16,"Monkey King":3,"Slardar":4,"Lifestealer":9,"Huskar":11,"Zeus":5,"Shadow Demon":1,"Pangolier":4,"Enigma":5,"Bane":2,"Void Spirit":1,"Ancient Apparition":2,"Undying":5,"Mars":1,"Grimstroke":1,"Underlord":1,"Phoenix":2,"Viper":2,"Arc Warden":4,"Jakiro":5,"Winter Wyvern":1,"Treant Protector":1},"totalValue":343.07,"totalValueFormatted":"$343.07"},"cached":true}}}},"401":{"description":"No API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"API key required"}}}},"403":{"description":"Invalid API key or private inventory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Inventory data requires a PRO or DEVELOPER plan.","code":"PLAN_UPGRADE_REQUIRED","upgradeUrl":"https://cs2.space/#pricing"}}}},"404":{"description":"Player not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Player not found","code":"PLAYER_NOT_FOUND"}}}},"429":{"description":"Rate limit or quota exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Monthly API quota exceeded","tier":"FREE","limit":500,"usage":500,"message":"Please upgrade your plan or wait for next month's reset."}}}},"502":{"description":"Steam failed to respond","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"error":"Failed to load inventory from Steam. Please retry shortly."}}}}}}},"/api/assets/premier/{rating}.svg":{"get":{"operationId":"premierBadge","summary":"Premier rating badge","description":"An SVG of the CS2 Premier rating badge for any rating, in the right colour tier. Free to use, no API key needed.\n\nHundreds more static images (ranks, Faceit levels, maps, weapons, medals) are listed in the asset browser at the bottom of the docs.","security":[],"parameters":[{"name":"rating","in":"path","required":true,"description":"Premier rating, e.g. 15235.","schema":{"type":"integer"}}],"responses":{"200":{"description":"SVG image","content":{"image/svg+xml":{"schema":{"type":"string"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":"Invalid rating"}}}}}},"/api/health":{"get":{"operationId":"health","summary":"API status","description":"Whether the API and its dependencies are up. No API key needed.","security":[],"parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object"},"example":{"status":"ok","services":{"cache":"up","steamCoordinator":"up"}}}}}}}}}}