Skip to content
API

Steam API Documentation: Inventory, Prices & Profiles

Exact parameters, response shapes and status codes from the running service. Use one WOK API key as Authorization: Bearer on data endpoints. WOK holds the Steam key server-side. Cross-origin browser requests are not supported; keep your WOK key on your server. Health is public.

  • /v1/key GET — Current key plan and quota
  • /steam/api/inventory GET — Inventory with steamwebapi response fields
  • /steam/api/profile GET — Steam profile in the compatible shape
  • /steam/api/profile/comments GET — Public Steam profile comments
  • /steam/api/float/screenshot GET — Render a CS2 inspect certificate as PNG
  • /v1/inventory GET — Inventory totals, items and request metadata
  • /v1/inventory/refresh-prices POST — Refresh cached inventory prices without a Steam fetch
  • /v1/inventory-snapshots POST / GET / DELETE — Opt in to one valid cached inventory observation
  • /v1/inventory-snapshots/{snapshot_id}/diff GET — Observed quantity changes since the preceding snapshot
  • /v1/inventories POST — Synchronous inventories for up to 20 players
  • /v1/profile GET — One Steam profile
  • /v1/profile-comments GET — Public Steam profile comments
  • /v1/profiles POST — Up to 64 Steam profiles in one request
  • /v1/player-security GET — VAC, bans and cautious trade eligibility
  • /v1/player-security/batch POST — Batch Steam VAC, game and economy bans
  • /v1/steam-level GET — Steam account level
  • /v1/aliases GET — Public Steam profile name history
  • /v1/games GET — Visible Steam games and playtime in hours
  • /v1/games/batch POST — Batch Steam game libraries and playtime
  • /v1/games/recent GET — Steam playtime over the last two weeks
  • /v1/games/recent/batch POST — Two-week Steam playtime for multiple players
  • /v1/games/achievements GET — Achievements for one account and game
  • /steam/api/profile/games GET — Visible games and selected achievement progress
  • /v1/apps GET — Steam app details; choose store, reviews or current players
  • /steam/api/apps GET — Steam app details; choose store, reviews or current players
  • /v1/friends GET — Public Steam friend list
  • /v1/rust/stats GET — Rust lifetime game statistics
  • /v1/rust/summary GET — Rust kills, resources and all published counters
  • /v1/rust/achievements GET — Rust achievements with name and achieved flag
  • /v1/rust/playtime GET — Rust total and recent playtime in minutes
  • /v1/price GET — One cross-checked item price
  • /v1/cs2/market-prices GET — Fresh CS2 prices across marketplaces
  • /v1/prices POST — Up to 200 item prices in one request
  • /v1/items GET — Cursor-paginated public item catalog
  • /v1/prices/coverage GET — Saved catalog price coverage and freshness
  • /v1/cs2/items GET — Filter saved CS2 item names and price observations
  • /v1/price-history GET — Observed daily price history
  • /v1/portfolio-history POST — Observed daily value of a caller-supplied item basket
  • /v1/catalog/exports POST — Queue bounded catalog export
  • /v1/catalog/exports/{export_id} GET / DELETE — Get export status
  • /v1/catalog/exports/{export_id}/download GET — Download completed NDJSON export
  • /v1/cs2/inspect POST — CS2 float, paint, stickers and Doppler
  • /v1/cs2/item-preview GET — Resolve CS2 item class metadata
  • /v1/cs2/market-listings GET — CS2 Market listing floats and prices
  • /v1/cs2/doppler-phase POST — Resolve a CS2 Doppler phase
  • /v1/cs2/screenshot POST — Render a deterministic CS2 inspect PNG
  • /v1/crawl POST — Queue up to 32 players and 64 player-game tasks
  • /v1/crawl/{batch} GET — Progress and outcomes for a crawl batch
  • /faceit/data/v4/players GET — FACEIT player by SteamID64
  • /faceit/data/v4/players/{player_id}/stats/{game} GET — FACEIT lifetime statistics
  • /faceit/data/v4/players/{player_id}/history GET — Recent FACEIT matches
  • /healthz GET — Public health of the production node
  • /v1/cs2/viewer-session POST — Open an item-bound 3D viewer session
  • /v1/cs2/viewer GET / PUT — Read viewer access and settings
  • /v1/cs2/screenshots POST — Render a CS2 skin image
  • /v1/cs2/screenshots/{job_id} GET — Read a screenshot job or image
  • /steam/api/screenshot GET — Render or retrieve a screenshot using query parameters
  • /v1/cs2/assets GET — Search observed public CS2 assets
  • /v1/cs2/assets/coverage GET — Read current observed asset coverage
  • /v1/cs2/assets/find POST — Find candidate assets for multiple filters
  • /v1/profile/groups GET — Publicly exposed profile groups
  • /v1/game-stats GET — Published counters for one account and game
  • /v1/badges GET — Steam badges, XP and account level
  • /v1/apps/schema GET — Achievement and statistic definitions
  • /v1/apps/achievements/global GET — Global achievement percentages
  • /v1/apps/news GET — Steam app news
  • /v1/apps/search GET — Search the local Steam app catalog
  • /v1/games/achievements/batch POST — Achievements for selected account/game pairs

API questions

Player data and selected achievements · Inventory fields, currencies and downloads

Steam API endpoint map · Steam Market API Python and catalog guide · Integration guide: one key, eight games, Rust stats · Rust API overview · Rust player stats and hours · Steam name history and level · Steam privacy and missing data · Item price history · CS2 Market listing floats · Inventory cache strategy · Steam and WOK error reference · OpenAPI · Postman · Python 3.10+ 1.3.0 · JavaScript / TypeScript 1.3.0

Verify and install · SHA256SUMS

Steam inventory & market API

Steam API for your build

Inventories, item prices and player profiles through one API key. Build trading tools, bots and services for players.

1,000 requests per 30 days on Free Developer. No payment required.

FACEITJSON
GET/faceit/data/v4/players
{
  "games": {
    "cs2": {
      "skill_level": 10,
      "faceit_elo": 2100
    }
  }
}

Example fields. Values are illustrative.

Explore the API reference

From a Steam profile to your product

Enter a public Steam profile to see items and prices

2 free lookups per day per IP. No signup.

Example inventoryCS2

Example values, not current market prices

Your players are already here

Inventory data across eight games

The integration

The data behind your next feature

Use a single HTTP API instead of connecting inventory, pricing and player data separately.

Explore the API reference
/v1/inventory

Inventories and item prices

Read items and inventory values for CS2, Rust, TF2, Dota 2, PUBG, s&box, Unturned and PAYDAY 2. Each response shows available prices and unpriced items.

/faceit/data/v4

Steam profiles and FACEIT stats

Add player profiles, FACEIT level, ELO and match stats to your app. Use your WOK key; no separate FACEIT key is needed.

/v1/inventories

Batch requests for player lists

Request up to 20 players and four games in a batch, with a result for each player-game pair. Each requested pair uses one quota unit.

meta.cache_age

Know how fresh your data is

Read inventory cache age and per-item price sources. Refresh prices from the local catalog without rescanning a fresh stored inventory.

Compare the cost of your workload

Inventory API costs in WOK, SteamWebAPI and SteamApis for the same number of requests

30,000requests over 30 days
Service Monthly cost Included requests Requests per minute
WOK- -per 30 daysOptional auto-renewal Included requests-per 30 days Requests per minute-
SteamWebAPI- -per month Included requests-per month Requests per minute-
SteamApisRequest allowance -per month Included requests-per month Requests per minuteNot published
How we compare

Standard inventory lookups for one player and one game, without batching or forced refresh. Other endpoints and included data differ by provider.

30 days with requests spread evenly across the day. Published monthly, daily and per-minute limits are taken into account. Allow headroom for traffic peaks.

WOK plans are prepaid by default. For a new 30-day plan, you can choose automatic renewal through Stripe at checkout.

SteamApis: lowest request cost including published overage rates. Overage requires it to be enabled and enough account balance. Its inventory rate limit is not publicly specified. This is a cost estimate; throughput at the selected volume has not been verified.

WOK: a suitable listed plan comes first. Quota packs are added only when no listed plan covers the selected volume. Each pack adds 1M units and 50k/day for $45 until the current quota reset. Packs are one-time purchases and do not increase the per-minute limit. Current per-key ceilings apply. The estimate assumes a new 30-day window.

Published limits per minute: WOK Ultra 1200 / Titan 2000 quota units; SteamWebAPI Inventory High+ 200 requests. Batch calls can use multiple WOK units.

One batch of 20 players across 4 games uses 80 quota units, the maximum of 80 player-game pairs per call.

Official pricingSteamWebAPISteamApis

WOK prices come from the current plan catalogCompetitor prices checked

Your first request

Steam API Documentation: Inventory, Prices & Profiles

Get a key, keep it on your server and request a public inventory. Start with curl, Python or JavaScript, then use the response in your app.

Steam inventory API integration: batches and snapshots

# Keep WOK_API_KEY on the server
curl --fail-with-body \
  -H "Authorization: Bearer $WOK_API_KEY" \
  "https://woksteamapi.com/v1/inventory?steam_id=$STEAM_ID&game=cs2"
API reference

Every public endpoint, in one place

Exact parameters, response shapes and status codes from the running service.

Authentication

Use one WOK API key as Authorization: Bearer on data endpoints. WOK holds the Steam key server-side. Cross-origin browser requests are not supported; keep your WOK key on your server. Health is public.

Base URLhttps://woksteamapi.com

Install a typed client

Download version 1.3.0 for the methods in this reference.

npm and PyPI releases are published separately. Verify downloads before installation and keep API keys on your server.

Build manifest and checksums · SHA256SUMS

Start here · one WOK key

Connect a server or agent in three calls

The same WOK API key works for every included game and player endpoint. WOK holds the Steam Web API key on its servers.

  1. Get your WOK keyCopy it from your account and store it on your server as WOK_API_KEY. Send Authorization: Bearer <WOK_API_KEY>; never send a WOK key to Steam or put it in a URL.
  2. Check the keyCall GET /v1/key. It reports whether the key is active and how much quota remains without spending a request.
  3. Choose a game and endpointUse GET /v1/inventory?steam_id=STEAMID64&game=rust for Rust inventory. Change only game for another named game. Rust achievements and playtime have separate routes below.
curl -H "Authorization: Bearer ${WOK_API_KEY}" "https://woksteamapi.com/v1/key"
curl -H "Authorization: Bearer ${WOK_API_KEY}" "https://woksteamapi.com/v1/inventory?steam_id=${STEAM_ID}&game=rust"
curl -H "Authorization: Bearer ${WOK_API_KEY}" "https://woksteamapi.com/v1/rust/achievements?steam_id=${STEAM_ID}"

Use a 17-digit SteamID64 for Rust stats and friends. Inventory and profile routes also accept profile URLs and vanity names. Read the complete integration guide for response fields, errors and examples.

Game parameter for inventory, prices, catalog and history
GamegameSteam AppIDAdditional routes
Counter-Strike 2cs2730CS2 inspect with add-on
Rustrust252490/v1/rust/stats, /v1/rust/achievements, /v1/rust/playtime
Dota 2dota2570Inventory, prices, catalog, history
Team Fortress 2tf2440Inventory, prices, catalog, history
PUBGpubg578080Inventory, prices, catalog, history
s&boxsandbox590830Inventory, prices, catalog, history
Unturnedunturned304930Inventory, prices, catalog, history
PAYDAY 2payday2218620Inventory, prices, catalog, history
Guides · English

Choose an integration path

Working examples, supported games and the limits your application should handle.

Steam API pricing

Start with a free key or choose a paid plan. Pay once, or choose automatic renewal through Stripe. Request quotas use 30-day windows.

Billing period

Prepay 3 months and save 5%, 6 months 10%, or 12 months 15%. Billed once; add-ons are priced separately.

OPTIONAL ADD-ONS

Add only what your integration needs

Buy an add-on for an active subscription. Payment and activation are fully automatic.

SELF-SERVICE

Choose an active subscription, pay, and the new capability appears automatically after confirmation.

Questions

Live service status

WOK systems

Current public health from the same production node that serves API traffic.

Overall statusChecking production
Last checked...
Public APIChecking

HTTP health and application response

Application processChecking

Production worker answered this check

DatabaseChecking

A live database read completed

Checks in this browser session

Each mark is a real health response collected while this page is open.

GET /healthz

Start building

Your next idea starts with one request

1,000 requests per 30 days on Free Developer. No payment required.

Get a free API key