Skip to content
API

WOK API / SteamWebAPI

SteamWebAPI Alternative: Limits and Migration

Compare quotas, price sources and response contracts. Test your SteamWebAPI integration with WOK before switching production traffic.

What changes in your codeBASE + KEY
- BASE = "https://www.steamwebapi.com"
+ BASE = "https://woksteamapi.com"

- KEY  = "your-steamwebapi-key"
+ KEY  = "your-wok-key"

Migration effort: Base URL, key and contract validation.

WOK API control core
Ultra 1,500/min; Titan 2,500/minPublished per-minute limit, compared tier
includedSteam profiles
Source-level prices and update timesPrice sources
Base URL, key and contract validationMigration effort

Choose the WOK contract your application needs

Developer guide · English. Compatible paths help an existing integration start testing; native endpoints offer a different response model. Choose the parser and error behavior deliberately.

Your applicationStart hereValidate before switching
Existing item-array parserGET /steam/api/inventorySuccess is an array. Check group=1 versus group=0, string asset IDs, null prices and HTTP inventory errors against the migration checklist.
New server applicationGET /v1/inventorySuccess is an object with status, items, totals and meta. HTTP 200 can describe a private or unavailable inventory. This route has no group parameter.
Roster or scannerPOST /v1/inventories or NDJSON streamValidate every pair independently. Streaming needs a verified final complete record; it adds neither replay protection nor extra source capacity. Download a stream consumer.

Start with the downloadable offline contract exercise: twelve fictional responses show private versus empty inventories, quantity-aware USD totals, missing prices and partial batch failures. It needs Python 3.10+, no API key and no network request.

A compatible URL does not establish identical fields, valuations or coverage. Test saved success, private, empty and failure responses before a bounded live comparison. Keep inventory age separate from price-source timestamps, and compare measured latency under the same workload rather than treating a plan's per-minute quota as throughput. Read the example setup and partial-result rules before running the downloadable client.

Moving inventories that span several Steam pages? Check large-inventory pagination and batch coverage before comparing totals or replacing your continuation logic.

Validate the switch with one real request

Create a WOK account and API key, set it as WOK_API_KEY on your server, and run this compatibility request with a public SteamID64.

curlBearer authentication
curl --fail-with-body --max-time 35 -H "Authorization: Bearer $WOK_API_KEY" "https://woksteamapi.com/steam/api/inventory?steam_id=76561198090744629&game=cs2&price_source=auto&group=1&currency=USD"

Validate grouping, unpriced items and errors against your parser. Read X-Wok-Cache-Age and X-Wok-Cache-TTL separately from item price timestamps. A successful cached response is not proof of a new Steam scan.

For repeated valuations, batch price-only refresh reprices a fresh stored inventory without contacting Steam. Missing snapshots stay explicit instead of triggering an invisible scan.

Follow the endpoint migration checklistValidate the response contractCheck WOK daily and 30-day quotas

SteamWebAPI alternative comparison

Both APIs answer the same question - what is in a Steam inventory and what is it worth. What differs is how much you get for one key, how fast you can call, and how much is billed separately.

SteamWebAPI alternative comparison
FeaturesteamwebapiWOK API
Published per-minute limit, compared tier200 at €200/mo (Inventory High+)Ultra 1,500/min; Titan 2,500/min
Steam profilesIncluded in Starter; dedicated plans also existincluded
FACEIT rank and statsNot evaluated in this comparisonincluded, no FACEIT key
Price sourcesSteam and marketplace data; coverage variesSource-level prices and update times
Migration effort-Base URL, key and contract validation

SteamWebAPI pricing checked October 21, 2026. SteamWebAPI official pricing · WOK pricing.

Match the plan to your workload

Compare burst capacity and sustained usage together. These selected tiers do not represent every plan or an identical bundle.

SteamWebAPI Inventory High+ and WOK ULTRA published limits
Published allowanceSteamWebAPI Inventory High+WOK ULTRA
Price and access period€200 per month$139 for 30 days
Inventory requests per minute2001,500
Daily inventory allowance500,000240,000 quota units
Monthly inventory allowance15,000,0007,000,000 quota units

Checked October 21, 2026: SteamWebAPI pricing and WOK public plans. Prices use different currencies; no exchange-rate or universal savings claim is implied.

WOK ULTRA has the higher published per-minute allowance in this comparison; Inventory High+ has the larger daily and period allowance. WOK's request window is 30 days from activation or renewal. Neither number measures request latency. Plan for cache misses, batch size, price coverage and the endpoints your application actually uses.

The current WOK Titan plan permits 2,500 quota units per minute per key. That published guard is not a measured promise of cold Steam inventory throughput. The table above compares Ultra specifically.

On WOK, one inventory lookup uses one quota unit; a native batch reserves one unit per normalized player-game pair. One batch accepts at most 20 players, four games and 80 pairs: 20 players across four games reserve 80 units. Split a larger matrix into separate calls. Read your effective limits and UTC resets at GET /v1/key. Every key uses a rolling 30-day quota window anchored to activation or its latest paid renewal. Longer terms continue in consecutive 30-day windows without changing the API key. Daily and minute guards keep their own periods.

SteamWebAPI also offers inventory batches, marketplace price data and plans that include profiles. WOK is an alternative to evaluate, not an official SteamWebAPI replacement or an affiliated service. Use the migration validation checklist before routing customer traffic.

Endpoint compatibility

WOK supports selected SteamWebAPI-style routes. Validate the documented response shape, grouping, missing values and error handling before switching production traffic; this is not a guarantee of every competitor feature.

Endpoint compatibility
EndpointNotes
/steam/api/inventoryDocumented compatibility shape; Bearer preferred
/steam/api/profileDocumented compatibility shape; Bearer preferred
/v1/inventoryBearer auth, extra fields
/v1/profilesone call, up to 64 profiles
/v1/pricesup to 200 prices per call
/faceit/data/v4/playersno separate FACEIT key

What changes in your code

Pythonrequests
response = requests.get(
    f"{BASE}/steam/api/inventory",
    headers={"Authorization": f"Bearer {KEY}"},
    params={"steam_id": sid, "game": "cs2", "price_source": "auto"},
    timeout=35,
)
response.raise_for_status()

Error codes

Handle authentication, quota, validation and upstream failures separately. Native batch responses also carry per-pair status and errors inside HTTP 200.

400malformed parameter
401missing, invalid or expired key
402quota exhausted or required add-on missing
404profile or item not found
422parameter failed validation
429rate limit reached
502Steam or FACEIT did not answer

Price sources

Prices are cross-checked across several markets and you decide which one counts. Add price_source to any inventory call, or set a default on your key. skinport uses the lowest active Skinport listing; steam_buy is the Steam instant-sell price - the highest standing buy order.

autosteamsteam_buyskinportmarketbackpacktfbuffmix
?price_source=steam_buy&strict=1

Steam inventory 429 guide: cache-first reads, bounded retries and explicit freshness metadata.

SteamAPIs alternativeCSFloat API alternativebackpack.tf API alternative

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. Compatibility routes with migration guidance.

FREE DEVELOPER

Free

1,000 requests per 30 days. No payment card. · Requires membership in the WOK API Discord server
units / 30 days
1 000
units / day
100
RPM
30

HISTORY

$6

per 30 days
units / 30 days
750 000
units / day
30,000
RPM
600

PRICES STARTER

$6

per 30 days
units / 30 days
250 000
units / day
10,000
RPM
300

PLAYERS STARTER

$8

per 30 days
units / 30 days
60 000
units / day
2,500
RPM
300

VIEWER

$9

per 30 days
units / 30 days
1 000
units / day
100
RPM
120

FLOAT

$9

per 30 days
units / 30 days
100 000
units / day
5,000
RPM
300

PRICES

$9

per 30 days
units / 30 days
600 000
units / day
20,000
RPM
600

INVENTORY STARTER

$12

per 30 days
units / 30 days
150 000
units / day
6,000
RPM
400

HISTORY PRO

$12

per 30 days
units / 30 days
3 000 000
units / day
120,000
RPM
1200

START

$15

per 30 days
units / 30 days
300 000
units / day
10,000
RPM
250

ASSETS

$15

per 30 days
units / 30 days
300 000
units / day
15,000
RPM
300

PLAYERS

$15

per 30 days
units / 30 days
200 000
units / day
7,000
RPM
600

PRICES PRO

$19

per 30 days
units / 30 days
2 000 000
units / day
70,000
RPM
1200

VIEWER PRO

$19

per 30 days
units / 30 days
5 000
units / day
500
RPM
300

FLOAT PRO

$19

per 30 days
units / 30 days
1 000 000
units / day
50,000
RPM
1200

INVENTORY

$25

per 30 days
units / 30 days
450 000
units / day
15,000
RPM
800

HISTORY SCALE

$25

per 30 days
units / 30 days
12 000 000
units / day
450,000
RPM
1500

ASSETS PRO

$29

per 30 days
units / 30 days
1 000 000
units / day
50,000
RPM
1200

PLAYERS PRO

$29

per 30 days
units / 30 days
500 000
units / day
18,000
RPM
1200

PRO

$35

per 30 days
units / 30 days
700 000
units / day
24,000
RPM
500

PRICES SCALE

$39

per 30 days
units / 30 days
6 000 000
units / day
210,000
RPM
1500

VIEWER SCALE

$39

per 30 days
units / 30 days
12 500
units / day
1,250
RPM
600

FLOAT SCALE

$39

per 30 days
units / 30 days
3 000 000
units / day
120,000
RPM
1500

INVENTORY PRO

$49

per 30 days
units / 30 days
900 000
units / day
32,000
RPM
1500

ASSETS SCALE

$49

per 30 days
units / 30 days
5 000 000
units / day
200,000
RPM
1500

HISTORY BUSINESS

$49

per 30 days
units / 30 days
25 000 000
units / day
900,000
RPM
1500

PLAYERS SCALE

$59

per 30 days
units / 30 days
1 100 000
units / day
40,000
RPM
1500

PRICES BUSINESS

$59

per 30 days
units / 30 days
12 000 000
units / day
420,000
RPM
1500

MAX

$65

per 30 days
units / 30 days
2 000 000
units / day
80,000
RPM
1000

FLOAT BUSINESS

$69

per 30 days
units / 30 days
6 000 000
units / day
220,000
RPM
1500

PLAYERS BUSINESS

$89

per 30 days
units / 30 days
1 750 000
units / day
65,000
RPM
1500

HISTORY ENTERPRISE

$89

per 30 days
units / 30 days
50 000 000
units / day
1,800,000
RPM
1500

ASSETS BUSINESS

$89

per 30 days
units / 30 days
10 000 000
units / day
350,000
RPM
1500

INVENTORY SCALE

$99

per 30 days
units / 30 days
2 000 000
units / day
70,000
RPM
2000

PRICES ENTERPRISE

$99

per 30 days
units / 30 days
25 000 000
units / day
900,000
RPM
1500

FLOAT ENTERPRISE

$119

per 30 days
units / 30 days
12 000 000
units / day
450,000
RPM
1500

ULTRA

$139

per 30 days
units / 30 days
7 000 000
units / day
240,000
RPM
1500

INVENTORY BUSINESS

$149

per 30 days
units / 30 days
3 000 000
units / day
110,000
RPM
2500

ASSETS ENTERPRISE

$149

per 30 days
units / 30 days
20 000 000
units / day
700,000
RPM
1500

PRICES ENTERPRISE PLUS

$179

per 30 days
units / 30 days
50 000 000
units / day
1,800,000
RPM
1500

TITAN

$199

per 30 days
units / 30 days
9 000 000
units / day
350,000
RPM
2500

PLAYERS ENTERPRISE

$199

per 30 days
units / 30 days
4 000 000
units / day
150,000
RPM
1500

INVENTORY ENTERPRISE

$299

per 30 days
units / 30 days
6 000 000
units / day
220,000
RPM
3000

PLAYERS ENTERPRISE PLUS

$389

per 30 days
units / 30 days
8 000 000
units / day
300,000
RPM
1500

BUSINESS

$569

per 30 days
units / 30 days
12 000 000
units / day
450,000
RPM
3000

INVENTORY ENTERPRISE PLUS

$569

per 30 days
units / 30 days
12 000 000
units / day
450,000
RPM
3500

ENTERPRISE

$949

per 30 days
units / 30 days
20 000 000
units / day
750,000
RPM
3500

ENTERPRISE PLUS

$1399

per 30 days
units / 30 days
30 000 000
units / day
1,100,000
RPM
3500