Authentication for Steam developers
Steam API key: Valve, Steamworks or WOK?
These keys belong to different services and cannot be exchanged. Choose the key for the endpoint you are actually calling, then keep it on your server.
Updated September 23, 2026
WOK APIexport WOK_API_KEY="your-wok-key"
curl --fail-with-body -H "Authorization: Bearer $WOK_API_KEY" "https://woksteamapi.com/v1/key"Which key do you need?
A Steam account, a Steamworks publisher account and a WOK account issue different credentials.
| Key | Where it comes from | What it authenticates |
|---|---|---|
| Valve user Web API key | Steam Community registration, with a Steam account, domain and API terms. | Supported official Valve Web API methods requiring a user key. It is not a WOK key. |
| Steamworks publisher key | A Steamworks publisher administrator creates it for their group and permissions. | Publisher-only methods for the publisher's apps. IInventoryService/GetInventory requires Economy permission; it is not a general key for arbitrary public game inventories. |
| WOK API key | Your WOK account after activating a free or paid plan. | Documented WOK endpoints such as /v1/inventory, /v1/price and /v1/profile. Public Steam inventory visibility still applies. |
| SteamWebAPI key | A separate SteamWebAPI account. | That provider's endpoints. To migrate, obtain a WOK key and validate the response contract; the keys are not interchangeable. |
WOK is independent of Valve and SteamWebAPI. Valve's Web API key documentation explains user and publisher keys; its Inventory Service reference documents the publisher-only method.
Your first public inventory request
Use a WOK key only on your server. No Valve or SteamWebAPI key is needed for these WOK calls.
Sign in to WOK, activate Free Developer or a paid plan, and copy your WOK key into a server-side environment variable. Never put it in a browser bundle, URL, screenshot or public repository.
Call GET /v1/key to check the plan and effective quotas without consuming an inventory request.
Call GET /v1/inventory with a public SteamID64 and game=cs2. Check the response status, unpriced, item prices and cache age. A private or unavailable inventory is not an empty one.
WOK APIcurl --fail-with-body -H "Authorization: Bearer $WOK_API_KEY" "https://woksteamapi.com/v1/inventory?steam_id=76561198090744629&game=cs2&top=0"Node.js and Python inventory examplesHow inventory value is calculatedHandle Steam 429 responsesFull WOK API reference