Skip to content
API

Public inventory lookup

Steam inventory checker and value viewer

Paste a SteamID64 or Steam Community profile link, select a game and run a read-only inventory check. No Steam login, password, Steam Guard code or trade confirmation is required.

Updated

Paste 17 digits, a steamcommunity.com/profiles/… link or a custom steamcommunity.com/id/… link. Inventory links ending in /inventory also work.

To run a check, enable JavaScript and reload this page. If the button stays disabled, use the inventory API guide.

Two free checks per IP each day, subject to shared free-service limits. Public inventories only. No Steam login.

How the inventory value is calculated

No loginread-only public lookup
8 gamesCS2, Rust, TF2, Dota 2, PUBG, s&box, Unturned and PAYDAY 2
USD totalpriced inventory estimate
2 checksfree lookups per IP each day

Inventory result

The estimate includes priced items that are both tradable and marketable. Unpriced items remain in the count. Float, pattern and sticker premiums are not individually appraised.

Paste a public SteamID64 or profile link above to view an inventory.

How the inventory value is calculated

Fictional example with saved catalog prices, not a real player's inventory or current market quotes. A matched price and eligibility to contribute to the estimate are separate facts.

Example itemsQuantitySaved price eachContribution
Priced, tradable and marketable2$12.34$24.68
Priced but not tradable1$8.00Excluded from the estimate
No matched catalog price1UnavailableUnpriced, not a known zero

4 items, 3 matched prices, 1 unpriced item. Partial estimated tradable value: $24.68. The matched-price count includes the $8.00 item, even though it is not tradable and does not contribute to the total. The unmatched item stays in the count with unknown value.

This is not a full resale valuation. The checker does not return exact inventory or price timestamps, and a cache flag alone does not establish the age of a quote. Instance-specific float, pattern or sticker premiums and a guaranteed sale amount cannot be inferred from this estimate. Read the inventory valuation guide for source selection and freshness rules.

Check a TF2, Rust or CS2 inventory

Use the same public SteamID64 and choose the game before running a check. The result describes what Steam exposes publicly; it cannot unlock a private backpack.

Select Team Fortress 2 to inspect a public TF2 backpack and its grouped item estimate. Unusual effects and instance attributes can change an item's resale value; the checker does not appraise them individually. For an application, use the TF2 inventory API guide.

Select Rust to see public items, an estimated USD total and the unpriced count. A missing local price does not mean an item is absent. Read the Rust inventory API guide for item rows and freshness metadata.

Select Counter-Strike 2 for a public inventory estimate. Market-name prices do not automatically include float, pattern or applied sticker premiums. The CS2 inventory API guide explains optional Inspect access for richer item metadata.

Response example

The browser checker shows a deliberately reduced public result. Production endpoints expose the complete typed inventory contract.

JSON
{
  "steamid": "76561198090744629",
  "game": "cs2",
  "status": "ok",
  "total": 24.68,
  "items_total": 2,
  "unpriced": 0,
  "cached": true,
  "ms": 18,
  "top": [
    {
      "name": "Example market item",
      "count": 2,
      "price": 12.34
    }
  ]
}

Response schema

Fields returned by the public checker endpoint.

FieldTypeMeaning
statusstringPublic Steam inventory outcome.
totalnumberEstimated USD value of priced, tradable and marketable items.
items_totalintegerComplete inventory item count.
unpricedintegerItems without a matched catalog price.
toparrayUp to five grouped item price examples; each price is per item.

Limits and error behavior

The public tool is intentionally not a bulk API.

1

Only public inventories can be read. Private, missing and rate-limited outcomes are shown separately.

2

Each IP can run two free checks per day, within shared free-service limits. A timeout may still consume its reserved check; no automatic retry is sent. Use an API key for production access.

Cache and freshness semantics

How the checker avoids repeated Steam work.

1

The demo shows whether the inventory result was cached. It does not include exact inventory or price timestamps.

2

Authenticated API responses expose cache age and TTL metadata for exact client-side freshness decisions.

Build this lookup into your application

The public checker is for a quick manual test. Production integrations use an authenticated endpoint with cache age, TTL, batch requests and explicit error states.

curl
curl --fail-with-body \
  -H "Authorization: Bearer $WOK_API_KEY" \
  "https://woksteamapi.com/v1/inventory?steam_id=76561198090744629&game=cs2&top=10"
JavaScript (Node.js)
// Node.js: keep the API key on your server.
const url = new URL("https://woksteamapi.com/v1/inventory");
url.search = new URLSearchParams({
  steam_id: "76561198090744629",
  game: "cs2",
  top: "10"
});
const response = await fetch(url, {
  headers: { Authorization: `Bearer ${process.env.WOK_API_KEY}` }
});
if (!response.ok) throw new Error(`${response.status}: ${await response.text()}`);
const inventory = await response.json();
Python
import os
import requests

response = requests.get(
    "https://woksteamapi.com/v1/inventory",
    headers={"Authorization": f"Bearer {os.environ['WOK_API_KEY']}"},
    params={
        "steam_id": "76561198090744629",
        "game": "cs2",
        "top": 10,
    },
    timeout=30,
)
response.raise_for_status()
inventory = response.json()

Frequently asked questions

Direct answers about access, freshness and result semantics.

Is the Steam inventory checker safe?

The checker is read-only and accepts a public SteamID64 or Steam Community profile link. It never asks for a Steam password, Steam Guard code or trade confirmation.

Can I paste a Steam profile or inventory link?

Yes. Paste a numeric steamcommunity.com/profiles/ link or a custom steamcommunity.com/id/ link, optionally ending in /inventory. A custom profile name is resolved after a free check is reserved. A link cannot unlock a private inventory.

Why are some items unpriced?

Unpriced means no matched catalog price was available. Those items do not contribute to the estimate. If all returned items are unpriced, the checker reports that a value estimate is unavailable.

Why does a Steam inventory show as private?

Steam inventory visibility is controlled by the profile owner. WOK cannot read items that Steam does not expose publicly.

How accurate is the inventory value?

The total estimates priced items that are both tradable and marketable. Unpriced or non-tradable/non-marketable items do not contribute. Float, pattern and applied sticker premiums are not individually appraised; this is not a guaranteed cash sale value.

When can I run another free check?

The per-IP allowance is two checks per day, with additional shared limits for the free service. When a limit response includes Retry-After, wait before submitting another check. A timed-out request may still consume its reserved check and is not retried automatically.