
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.
/GET — Current key plan and quotav1/ key /GET — Inventory with steamwebapi response fieldssteam/ api/ inventory /GET — Steam profile in the compatible shapesteam/ api/ profile /GET — Public Steam profile commentssteam/ api/ profile/ comments /GET — Render a CS2 inspect certificate as PNGsteam/ api/ float/ screenshot /GET — Inventory totals, items and request metadatav1/ inventory /POST — Refresh cached inventory prices without a Steam fetchv1/ inventory/ refresh-prices /POST / GET / DELETE — Opt in to one valid cached inventory observationv1/ inventory-snapshots /GET — Observed quantity changes since the preceding snapshotv1/ inventory-snapshots/ {snapshot_id}/ diff /POST — Synchronous inventories for up to 20 playersv1/ inventories /GET — One Steam profilev1/ profile /GET — Public Steam profile commentsv1/ profile-comments /POST — Up to 64 Steam profiles in one requestv1/ profiles /GET — VAC, bans and cautious trade eligibilityv1/ player-security /POST — Batch Steam VAC, game and economy bansv1/ player-security/ batch /GET — Steam account levelv1/ steam-level /GET — Public Steam profile name historyv1/ aliases /GET — Visible Steam games and playtime in hoursv1/ games /POST — Batch Steam game libraries and playtimev1/ games/ batch /GET — Steam playtime over the last two weeksv1/ games/ recent /POST — Two-week Steam playtime for multiple playersv1/ games/ recent/ batch /GET — Achievements for one account and gamev1/ games/ achievements /GET — Visible games and selected achievement progresssteam/ api/ profile/ games /GET — Steam app details; choose store, reviews or current playersv1/ apps /GET — Steam app details; choose store, reviews or current playerssteam/ api/ apps /GET — Public Steam friend listv1/ friends /GET — Rust lifetime game statisticsv1/ rust/ stats /GET — Rust kills, resources and all published countersv1/ rust/ summary /GET — Rust achievements with name and achieved flagv1/ rust/ achievements /GET — Rust total and recent playtime in minutesv1/ rust/ playtime /GET — One cross-checked item pricev1/ price /GET — Fresh CS2 prices across marketplacesv1/ cs2/ market-prices /POST — Up to 200 item prices in one requestv1/ prices /GET — Cursor-paginated public item catalogv1/ items /GET — Saved catalog price coverage and freshnessv1/ prices/ coverage /GET — Filter saved CS2 item names and price observationsv1/ cs2/ items /GET — Observed daily price historyv1/ price-history /POST — Observed daily value of a caller-supplied item basketv1/ portfolio-history /POST — Queue bounded catalog exportv1/ catalog/ exports /GET / DELETE — Get export statusv1/ catalog/ exports/ {export_id} /GET — Download completed NDJSON exportv1/ catalog/ exports/ {export_id}/ download /POST — CS2 float, paint, stickers and Dopplerv1/ cs2/ inspect /GET — Resolve CS2 item class metadatav1/ cs2/ item-preview /GET — CS2 Market listing floats and pricesv1/ cs2/ market-listings /POST — Resolve a CS2 Doppler phasev1/ cs2/ doppler-phase /POST — Render a deterministic CS2 inspect PNGv1/ cs2/ screenshot /POST — Queue up to 32 players and 64 player-game tasksv1/ crawl /GET — Progress and outcomes for a crawl batchv1/ crawl/ {batch} /GET — FACEIT player by SteamID64faceit/ data/ v4/ players /GET — FACEIT lifetime statisticsfaceit/ data/ v4/ players/ {player_id}/ stats/ {game} /GET — Recent FACEIT matchesfaceit/ data/ v4/ players/ {player_id}/ history /GET — Public health of the production nodehealthz /POST — Open an item-bound 3D viewer sessionv1/ cs2/ viewer-session /GET / PUT — Read viewer access and settingsv1/ cs2/ viewer /POST — Render a CS2 skin imagev1/ cs2/ screenshots /GET — Read a screenshot job or imagev1/ cs2/ screenshots/ {job_id} /GET — Render or retrieve a screenshot using query parameterssteam/ api/ screenshot /GET — Search observed public CS2 assetsv1/ cs2/ assets /GET — Read current observed asset coveragev1/ cs2/ assets/ coverage /POST — Find candidate assets for multiple filtersv1/ cs2/ assets/ find /GET — Publicly exposed profile groupsv1/ profile/ groups /GET — Published counters for one account and gamev1/ game-stats /GET — Steam badges, XP and account levelv1/ badges /GET — Achievement and statistic definitionsv1/ apps/ schema /GET — Global achievement percentagesv1/ apps/ achievements/ global /GET — Steam app newsv1/ apps/ news /GET — Search the local Steam app catalogv1/ apps/ search /POST — Achievements for selected account/game pairsv1/ games/ achievements/ batch
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
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.
/faceit/data/v4/players{
"games": {
"cs2": {
"skill_level": 10,
"faceit_elo": 2100
}
}
}
Example fields. Values are illustrative.
Explore the API referenceFrom 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.


AWP | Asiimov (Field-Tested)
$128.40
Recoil Case
$0.35Example values, not current market prices
Your players are already here
Inventory data across eight games
Built for your product
Built for your next Steam project
Connect Steam data to the tools your users already need.
Inventory & portfolio tools
Show what a public inventory contains and what its items are worth, with price sources and freshness included.
Trading & market analytics
Bring item prices into your own comparison tools. Choose a price source and handle missing quotes explicitly.
Bots & player dashboards
Add Steam profiles, inventories and FACEIT rank to community bots and player pages using one API key.
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/inventoryInventories 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/v4Steam 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/inventoriesBatch 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_ageKnow 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
| 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.
# 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"
Every public endpoint, in one place
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.
Install a typed client
Download version 1.3.0 for the methods in this reference.
npm install --offline --ignore-scripts ./woksteamapi-client-1.3.0.tgzpython -m pip install --no-index --no-deps ./wok_api-1.3.0-py3-none-any.whlnpm and PyPI releases are published separately. Verify downloads before installation and keep API keys on your server.
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.
- Get your WOK keyCopy it from your account and store it on your server as
WOK_API_KEY. SendAuthorization: Bearer <WOK_API_KEY>; never send a WOK key to Steam or put it in a URL. - Check the keyCall
GET /v1/key. It reports whether the key is active and how much quota remains without spending a request. - Choose a game and endpointUse
GET /v1/inventory?steam_id=STEAMID64&game=rustfor Rust inventory. Change onlygamefor 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 | game | Steam AppID | Additional routes |
|---|---|---|---|
| Counter-Strike 2 | cs2 | 730 | CS2 inspect with add-on |
| Rust | rust | 252490 | /v1/rust/stats, /v1/rust/achievements, /v1/rust/playtime |
| Dota 2 | dota2 | 570 | Inventory, prices, catalog, history |
| Team Fortress 2 | tf2 | 440 | Inventory, prices, catalog, history |
| PUBG | pubg | 578080 | Inventory, prices, catalog, history |
| s&box | sandbox | 590830 | Inventory, prices, catalog, history |
| Unturned | unturned | 304930 | Inventory, prices, catalog, history |
| PAYDAY 2 | payday2 | 218620 | Inventory, prices, catalog, history |
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.
Prepay 3 months and save 5%, 6 months 10%, or 12 months 15%. Billed once; add-ons are priced separately.
Add only what your integration needs
Buy an add-on for an active subscription. Payment and activation are fully automatic.
Choose an active subscription, pay, and the new capability appears automatically after confirmation.
Questions
WOK systems
Current public health from the same production node that serves API traffic.
HTTP health and application response
Production worker answered this check
A live database read completed
Checks in this browser session
Each mark is a real health response collected while this page is open.
GET /healthzYour WOK access
Subscriptions, orders and API keys under one protected account.
Privacy Policy
This document explains what WOK API stores, why it is needed and how to request access, correction or deletion.
User Agreement
Terms for accounts, API subscriptions, payments, delivery, acceptable use and support.
Contact WOK API
Write directly about payments, account access, API behavior or personal data.
Start building
Your next idea starts with one request
1,000 requests per 30 days on Free Developer. No payment required.
