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
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 items | Quantity | Saved price each | Contribution |
|---|---|---|---|
| Priced, tradable and marketable | 2 | $12.34 | $24.68 |
| Priced but not tradable | 1 | $8.00 | Excluded from the estimate |
| No matched catalog price | 1 | Unavailable | Unpriced, 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.
{
"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.
| Field | Type | Meaning |
|---|---|---|
status | string | Public Steam inventory outcome. |
total | number | Estimated USD value of priced, tradable and marketable items. |
items_total | integer | Complete inventory item count. |
unpriced | integer | Items without a matched catalog price. |
top | array | Up to five grouped item price examples; each price is per item. |
Limits and error behavior
The public tool is intentionally not a bulk API.
Only public inventories can be read. Private, missing and rate-limited outcomes are shown separately.
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.
The demo shows whether the inventory result was cached. It does not include exact inventory or price timestamps.
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 --fail-with-body \
-H "Authorization: Bearer $WOK_API_KEY" \
"https://woksteamapi.com/v1/inventory?steam_id=76561198090744629&game=cs2&top=10"// 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();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.