Team Fortress 2 developer API
TF2 API for backpacks and item prices
Read a public Team Fortress 2 backpack by SteamID64, then search or quote saved item prices without scanning that backpack again. AppID 440 uses inventory context 2. Grouped market prices are estimates for unusual items.
game=tf2Steam AppID 440 / context 2Updated
WOK APIcurl --fail-with-body -H "Authorization: Bearer $WOK_API_KEY" --get "https://woksteamapi.com/v1/inventory" --data-urlencode "steam_id=76561198090744629" --data-urlencode "game=tf2" --data-urlencode "top=0"Choose the endpoint for the data you need
One server-side WOK key authenticates every route below. An inventory request depends on Steam visibility; a saved catalog read does not depend on a player's profile.
| Task | WOK request | Response to check |
|---|---|---|
| Read public owned items | GET /v1/inventory?game=tf2 | status, items, items_total, unpriced and meta.cache_age. |
| Browse matching market names | GET /v1/items?game=tf2&q=... | Source-specific items[].prices[], market_hash_name and next_cursor. |
| Quote one exact item | GET /v1/price?game=tf2&name=... | Selected price, source, sources and updated_at. |
| Read observed daily history | GET /v1/price-history?game=tf2&name=... | Source and returned OHLC points; unobserved days are absent. |
| Revalue an active inventory snapshot | POST /v1/inventories with refresh_prices:true | Use local prices without another Steam scan; an expired snapshot returns a per-pair cache miss. |
The catalog covers named items WOK has observed; it does not promise a current quote for every item or a complete past series. Read the history coverage rules before using sparse data in a chart.
Run an inventory read, catalog search and item quote
Set WOK_API_KEY on your server. The sample SteamID and item name show valid request syntax; visibility and saved price coverage can change.
WOK APIcurl --fail-with-body -H "Authorization: Bearer $WOK_API_KEY" --get "https://woksteamapi.com/v1/inventory" --data-urlencode "steam_id=76561198090744629" --data-urlencode "game=tf2" --data-urlencode "top=0"WOK APIcurl --fail-with-body -H "Authorization: Bearer $WOK_API_KEY" --get "https://woksteamapi.com/v1/items" --data-urlencode "game=tf2" --data-urlencode "q=Mann Co. Supply Crate Key" --data-urlencode "limit=50"WOK APIcurl --fail-with-body -H "Authorization: Bearer $WOK_API_KEY" --get "https://woksteamapi.com/v1/price" --data-urlencode "game=tf2" --data-urlencode "name=Mann Co. Supply Crate Key"q is a substring search, so compare market_hash_name exactly and follow next_cursor. name in the quote route is exact and returns 404 if WOK has no saved quote. Both catalog endpoints read local observations; neither scans a player inventory or forces a live market fetch.
How to use a TF2 backpack estimate without hiding uncertainty
A public backpack read tells you which grouped items WOK observed. Saved price rows describe market names and sources, not every attribute of one unusual item.
Set top=0 for all grouped item rows. Show items_total, unpriced and total together so a partial quote cannot appear to be a complete backpack appraisal.
For each priced item, read pricesource and priceupdatedat. Auto mode prefers a valid backpack.tf observation when one exists; source coverage may differ for keys, crates, unusuals and other items.
Keep effects and instance attributes separate from the grouped market estimate. When a buyer needs a price for one exact item, use specialist appraisal or additional item metadata; do not present pricemedian as a guaranteed sale amount.
TF2 backpack response fieldsTry a public backpack manuallyMarket source meaningsRead a roster in batches
Read status and freshness before displaying a value
When available, auto valuation prefers an accepted backpack.tf observation, then other accepted saved sources. Check items[].pricesource and priceupdatedat; a missing backpack.tf quote can lead to another source or an unpriced item.
A native inventory may return HTTP 200 with status=private, notfound, limited or error. Do not display its total as a zero-value backpack. Authentication, quota and request validation have their own HTTP errors.
meta.cache_age describes the inventory snapshot. items[].priceupdatedat describes the selected saved price observation. These ages can differ because a cache hit can revalue the same item list locally.
The USD total includes only matched, counted items under WOK's value rules. Show unpriced and individual pricesource fields; market prices are estimates, not guaranteed sale proceeds.
TF2 inventory fields and status referenceSteam Market source guidePrice quote and batch referenceOpenAPI contractRequest quotas