1

A stack overflow answer explains how to retrieve a user's public inventory

http://steamcommunity.com/profiles/<PROFILEID>/inventory/json/<APPID>/<CONTEXTID>

I read that context ID must be set as 2 to find items for most games, but this is not always the case. Is there any official API to find a user's inventory contexts? steamapis.com already has a paid API which performs this task:

{
    "steamID": {
        "universe": 1,
        "type": 1,
        "instance": 1,
        "accountid": 78261062
    },
    "name": "PEPZ",
    "onlineState": "online",
    "stateMessage": "Online",
    "privacyState": "public",
    "visibilityState": "3",
    "avatarHash": "5b702b331ddeb928225ad562a3e729aecd191b9a",
    "vacBanned": false,
    "tradeBanState": "None",
    "isLimitedAccount": false,
    "customURL": "pepzwee",
    "memberSince": "2011-02-21T22:00:00.000Z",
    "location": "Estonia",
    "realName": "SteamApis.com Developer",
    "summary": "",
    "groups": [
        {
            "universe": 1,
            "type": 7,
            "instance": 0,
            "accountid": 28077004
        },
        ...
    ],
    "primaryGroup": {
        "universe": 1,
        "type": 7,
        "instance": 0,
        "accountid": 28077004
    },
    "contexts": {
        "440": {
            "appid": 440,
            "name": "Team Fortress 2",
            "icon": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/440/e3f595a92552da3d664ad00277fad2107345f743.jpg",
            "link": "http://steamcommunity.com/app/440",
            "asset_count": 11,
            "inventory_logo": "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/apps/440/e613d1d46de26ea755105b898cc8830d305353f3.png",
            "trade_permissions": "FULL",
            "load_failed": 0,
            "rgContexts": {
                "2": {
                    "asset_count": 11,
                    "id": "2",
                    "name": "Backpack"
                }
            }
        },
        ...
    }
}

Where "rgContexts" contains inventory context for each game.

secretshardul
  • 1,635
  • 19
  • 31

1 Answers1

0

I found out with some inspect element work, that there is a script tag available with the exact information you need. This is an example of my profile:


var g_rgWalletInfo = {"success":false};
var g_bInventoryIsInModalDialog = false;
var g_bIsInMarketplace = false;

UserYou.SetSteamId( '76561199033382814' );

    var g_rgAppContextData = {"753":{"appid":753,"name":"Steam","icon":"https:\/\/cdn.cloudflare.steamstatic.com\/steamcommunity\/public\/images\/apps\/753\/135dc1ac1cd9763dfc8ad52f4e880d2ac058a36c.jpg","link":"https:\/\/steamcommunity.com\/app\/753","asset_count":303,"inventory_logo":"https:\/\/cdn.cloudflare.steamstatic.com\/steamcommunity\/public\/images\/apps\/753\/db8ca9e130b7b37685ab2229bf5a288aefc3f0fa.png","trade_permissions":"FULL","load_failed":0,"store_vetted":"1","rgContexts":{"6":{"asset_count":303,"id":"6","name":"Community"}}},"730":{"appid":730,"name":"Counter-Strike: Global Offensive","icon":"https:\/\/cdn.cloudflare.steamstatic.com\/steamcommunity\/public\/images\/apps\/730\/69f7ebe2735c366c65c0b33dae00e12dc40edbe4.jpg","link":"https:\/\/steamcommunity.com\/app\/730","asset_count":61,"inventory_logo":"https:\/\/cdn.cloudflare.steamstatic.com\/steamcommunity\/public\/images\/apps\/730\/3ab6e87a04994b900881f694284a75150e640536.png","trade_permissions":"FULL","load_failed":0,"store_vetted":"1","rgContexts":{"2":{"asset_count":61,"id":"2","name":"Backpack"}}}};
        var g_strInventoryLoadURL = 'https://steamcommunity.com/id/stoplookingatmyid/inventory/json/';
    $J( function() {
        UserYou.LoadContexts( g_rgAppContextData );
    } );

$J( function() {
    var bHasPendingGifts = false;
    InitInventoryPage( bHasPendingGifts, -1, false );
});
var g_bInClient = false;
var g_bInChinaRealm =  false;
var g_bViewingOwnProfile = false;
var g_bMarketAllowed = false;
var g_strLanguage = 'english';
var g_strCountryCode = "US";
var g_strProfileURL = 'https://steamcommunity.com/id/stoplookingatmyid';

Some of this data is junk, but g_rgAppContextData is exactly what you need in JSON format, and it just needs to be parsed if your programming language of choice. In this example, 753 is the app id of Steam, with 6 being the context id, and 730 is CSGO'S app id, with 2 as the context id. with This data won't be present if the user has a private steam inventory.

Dharman
  • 30,962
  • 25
  • 85
  • 135
Hexiro
  • 171
  • 4
  • 9