Items

🎯 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.
get/steam/api/items

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'cs2' | 'rust' | 'dota' | 'tf2'

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
pageinteger

Page number for pagination. Use with max parameter.

  • Page 1 returns items 1-50000 (with default max)
  • Page 2 returns items 50001-100000, etc.
maxinteger

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
limitinteger

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.

sort_by'priceAz' | 'priceZa' | 'priceRealAz' | 'priceRealZa' | 'winner' | 'loser' | 'winnerRandom' | 'loserRandom' | 'winLossAz' | 'winLossZa' | 'soldAz' | 'soldZa' | 'name' | 'pointsAz' | 'pointsZa' | 'random'

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
searchstring

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.

price_minnumber

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
price_maxnumber

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
price_real_minnumber

Minimum third-party market price in USD.

  • Filters by the lowest available price across all third-party markets
  • Useful for finding arbitrage opportunities
price_real_maxnumber

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)
item_groupstring

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)

item_typestring

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.

item_namestring

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.

wear'fn' | 'mw' | 'ft' | 'ww' | 'bs'

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)

selectstring

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).

currencystring

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.

production'0' | '1'

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.

format'json' | 'gzip' | 'zip' | 'csv' | 'xml' | 'html' | 'ndjson' | 'mysql' | 'mysql_with_table' | 'pgsql' | 'pgsql_with_table' | 'mongo'

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'0' | '1'

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.

marketsstring

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.

with_preview_itemsboolean

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.

only_new_items'1' | 'true'

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.

collection_idstring

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.

unknown required

Changes

No recorded changes to this operation across all 1 revision of this API.