🎯 Retrieve All Items with Prices - The Complete Steam Market API
Baseurl: https://www.steamwebapi.com/steam/api/items?key=YOUR_API_KEY&game=cs2
💬 What this endpoint does:
- Retrieves comprehensive item data for Steam games (CS2, Rust, Dota 2, TF2).
- Returns detailed pricing information from Steam Market and third-party markets.
- Provides metadata including rarity, wear, StatTrak status, and more.
- Supports advanced filtering, sorting, and pagination.
🛠️ Features:
- Multi-source pricing: Steam prices, real market prices, buy orders, and historical data.
- Advanced filters: Filter by price range, wear, item type, group, and more.
- Flexible sorting: Sort by price, popularity, win/loss ratio, or randomly.
- Field selection: Use select parameter to return only specific fields.
- Multiple formats: Export as JSON, CSV, XML, or database statements.
- Currency conversion: Convert prices to EUR, TRY, RUB, and more.
🌐 How to use:
- Basic call: GET /steam/api/items?key=YOUR_KEY&game=cs2
- Search items: GET /steam/api/items?key=YOUR_KEY&search=AK-47
- Filter by price: GET /steam/api/items?key=YOUR_KEY&price_min=10&price_max=100
- Filter by type: GET /steam/api/items?key=YOUR_KEY&item_group=knife&wear=fn
- Sort by popularity: GET /steam/api/items?key=YOUR_KEY&sort_by=soldZa
- Select fields: GET /steam/api/items?key=YOUR_KEY&select=markethashname,pricelatest,image
- Export as CSV: GET /steam/api/items?key=YOUR_KEY&format=csv
📊 Response fields explained:
- pricelatest: Current lowest Steam Market listing price.
- pricelatestsell: Price of the most recent Steam sale.
- pricereal: Current lowest third-party market price.
- pricemix: Lowest price across all sources (Steam + markets).
- buyorderprice: Highest Steam buy order price.
- sold24h/7d/30d/90d: Number of items sold in the respective time period.
- points: Market cap score (price × volume indicator).
- winloss: Price comparison Steam vs. real markets (positive = Steam cheaper).
- releasedat: Earliest known base-skin collection release date as a UTC object (date, timezone_type: 3, timezone: UTC), or null. Midnight is a presentation convention, not a known release time. Updated by a daily background command; not the first Steam listing or a variant-specific release date.
- CS2 only_new_items=1 or true: Missing items from all skin collections sharing the latest release date.
- CS2 with_preview_items=1: Normal items plus the same missing latest-release items. Preview rows use normal IDs, collection in tag7, and preview=true; optional description preserves source text. steamlisting is inferred from a Steam economy image, without a live listing check.
⚠️ Performance tips:
- Use max parameter to limit results (default: 50000).
- Apply filters to narrow down results.
- Use select to return only needed fields.
- Use production=1 in production to remove info fields.
Request
- Base URL: https://www.steamwebapi.com
- URL: https://www.steamwebapi.com/steam/api/items
- Auth: API key in query parameter key
Query parameters
Your API key for authentication. Required for all requests. Get your API key from Dashboard → Top-right corner → API Key section.
Game identifier. Each game has different item properties and markets.
Supported games:
- cs2 (default): Counter-Strike 2 - Full support including real market prices
- rust: Rust - Basic Steam market data
- dota: Dota 2 - Basic Steam market data
- tf2: Team Fortress 2 - Basic Steam market data
Page number for pagination. Use with max parameter.
- Page 1 returns items 1-50000 (with default max)
- Page 2 returns items 50001-100000, etc.
Maximum number of items per page. Lower values improve response time.
Recommendations:
- Use 100-1000 for web applications
- Use higher values for data exports
- Maximum: 50000 items per request
Alias for max, accepted for clients that use the more common name. Only applied when max is absent — an explicit max always wins, and sending neither keeps the 50000 default.
Sorting order for results.
⚠️ Performance Note: Sorting can significantly slow down responses for large result sets. Use filters (price_min, item_group, etc.) to reduce data before sorting, or use the default priceAz for best performance.
Price-based sorting:
- priceAz (default): Steam listing price ascending (cheapest first) - Fastest
- priceZa: Steam listing price descending (most expensive first)
- priceRealAz: Third-party market price ascending
- priceRealZa: Third-party market price descending
Win/Loss sorting (Steam vs. Market price comparison):
- winner: Best deals first (Steam cheaper than markets)
- loser: Worst deals first (Steam more expensive)
- winLossAz: Win/loss ascending
- winLossZa: Win/loss descending
- winnerRandom: Winners first, randomized within group
- loserRandom: Losers first, randomized within group
Volume-based sorting:
- soldAz: Least sold items first
- soldZa: Most sold items first (popular items)
- pointsAz: Lowest market cap first
- pointsZa: Highest market cap first
Other:
- name: Alphabetical by market hash name
- random: Random order (useful for discovery) - Slowest
Search items by name. Minimum 3 characters required.
Examples:
- search=AK-47 - Find all AK-47 skins
- search=Doppler - Find all Doppler items (knives, gloves)
- search=Redline - Find Redline skins across all weapons
Search is case-insensitive and matches partial names.
Minimum Steam Market listing price in USD.
- Items below this price will be excluded
- Use with price_max to define a price range
- Prices are in the base currency (USD) unless currency is specified
Maximum Steam Market listing price in USD.
- Items above this price will be excluded
- Steam Market maximum is ~$3000 (varies by region)
- Use with price_min to define a price range
Minimum third-party market price in USD.
- Filters by the lowest available price across all third-party markets
- Useful for finding arbitrage opportunities
Maximum third-party market price in USD.
- Filters by the lowest available price across all third-party markets
- High-value items may exceed Steam Market limits ($3000)
Filter by item category/group.
CS2 groups:
- knife - All knives (Karambit, Butterfly, etc.)
- gloves - All gloves
- pistol - Pistols (Glock, USP-S, Desert Eagle, etc.)
- rifle - Rifles (AK-47, M4A1-S, etc.)
- sniper rifle - Sniper rifles (AWP, SSG 08, etc.)
- smg - SMGs (MP9, MAC-10, etc.)
- shotgun - Shotguns
- machinegun - Machine guns (M249, Negev)
- case - Weapon cases
- capsule - Sticker capsules
- collection - Collections
Multiple groups: knife,gloves (comma-separated)
Filter by specific weapon type within a group.
Examples:
- ak-47 - Only AK-47 skins
- awp - Only AWP skins
- karambit - Only Karambit knives
- m4a1-s - Only M4A1-S skins
Use /steam/api/info/items?type=types to get all available types.
Filter by skin name (without weapon type).
Examples:
- redline - All Redline skins (AK-47, AWP, etc.)
- doppler - All Doppler items
- asiimov - All Asiimov skins
- fade - All Fade items
Use /steam/api/info/items?type=items to get all available names.
Filter by item condition/wear level.
Wear levels:
- fn - Factory New (0.00 - 0.07 float)
- mw - Minimal Wear (0.07 - 0.15 float)
- ft - Field-Tested (0.15 - 0.38 float)
- ww - Well-Worn (0.38 - 0.45 float)
- bs - Battle-Scarred (0.45 - 1.00 float)
Multiple wears: fn,mw (comma-separated)
Select specific fields to return. Dramatically reduces response size.
Example: select=markethashname,pricelatest,image
Popular field selections:
- Basic: markethashname,pricelatest,image
- Trading: markethashname,pricelatest,pricereal,winloss
- Full price: markethashname,pricelatest,pricereal,buyorderprice,sold24h
Field names must match exact response field names (lowercase).
Convert prices to specified currency.
Supported currencies:
- USD (default), EUR, GBP, TRY, RUB, CNY, JPY, BRL, PLN, CAD, AUD
Conversion rates are updated hourly from Steam.
Set to 1 when using in production environment.
Benefits:
- Removes info/hint fields from response
- Cleaner, smaller response payload
- Will be required in future API versions
Note: If not set, you may see deprecation warnings.
Output format for the response.
JSON formats:
- json (default): Standard JSON
- gzip: Gzip-compressed JSON
- zip: Zip-compressed JSON
- ndjson: Newline-delimited JSON (streaming)
Export formats:
- csv: Comma-separated values
- xml: XML format
- html: HTML table
Database formats:
- mysql: MySQL INSERT statements
- mysql_with_table: MySQL with CREATE TABLE
- pgsql: PostgreSQL INSERT statements
- pgsql_with_table: PostgreSQL with CREATE TABLE
- mongo: MongoDB insert documents
Pretty-print JSON output (indented, human-readable).
- 0 (default): Minified JSON (smaller size)
- 1: Formatted JSON (easier to read)
Only applies to json, gzip, and zip formats.
Filter third-party market prices to specific markets only.
Available markets:
- skinbaron - Skinbaron.de
- skinport - Skinport.com
- dmarket - DMarket.com
- buff - Buff163.com
- waxpeer - Waxpeer.com
- csgotm - CS.Money / CSGOTradeMoney
- haloskins - HaloSkins
- tradeit - Tradeit.gg
- skinbid - Skinbid.com
Example: markets=skinbaron,buff,skinport
When specified, pricereal will be the lowest price among selected markets only.
Append newly discovered items that are not yet fully indexed.
- 0 or false (default): Only return fully indexed items
- 1 or true: Append database-missing items from the latest skin-collection release wave at the end
Preview items have:
- preview: true flag
- Limited data (no prices, basic metadata only)
- Database availability snapshot cached for 6 hours
Useful for returning the complete current catalog while new collection items are not yet fully indexed. Historical database-missing items are not appended. The shared ByMykel catalog is refreshed by a five-minute background job. Preview IDs use the normal item ID algorithm; tag7 contains the collection name. steamlisting is inferred from a source Steam economy image, not checked live. Both preview options share the same fields and select behavior; preview always survives select.
Set to 1 or true for CS2 skins missing from the database in the latest skin-collection release wave. Every skin collection with the newest shared release date is included. Undated and future collections are excluded. Takes precedence over with_preview_items. Supports search, wear, item_type, item_group, item_name, collection_id, page, max and select. Uses the same preview fields as with_preview_items: normal item IDs, collection in tag7 and steamlisting inferred from source Steam economy images (not a live page check). preview=true survives select.
Narrow only_new_items=1 or true by an exact ByMykel collection ID within the latest release wave.
Response
Request was successful, and items are returned.
Changes
No recorded changes to this operation across all 1 revision of this API.