Skills steamcommunity

Retrieves Steam inventory data for a user from steamcommunity.com

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bluesyparty-src/steam-community-inventory" ~/.claude/skills/openclaw-skills-steamcommunity && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bluesyparty-src/steam-community-inventory" ~/.openclaw/skills/openclaw-skills-steamcommunity && rm -rf "$T"
manifest: skills/bluesyparty-src/steam-community-inventory/SKILL.md
source content

Steam Community Inventory Skill

Retrieve and browse a Steam user's inventory from steamcommunity.com.

Setup

  1. Find your Steam ID (SteamID64):

    • Go to your Steam profile page
    • If your URL is
      https://steamcommunity.com/profiles/76561198012345678
      , your Steam ID is
      76561198012345678
    • If your URL uses a vanity name like
      https://steamcommunity.com/id/myname
      , visit steamid.io and paste your profile URL to get your SteamID64
  2. Get your Steam session cookies (required to bypass rate limits when fetching your own inventory):

    • Log in to steamcommunity.com in your browser
    • Open Developer Tools (F12) > Application tab > Cookies >
      https://steamcommunity.com
    • Copy the value of the
      steamLoginSecure
      cookie
  3. Set environment variables:

    export STEAM_ID="your-steamid64"
    export STEAM_COOKIES="steamLoginSecure=your-cookie-value"
    

Usage

All commands use curl to hit the Steam Community inventory endpoint. The context ID is

2
for all standard game inventories.

Common App IDs

GameApp ID
CS2 / CS:GO730
Team Fortress 2440
Dota 2570
Rust252490
PUBG578080
Steam Community (trading cards, etc.)753

Get inventory for a game

Replace

$APP_ID
with the game's App ID (see table above). Context ID is
2
for all standard game inventories.

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/$APP_ID/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '.'

Get CS2 inventory

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '.'

Get a summary of items (names and quantities)

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '[.descriptions[] | {market_hash_name, type}]'

Get item details (asset IDs mapped to descriptions)

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000" \
  -H "Cookie: $STEAM_COOKIES" | jq '{assets: [.assets[] | {assetid, classid, instanceid, amount}], total: .total_inventory_count}'

Paginated fetch (for inventories over 2000 items)

The API returns a

last_assetid
field when there are more items. Pass it as
start_assetid
to get the next page:

curl -s "https://steamcommunity.com/inventory/$STEAM_ID/730/2?l=english&count=2000&start_assetid=$LAST_ASSET_ID" \
  -H "Cookie: $STEAM_COOKIES" | jq '.'

Check for more pages by looking at the

more_items
field in the response (equals
1
if there are more).

Response Format

The inventory endpoint returns JSON with these key fields:

FieldDescription
assets
Array of items with
appid
,
contextid
,
assetid
,
classid
,
instanceid
,
amount
descriptions
Array of item metadata:
market_hash_name
,
name
,
type
,
icon_url
,
tradable
,
marketable
, tags, etc.
total_inventory_count
Total number of items in the inventory
more_items
1
if more pages available (absent otherwise)
last_assetid
Last asset ID returned; use as
start_assetid
for next page
success
1
if the request succeeded

Assets are linked to descriptions via

classid
+
instanceid
.

Notes

  • Rate limits: The community endpoint is heavily rate-limited by IP. Using your own cookies bypasses this for your own inventory. Without cookies, expect IP bans after a few requests (cooldown ~6 hours).
  • Spacing: If fetching multiple inventories or pages, wait at least 4 seconds between requests.
  • count parameter: Max value is 5000, but 2000 is recommended to avoid issues.
  • Context ID: Use
    2
    for all standard game inventories. Steam Community items (appid 753) also use context ID
    6
    for some item types.
  • Private profiles: Inventory must be set to public, or you must be authenticated as the owner.