SteamWebAPI

Steam API Documentation

Steam API Documentation

Comprehensive REST API for Steam Market, Inventory & Game Data

SteamWebAPI provides a powerful REST API to access Steam Market prices, player inventories, CS2 skin float values, trade offers, and more. Get started with your free API key and integrate Steam data into your applications.

Account

2 endpoints

Account management

๐Ÿ“Š Retrieve Your Account and Usage Statistics

Baseurl: https://www.steamwebapi.com/account/me ๐Ÿ’ฌ **Retrieve details about your account and usage statistics.** - This endpoint provides comprehensive details about your account, including usage statistics and activity records. - **Usage Tracking:** The endpoint tracks your API usage and provides insights into your activity. - **Rate Limiting:** The request generates a usage record each time it is called. - **Real-time Data:** Get up-to-date information about your accountโ€™s API usage in different time periods (minute, hour, day, week, month). ๐Ÿ› ๏ธ **Important Details:** - **Usage Details**: Track your API usage over the last minute, hour, day, week, and month. - **Subscription Info**: Get information about your subscription status and duration. ๐ŸŒ **How to Use:** - Provide your **API key** in the request to retrieve the data. The API will respond with a breakdown of your usage, subscription status, and the latest status of the Steam Web API.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
GET /account/me

Example Request URL:

https://www.steamwebapi.com/account/me?key=YOUR_API_KEY

Responses

200 Successfully retrieved account and usage statistics.
400 Bad request or missing API key.
401 Unauthorized access due to invalid or missing API key.

๐Ÿ“ฆ Automate Steam Login Process

Baseurl: https://www.steamwebapi.com/steam/api/steamloginsecure ๐Ÿ’ฌ **What this endpoint does:** - Automates your Steam login process, including for trading, market, and other Steam Community features. - With the `steamLoginSecure` cookie, you can use our Trading API and build easy-to-use trading bots, market trackers, and more. ๐Ÿ› ๏ธ **How to use:** There are **two ways to authenticate**: 1. **Username + Password Login** - Send a POST request with your Steam `username` and `password` in the request body. - If your account is protected by Steam Guard, include the `code` parameter from your mobile authenticator. 2. **Refresh Token Login** - Instead of username/password, you can provide a `steamrefreshtoken` (JWT). - This token is returned after the initial login and allows you to request a fresh `steamLoginSecure` cookie without needing to re-enter credentials. ๐Ÿšจ **Important Note:** - Do **not** provide both login credentials and `steamrefreshtoken` at the same time. - One of the two options must be present, not both. ๐ŸŒ **Additional Info:** - The login process is handled securely. No password is stored server-side. - This endpoint is ideal for building: - Trading bots - Market analyzers - Automated session checkers ๐Ÿ“ฆ **Response:** - On success, you will receive the following cookies: - `steamLoginSecure` โ€“ required for authenticated Steam Community actions - `sessionid` โ€“ required for most web interactions - `browserid` โ€“ identifies the browser/session - `steamrefreshtoken` โ€“ reusable token to fetch new `steamLoginSecure` cookies later ๐Ÿ•’ **Token Lifespan** - The `steamrefreshtoken` is typically valid for **up to 6 months** - It can be used repeatedly to retrieve new `steamLoginSecure` cookies without logging in again.

Request Body

JSON payload containing the required parameters for Steam login. There are two ways to authenticate: - Via `username` + `password` (optionally if Guard is active you need MFA File then shared_secret as `code` - NOT GUARD CODE) - Or via `steamrefreshtoken` only โš ๏ธ You must provide either (username + password) or steamrefreshtoken โ€“ but not both.

POST /steam/api/steamloginsecure

Example Request URL:

https://www.steamwebapi.com/steam/api/steamloginsecure?key=YOUR_API_KEY

Responses

200 Successfully logged in to Steam. Cookies are returned.
411 Invalid username or password provided.
412 Failed to retrieve valid cookies from Steam.
413 SteamLoginSecure is invalid.
421 Invalid request body or missing required parameters.
429 Rate limit exceeded. Try again later.

Items

6 endpoints

Item prices, history, and market data

๐ŸŽฏ 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). โš ๏ธ **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.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Required for all requests. Get your API key from Dashboard โ†’ Top-right corner โ†’ API Key section.
game
query • string
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
query • integer
Page number for pagination. Use with `max` parameter. - Page 1 returns items 1-50000 (with default max) - Page 2 returns items 50001-100000, etc.
max
query • integer
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
Example: 100
sort_by
query • string
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
query • string
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_min
query • number
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_max
query • number
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_min
query • number
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_max
query • number
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_group
query • string
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_type
query • string
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_name
query • string
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
query • string
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
query • string
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).
currency
query • string
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
query • string
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
query • string
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
query • string
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.
markets
query • string
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 - `bitskins` - BitSkins.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_items
query • boolean
Append newly discovered items that are not yet fully indexed. - `0` or `false` (default): Only return fully indexed items - `1` or `true`: Append preview items at the end Preview items have: - `preview: true` flag - Limited data (no prices, basic metadata only) - 24-hour cache Useful for discovering new items before they appear in main listings.
GET /steam/api/items

Example Request URL:

https://www.steamwebapi.com/steam/api/items?key=YOUR_API_KEY&max=100

Responses

200 Request was successful, and items are returned.
400 Invalid request parameters
404 Game not found. Supported games: cs2, rust, dota, tf2.
429 Rate limit exceeded. Please wait before making more requests.
500 Internal server error

๐Ÿ“ฆ Retrieve Item Details with Pricing of all Markets and History

Baseurl: https://www.steamwebapi.com/steam/api/item?key=YOUR_API_KEY&market_hash_name=AK-47%20%7C%20Redline%20(Field-Tested) ๐Ÿ’ฌ **What this endpoint does:** - ๐Ÿ” Retrieve details of a specific item using its `market_hash_name`, `slug`, or `hashId`. - ๐Ÿ“Š Provides enriched details like: - Pricing information. - Tags and metadata. - A brief price history. - Retrive all variants of the item as groups if `with_groups` is set to `true`. For example, `AK-47 | Redline (Field-Tested)` will return all variants of the AK-47 | Redline. ๐Ÿš€ **Why use this endpoint?** - Focuses on a single item with detailed data for advanced use cases. - Optimized for scenarios where precision matters, like market analytics or item tracking. โš ๏ธ **Note:** This endpoint is similar to `/steam/api/items`, but it focuses on a single item with enriched details.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
market_hash_name Required
query • string
Required. The `market_hash_name` of the item. Example: `AK-47 | Redline (Field-Tested)`.
Example: AK-47 | Redline (Field-Tested)
currency
query • string
Optional. The desired currency for price conversion (e.g., EUR, TRY, RUB, USD). Default is USD. See the Currency API for available codes.
Example: EUR
with_groups
query • string
Optional. Set to `true` to retrieve all items variant of an item - stattrak, another wears, souvenirs (Its very good feature). Default is `false`.
Example:
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.
markets
query • string
Filter prices to specific markets only (comma-separated). The `pricereal` will be calculated as the lowest price among the specified markets. Example: `skinbaron,skinport,dmarket`. Available markets: skinbaron, skinport, dmarket, buff, waxpeer, bitskins, csgotm, haloskins, tradeit, skinbid. Default: all markets.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/item

Example Request URL:

https://www.steamwebapi.com/steam/api/item?key=YOUR_API_KEY&market_hash_name=AK-47 | Redline (Field-Tested)&currency=EUR&with_groups=

Responses

200 Request was successful, and item details are returned.
400 Missing `market_hash_name` parameter.
404 Item not found. Ensure the `market_hash_name` is correct.
429 Rate limit exceeded.

๐Ÿ“ˆ Price History of an Item with Daily Prices from Steam or Real Market Data

Baseurl: https://www.steamwebapi.com/steam/api/history?key=YOUR_API_KEY&market_hash_name=ITEM_NAME ๐Ÿ’ฌ **What this endpoint does:** - Retrieves the price history of an item based on specified parameters. - ๐Ÿ—“๏ธ Provides daily prices from Steam or real market prices if `markets` is passed as origin parameter. ๐Ÿ› ๏ธ **Parameters:** - **`key`**: Your API key located in the Dashboard (top-right corner). - **`market_hash_name`**: The `market_hash_name` of the item (required). - **`origin`**: Specify the data source. Default is `steamwebapi`. Use `markets` for real market price history or `direct` for direct Steam API access. - **`interval`**: Interval for data retrieval in days. Default: `10`. - **`start_date`**: Start date for data retrieval (format: YYYY-MM-DD). - **`end_date`**: End date for data retrieval (format: YYYY-MM-DD). โšก **Important:** - Use the `interval` parameter for optimized data queries. - Specifying `markets` in `origin` results in slower responses but provides detailed real market data. - Using `direct` origin provides direct access to Steam API data.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
market_hash_name Required
query • string
The `market_hash_name` of the item. Example: "AK-47 | Redline (Field-Tested)".
origin
query • string
Specify the data source. Options: `steamwebapi` (default), `markets` for real market price history, or `direct` for direct Steam API access.
Example: steamwebapi
interval
query • string
Specify the interval for data retrieval in days. Default is `10`.
Example: 10
start_date
query • string
Specify the start date for data retrieval. Format: `YYYY-MM-DD`.
Example: 2024-01-01
end_date
query • string
Specify the end date for data retrieval. Format: `YYYY-MM-DD`.
Example: 2024-12-31
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/history

Example Request URL:

https://www.steamwebapi.com/steam/api/history?key=YOUR_API_KEY&origin=steamwebapi&interval=10&start_date=2024-01-01&end_date=2024-12-31

Responses

200 Request was successful, and price history is returned.
400 Invalid start or end date provided.

๐Ÿ“ˆ Get Daily Aggregated Price History for multiple Items

Baseurl: https://www.steamwebapi.com/steam/api/items/history?source=steam&game=cs2&key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Aggregates historical price data for any items over time. - Returns daily aggregated data showing total worth and item count. - Supports two price sources: Steam (this will take, daily sold price) or Markets (this will take, lowest real market offer). - Each request costs 1 credit regardless of the number of items. ๐ŸŒ **How to use:** - Send a JSON payload with an array of item market hash names in the `items` field. - Optionally specify `source` (steam/markets) and `game` (cs2, csgo, dota, rust) via query parameters or request body. - The endpoint will return daily aggregated worth based on the latest price per day for each item. - Duplicate items in the array are counted separately (e.g., 2x "AK-47 | Redline" = 2x price). ๐Ÿ“Š **Use Cases:** - **Inventory Tracking:** Track your Steam inventory value over time by sending all your item names - **Portfolio Analysis:** Monitor the performance of specific item collections or investment portfolios - **Watchlist Monitoring:** Track price trends for items you're interested in buying or selling - **Market Research:** Compare historical performance between different item categories or rarities - **Trading Strategies:** Analyze price movements for items in your trading pool

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
source
query • string
Optional. Price source: - `steam` (default): Uses Steam Community Market last sale price - `markets`: Uses lowest price from real market offers (e.g., third-party markets)
Example: steam
game
query • string
Optional. Game shortname. Default: cs2. Available: cs2, csgo, dota, rust
Example: cs2
from_date
query • string
Optional. Start date for filtering history (Y-m-d format, e.g., 2025-01-01). If not provided, returns all available history from the beginning.
Example: 2025-01-01
to_date
query • string
Optional. End date for filtering history (Y-m-d format, e.g., 2025-01-31). If not provided, returns up to the current date.
Example: 2025-01-31
strategy
query • string
Optional. Price aggregation strategy: - `PAST_PRICE`: Uses the last known price before or on the given date - `PAST_FUTURE_PRICE`: Uses the last known price before the given date, or the first known price after the given date if none exists before - `SAME_DATE`: Uses the price on the given date, or the nearest available price (previous or next day) - `STRICT`: Uses the price only if it exists on the exact date, otherwise returns no data for that day - `NEAREST`: Uses the nearest available price (previous or next) to the given date
Example: PAST_PRICE
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1

Request Body

POST /steam/api/items/history

Example Request URL:

https://www.steamwebapi.com/steam/api/items/history?key=YOUR_API_KEY&source=steam&game=cs2&from_date=2025-01-01&to_date=2025-01-31&strategy=PAST_PRICE

Responses

200 Daily aggregated history returned successfully.
400 Invalid input: items must be a non-empty array or invalid source.
404 Game not found.

๐Ÿ” Preview CS2 Items - Lightweight Metadata (No Prices)

Baseurl: https://www.steamwebapi.com/steam/api/items/preview?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Returns a lightweight preview of CS2 items without pricing data. - Intended for fast access to item metadata and newly available items. - For full item details including pricing, prefer using `/steam/api/items`. ๐Ÿ› ๏ธ **Features:** - Search items by name using `search` parameter (case-insensitive). - Filter by `paint_index` or `def_index` for specific weapons/skins. - Group results using `groupBy` to get unique values (e.g., all item types). - Remove duplicates with `grouped=true` (default). - Filter only items with phases using `only_phases=true`. - Supports multiple output formats via `format` parameter. ๐ŸŒ **How to use:** - Basic call: `GET /steam/api/items/preview?key=YOUR_KEY` - Search: `GET /steam/api/items/preview?search=AK-47&key=YOUR_KEY` - Filter by weapon: `GET /steam/api/items/preview?def_index=7&key=YOUR_KEY` - Get all item types: `GET /steam/api/items/preview?groupBy=itemtype&key=YOUR_KEY` - Export as CSV: `GET /steam/api/items/preview?format=csv&key=YOUR_KEY`

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
search
query • string
Optional. Search for items by name (case-insensitive). Matches partial names. - Example: `search=AK-47` returns all AK-47 skins. - Example: `search=Redline` returns all Redline skins across weapons.
Example: AK-47
paint_index
query • integer
Optional. Filter by paint index (skin pattern ID). - Each skin has a unique paint_index. - Example: `282` = Redline, `418` = Doppler Phase 1.
Example: 282
def_index
query • integer
Optional. Filter by definition index (weapon ID). - Each weapon type has a unique def_index. - Common values: `7` = AK-47, `9` = AWP, `4` = Glock-18, `61` = USP-S.
Example: 7
grouped
query • boolean
Optional. Remove duplicate item names (default: true). - `true`: Returns one entry per item name with `variants` array for phases. - `false`: Returns all variants as separate entries.
Example: 1
groupBy
query • string
Optional. Group results by a field and return unique values only. - Response becomes a flat array of strings/numbers. - Example: `?groupBy=itemtype` returns `["ak-47", "awp", "m4a1-s", ...]` - Example: `?groupBy=rarity` returns `["Covert", "Classified", "Restricted", ...]`
Example: itemtype
format
query • string
Optional. Output format for the response. - `json` (default): Standard JSON response. - `csv`, `xml`, `html`: Export formats for data analysis. - `gzip`, `zip`: Compressed JSON for large datasets. - `mysql`, `pgsql`, `mongo`: Database insert statements.
Example: json
pretty
query • string
Optional. Pretty-print JSON output (indented, human-readable). - `0` (default): Minified JSON. - `1`: Indented, formatted JSON.
Example: 0
only_phases
query • boolean
Optional. Only return items that have phases. - Useful for filtering Doppler, Gamma Doppler, Marble Fade knives. - Returns items with Phase 1, Phase 2, Phase 3, Phase 4, Ruby, Sapphire, etc.
Example:
GET /steam/api/items/preview

Example Request URL:

https://www.steamwebapi.com/steam/api/items/preview?key=YOUR_API_KEY&search=AK-47&paint_index=282&def_index=7&grouped=1&groupBy=itemtype&format=json&pretty=0&only_phases=

Responses

200 CS2 items matching the filters. Returns item metadata without pricing. When `grouped=true` (default), items with multiple phases include a `variants` array.
400 Invalid request parameters.
500 Internal server error or upstream API unavailable.

๐Ÿ“ฆ Retrieve Realtime Order Activity for a Steam Item

Baseurl: https://www.steamwebapi.com/steam/api/itemordersactivity?key=YOUR_API_KEY&nameid=UNIQUE_NAMEID ๐Ÿ’ฌ **What this endpoint does:** - Retrieves order activity details for a specified Steam item. - Includes information such as: - ๐ŸŒ Regional data based on country code. - ๐Ÿ—ฃ๏ธ Language-specific details. - ๐Ÿ’ฒ Price information in the specified currency. ๐Ÿ› ๏ธ **How to use:** - Provide the `market_hash_name` parameter to specify the item. - Optionally, customize the `country`, `language`, and `currency` parameters for tailored results.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
market_hash_name Required
query • string
Required. The `market_hash_name` of the item. Example: `AK-47 | Redline (Field-Tested)`.
Example: AK-47 | Redline (Field-Tested)
country
query • string
Country code for regional data. Optional. Default is `EN`.
Example: US
language
query • string
Language code for localization. Optional. Default is `english`.
Example: english
currency
query • string
Currency code for prices. Optional. Default is `1` (USD).
Example: 1
production
query • string
If you run in production, please set this to 1. Default is 0. This will be required in the future, and if not set, you will get a warning.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/itemordersactivity

Example Request URL:

https://www.steamwebapi.com/steam/api/itemordersactivity?key=YOUR_API_KEY&market_hash_name=AK-47 | Redline (Field-Tested)&country=US&language=english&currency=1

Responses

200 Request was successful
400 Invalid parameters provided.
404 Item not found.
502 Failed to fetch data from Steam API.

Info

9 endpoints

General information endpoints

๐Ÿ“‹ Get Item Metadata - Groups, Types, and Names

Baseurl: https://www.steamwebapi.com/steam/api/info/items?key=YOUR_API_KEY&game=cs2 ๐Ÿ’ฌ **What this endpoint does:** - Retrieves structured item metadata for a specific game. - Returns all available item groups, types, and names. - Provides hierarchical data for building item selectors and filters. ๐Ÿ› ๏ธ **Features:** - **Structured mode** (default): Hierarchical group โ†’ type โ†’ name structure. - **Groups mode**: List of all item categories (knife, rifle, pistol, etc.). - **Types mode**: List of all weapon types (ak-47, awp, karambit, etc.). - **Items mode**: List of all skin names (doppler, fade, asiimov, etc.). - 24-hour caching for optimal performance. ๐ŸŒ **How to use:** - Get structured data: `GET /steam/api/info/items?key=YOUR_KEY` - Get all groups: `GET /steam/api/info/items?key=YOUR_KEY&type=groups` - Get all types: `GET /steam/api/info/items?key=YOUR_KEY&type=types` - Get all names: `GET /steam/api/info/items?key=YOUR_KEY&type=items` - Force refresh: `GET /steam/api/info/items?key=YOUR_KEY&no_cache=1` ๐Ÿ“Š **Use Cases:** - Build dynamic item filters for your application. - Create autocomplete search functionality. - Generate item category navigation menus.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Required for all requests.
game
query • string
Game identifier. **Supported games:** - `cs2` (default): Counter-Strike 2 - `rust`: Rust - `dota`: Dota 2 - `tf2`: Team Fortress 2
Example: cs2
type
query • string
Type of data to return. **Options:** - `structed` (default): Hierarchical structure (group โ†’ type โ†’ items) - `groups`: Flat list of item groups (knife, rifle, etc.) - `types`: Flat list of weapon types (ak-47, awp, etc.) - `items`: Flat list of skin names (doppler, fade, etc.)
Example: structed
no_cache
query • string
Bypass 24-hour cache and fetch fresh data. - Omit or `0`: Use cached data (recommended) - `1`: Force fresh data fetch **Note:** Fresh fetch is slower, use only when necessary.
Example: 0
format
query • string
Output format. See /steam/api/items for all format options.
pretty
query • string
Pretty-print JSON output.
GET /steam/api/info/items

Example Request URL:

https://www.steamwebapi.com/steam/api/info/items?key=YOUR_API_KEY&game=cs2&type=structed&no_cache=0

Responses

200 Item metadata returned successfully. Structure depends on `type` parameter.
404 Game not found.
429 Rate limit exceeded. Please wait before making more requests.

๐Ÿ”„ Convert a SteamID into Multiple Formats

Baseurl: https://www.steamwebapi.com/steam/api/info/steamid?key=YOUR_API_KEY&steam_id=STEAM_ID ๐Ÿ’ฌ **What this endpoint does:** - Converts a SteamID into different formats: - SteamID2. - SteamID3. - SteamID64. - Returns the result as JSON. ๐Ÿ› ๏ธ **Features:** - Supports all major SteamID formats for conversion. - Simple and efficient conversion for fast integration. ๐ŸŒ **How to use:** - Provide a valid `steam_id` in any format (`SteamID2`, `SteamID3`, or `SteamID64`). - Use your API key to authenticate the request.

Parameters

Parameter Description
steam_id Required
query • string
The SteamID to convert. Accepted formats: - `SteamID2`: e.g., `STEAM_0:0:553498XXX`. - `SteamID3`: e.g., `[U:1:1106997XXX]`. - `SteamID64`: e.g., `76561199067263XXX`.
key
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
GET /steam/api/info/steamid

Example Request URL:

https://www.steamwebapi.com/steam/api/info/steamid?key=YOUR_API_KEY

Responses

200 Request was successful, and the converted SteamID formats are returned.
400 Missing or invalid `steam_id` parameter.
404 The provided `steam_id` is invalid.

๐ŸŽฏ Retrieve All CS2/CS:GO Containers and Collections

Baseurl: https://www.steamwebapi.com/steam/api/cs/containers ๐Ÿ’ฌ **What this endpoint does:** - Retrieves all containers and their collections from CS2/CS:GO. - Provides a comprehensive list of cases, stickers, and other containers. ๐Ÿ› ๏ธ **Features:** - Supports filtering by container type (`all`, `sticker`, `case`, `package). - Enables searching for specific cases using the `search` parameter. - Results can be sorted by name, price, or release date. ๐ŸŒ **How to use:** - Use the `type` parameter to specify the group of containers to fetch. - Optionally, apply the `search` and `sortBy` parameters to refine your results.

Parameters

Parameter Description
type Required
query • string
Show only this group of containers. Accepted values: `all`, `sticker`, `case`.
key
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
search
query • string
Search for a specific case or container by name.
sortBy
query • string
Sort the result by a specific criterion. Options: - `nameAz`: Name ascending. - `nameZa`: Name descending. - `priceSteamAz`: Steam price ascending. - `priceSteamZa`: Steam price descending. - `priceRealAz`: Real market price ascending. - `priceRealZa`: Real market price descending. - `releasedatAz`: Release date ascending. - `releasedatZa`: Release date descending.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/cs/containers

Example Request URL:

https://www.steamwebapi.com/steam/api/cs/containers?key=YOUR_API_KEY

Responses

200 Request was successful, and all containers are returned.
400 Missing or invalid parameters.

๐ŸŽฏ Retrieve a CS2/CS:GO Collection or Case

Baseurl: https://www.steamwebapi.com/steam/api/cs/collection/{slug} ๐Ÿ’ฌ **What this endpoint does:** - Retrieves a list of all collections and their items (skins) from CS2/CS:GO. - Provides detailed information about a specific collection or case. ๐Ÿ› ๏ธ **Features:** - Fetches all items (skins) belonging to a specific collection or case. - Supports both CS2 and CS:GO collections. ๐ŸŒ **How to use:** - Replace `{slug}` with the collection's unique identifier to fetch the desired data.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
slug Required
path • string
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/cs/collection/{slug}

Example Request URL:

https://www.steamwebapi.com/steam/api/cs/collection/{slug}?key=YOUR_API_KEY

Responses

200 Request was successful, and the collection data is returned.
404 The specified collection or case was not found.

๐ŸŽฏ Retrieve all cs2 collections with items

Base URL: https://www.steamwebapi.com/steam/api/cs/collections ๐Ÿ’ฌ **What this endpoint does:** - Retrieves a list of all CS2 and CS:GO collections. - Each collection includes detailed information about its items (skins) and containers (cases/capsules). ๐Ÿ› ๏ธ **Features:** - Fetches all collections along with the associated skins. - Removes duplicate items within a collection based on `groupid`. - Includes container information (e.g., cases, souvenir packages). - Supports both CS2 and CS:GO collections. ๐ŸŒ **How to use:** - No body or path parameters needed. - Simply call the endpoint with your `key` as a query parameter. **Request URL Example:** `https://www.steamwebapi.com/steam/api/cs/collections?key=YOUR_API_KEY`

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
select
query • string
Select specific fields to return. Reduces response size and time. Example: "name,logo". Optional.
limit
query • string
Limit the number of results returned. Default is 10000.
offset
query • string
Offset for pagination. Default is 0.
no_cache
query • string
Set to 1 to bypass cache and fetch fresh data. Default is 0.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/cs/collections

Example Request URL:

https://www.steamwebapi.com/steam/api/cs/collections?key=YOUR_API_KEY

Responses

200 Request was successful, and all collections are returned.
400 Missing or invalid parameters.

๐Ÿ“ˆ Get Supported Market Information

Baseurl: https://www.steamwebapi.com/steam/api/info/markets ๐Ÿ’ฌ **What this endpoint does:** - Retrieves a list of all supported markets. - Provides information including: - ๐Ÿ–ผ๏ธ Market logos. - ๐Ÿ“› Market names. - ๐Ÿ“Š Relevant market data. ๐Ÿ› ๏ธ **Features:** - Comprehensive data on supported markets for integration and analysis. - Up-to-date market details with structured responses. ๐ŸŒ **How to use:** - Use your API key to authenticate the request and access the data.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
GET /steam/api/info/markets

Example Request URL:

https://www.steamwebapi.com/steam/api/info/markets?key=YOUR_API_KEY

Responses

200 Request was successful, and market information is returned.
429 Rate limit exceeded. Too many requests in a short time frame.

๐Ÿ” Auto-Complete Game Items - e.g for using on Input fields (for free)

Baseurl: https://www.steamwebapi.com/steam/api/complete/items?search=SEARCH_TERM&game=cs2 ๐Ÿ’ฌ **What this endpoint does:** - Provides real-time auto-completion for game items with search suggestions based on the input. - Retrieves a list of items matching the search term, making it ideal for input auto-completes. - Returns the **name and image URL** of each item to enhance the user experience. ๐Ÿ› ๏ธ **Features:** - ๐Ÿ” Instantly retrieve search suggestions for game items with a minimum of 3 characters in the search term. - ๐ŸŽฎ Supports filtering by game for more relevant results. - ๐Ÿ–ผ๏ธ Includes item **image URL** for a visual preview. - ๐Ÿ”‘ No API key required for now, but in production, it is recommended to include your key for future compatibility. - ๐Ÿ’ฐ This endpoint is currently free, but in the future, it will cost **1 request credit per 100 queries**, making it extremely affordable. โš ๏ธ **Note:** Future updates might require authentication, so ensure you are prepared for upcoming changes (just add your key).

Parameters

Parameter Description
search Required
query • string
The search term for auto-completion. Must be at least 3 characters long.
key
query • string
Your API key for authentication (optional but recommended for production use).
game
query • string
Optional. Short name of the game (e.g., "cs2", "dota2", "rust"). Default is "cs2".
GET /steam/api/complete/items

Example Request URL:

https://www.steamwebapi.com/steam/api/complete/items?key=YOUR_API_KEY

Responses

200 Successfully retrieved auto-complete suggestions.

๐Ÿ’ฑ List All Available Currencies for Conversion

Baseurl: https://www.steamwebapi.com/currency/api/list?key=YOUR_API_KEY&base=USD ๐Ÿ’ฌ **What this endpoint does:** - Retrieves a list of all available currencies for conversion. - The default base currency is USD (United States Dollar). - The data source is Steam by default but can be customized. ๐Ÿ› ๏ธ **Features:** - Supports specifying a custom base currency using the `base` parameter. - Allows changing the data source via the `source` parameter. ๐ŸŒ **How to use:** - Use the `base` parameter to specify the currency code for conversion (e.g., `EUR`, `TRY`). - Optionally, set the `source` parameter to customize the data source.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
base
query • string
The base currency code for conversion. If not specified, `USD` is used as the default.
Example: EUR
source
query • string
Specifies the source of the currency data. Default is `Steam`.
Example: Steam
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /currency/api/list

Example Request URL:

https://www.steamwebapi.com/currency/api/list?key=YOUR_API_KEY&base=EUR&source=Steam

Responses

200 Request was successful, and the list of currencies is returned.
400 Invalid or missing parameters.
429 Rate limit exceeded.

๐Ÿ’ฑ Retrieve Currency Exchange Rates

Baseurl: https://www.steamwebapi.com/currency/api/exchange?key=YOUR_API_KEY&change=EUR&base=USD ๐Ÿ’ฌ **What this endpoint does:** - Provides the exchange rate for a specified currency. - Allows you to specify: - The currency to convert to using the `change` parameter. - The base currency using the `base` parameter (default: USD). ๐Ÿ› ๏ธ **Features:** - Fetches accurate exchange rates. - Supports all major currency codes based on the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) standard. ๐ŸŒ **How to use:** - Use the `change` parameter to specify the target currency (e.g., `EUR`, `TRY`, `RUB`). - Optionally, use the `base` parameter to specify the base currency. If omitted, the default is `USD`. ๐Ÿ“‹ **Example:** - `change=EUR&base=USD`: Convert USD to EUR.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
change Required
query • string
The target currency code to exchange to. Supported values follow the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) standard (e.g., `EUR`, `TRY`, `RUB`).
base
query • string
The base currency for the exchange. Default is `USD`. Supported values follow the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) standard.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /currency/api/exchange

Example Request URL:

https://www.steamwebapi.com/currency/api/exchange?key=YOUR_API_KEY

Responses

200 Request was successful, and the exchange rate is returned.
400 Invalid or missing parameters.
429 Rate limit exceeded.

Float

3 endpoints

CS2 skin float values

Retrieve CS assets with filters and pagination

Baseurl: https://www.steamwebapi.com/steam/api/float/assets?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Returns over million CS assets (inventory- and market-related items) with flexible filter options. - Supports powerful pagination for large result sets. ๐Ÿ› ๏ธ **Features:** - Filter by owner (SteamID64), weapon (def_index), skin (paint_index), float range, StatTrak, Souvenir, rarity, quality, origin and paint_seed. - Filter by exact market hash name (market_hash_name). - Filter only assets that belong to Steam profiles or only to market listings. - Filter assets that have stickers and/or keychains. - Paginated responses via limit and offset. ๐ŸŒ **How to use:** - All query parameters use snake_case naming. - Combine multiple filter parameters as needed (for example steam_id + def_index + min_float/max_float). - Use offset for pagination (for example offset=50 for page 2 with limit=50). - By default the endpoint returns a limited number of assets per request (configurable via the limit parameter).

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
steam_id
query • string
Filter by SteamID64 of the owner, for example 76561198042843401.
market_hash_name
query • string
Filter by exact market hash name, for example "AK-47 | Uncharted (Factory New)".
def_index
query • integer
Filter by weapon definition index, for example 7 for AK-47.
paint_index
query • integer
Filter by paint index / skin ID, for example 836 for "AK-47 | Uncharted".
min_float
query • number
Minimum float value (wear) inclusive, for example 0.00 for Factory New range start.
max_float
query • number
Maximum float value (wear) inclusive, for example 0.07 for Factory New range end.
is_stattrak
query • integer
Filter by StatTrak status (1 = StatTrak, 0 = non-StatTrak).
is_souvenir
query • integer
Filter by Souvenir status (1 = Souvenir, 0 = non-Souvenir).
rarity
query • integer
Filter by rarity tier. Typical values are in the range 1-6 (for example 6 = Covert).
quality
query • integer
Filter by item quality, for example 4 = normal, 9 = rarity-specific.
origin
query • string
Filter by origin such as drop, market-purchase or case-reward.
paint_seed
query • integer
Filter by exact paint seed / pattern number, for example 915.
date
query • string
Filter by calendar date when the asset was created. Accepts ISO dates (YYYY-MM-DD) or local format such as 31.12.2025.
sort
query • string
Sort order. Supported values: newest, oldest, lowest_float, highest_float. Default is newest.
limit
query • integer
Number of results to return. Default is 10, upper limit depends on your plan.
offset
query • integer
Offset for pagination, for example 50 for page 2 when limit=50.
only_steam_id
query • integer
If set to 1, only assets with a SteamID64 owner are returned.
only_market_id
query • integer
If set to 1, only assets without a SteamID64 owner (market listings) are returned.
with_stickers
query • integer
If set to 1, only assets that have at least one sticker are returned.
with_keychains
query • integer
If set to 1, only assets that have at least one keychain are returned.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo.
GET /steam/api/float/assets

Example Request URL:

https://www.steamwebapi.com/steam/api/float/assets?key=YOUR_API_KEY

Responses

200 Request was successful and the assets are returned.
402 Rate limit exceeded (daily or monthly).

๐Ÿ” Retrieve Float Information for an Item

Baseurl: https://www.steamwebapi.com/steam/api/float?key=YOUR_API_KEY&url=INSPECT_LINK ๐Ÿ’ฌ **What this endpoint does:** - Retrieves float information for a specific item in CS:GO or CS2. - Requires the `url` parameter with a valid inspect link to retrieve the float data. ๐Ÿ› ๏ธ **Features:** - Provides detailed float information for an item. - Supports real-time float retrieval using the item's inspect link. ๐ŸŒ **How to use:** - Use the `url` parameter to provide the inspect link of the item. - Authenticate with your API key to retrieve the float data.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
url Required
query • string
The inspect link of the item, e.g., `steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561198042843401A35245796926D16321188872112797006`. You can retrieve it from our Inventory API for example.
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/float

Example Request URL:

https://www.steamwebapi.com/steam/api/float?key=YOUR_API_KEY

Responses

200 Request was successful, and the float data for the item is returned.
402 Rate limit exceeded (daily or monthly).
406 Invalid parameters or inspect link provided.
416 Service overloaded or not unable to retrive float information. Please try again later.
417 Unable to retrieve float information for the item.

๐Ÿ–ผ๏ธ Generate Screenshot with Float Information

Generate a screenshot image with detailed float information for a specific item in CS:GO or CS2. The float data is retrieved using the provided inspect link, and the response streams the generated image directly to the client.

Parameters

Parameter Description
key Required
query • string
API key for authentication. Retrieve it from your Dashboard.
url Required
query • string
The inspect link of the item. Example: `steam://rungame/730/...`.
as_base64
query • string
Set to 1 to return the image as a base64 string. Default is 0, base64 is sometimes helpful for easier integration.
color
query • string
Color scheme for the screenshot. Options: black, blue, green, orange, purple, red, white, yellow, gray. Default: green.
background_url
query • string
Custom background image URL (PNG format). Overrides default background.
logo_url
query • string
Custom logo image URL (PNG format). Overrides default logo.
logo_offset_start
query • string
Logo start position. Options: top left, top right, bottom left, bottom right. Default: top left.
logo_offset_x
query • string
Horizontal offset for the logo. Default: 80.
logo_offset_y
query • string
Vertical offset for the logo. Default: 80.
logo_opacity
query • string
Opacity of the logo (0 to 1). Default: 1.0.
logo_width
query • string
Width of the logo in pixels (Max: 500). Default: 400.
format
query • string
Send a format - screen (default) for show, download for download the image, base64 for base64 image.
GET /steam/api/float/screenshot

Example Request URL:

https://www.steamwebapi.com/steam/api/float/screenshot?key=YOUR_API_KEY

Responses

200 The image has been successfully generated and streamed to the client.
402 Rate limit exceeded. Too many requests have been made within the allowed period.
404 The requested item could not be found. Verify the inspect link or database.
406 Invalid parameters or inspect link provided. Ensure the inspect link is correct.
416 Service is overloaded or unable to retrieve float information. Try again later.
417 Unable to retrieve float information for the item. Verify the inspect link.
424 The image stream failed due to an internal issue. Contact support if the problem persists.

Explore

4 endpoints

Market exploration and search

๐ŸŽฒ Get Random Steam Profiles

Baseurl: https://www.steamwebapi.com/explore/api/random?key=YOUR_API_KEY&limit=5 ๐Ÿ’ฌ **What this endpoint does:** - Fetches random Steam profiles from the database. - By default, 5 profiles are returned per page. ๐Ÿ› ๏ธ **Features:** - Adjustable profile count with the `limit` parameter (max 100 per page). - Pagination support with the `page` parameter (1โ€“10). - Filter by profile type (e.g., `pro`, `streamer`, `vip`). - Returns inventory worth, profile metadata, avatar URLs and more. ๐ŸŒ **How to use:** - Use your API key for authentication. - Optionally, set `limit` (max 100) and `page` (1โ€“10) for paginated results. - Optionally, filter by `type` (e.g., `type=pro`). ๐Ÿ“ฆ **Response fields:** steamid, accountname, personaname, displayname, profiletype, realname, loccountrycode, description, fame, vac, islimited, level, worth, worthsteam, size, peritem, timecreated, updatedat, avatar, avatarmedium, avatarfull

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
limit
query • integer
Number of profiles per page. Default: 5. Maximum: 100.
Example: 5
page
query • integer
Page number for pagination (1โ€“10). Default: 1.
Example: 1
type
query • string
Filter by profile type.
production
query • string
Set to 1 if you run in production. Default: 0.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON output (set to 1). Only applies to json, gzip and zip formats.
GET /explore/api/random

Example Request URL:

https://www.steamwebapi.com/explore/api/random?key=YOUR_API_KEY&limit=5&page=1

Responses

200 Array of random profile objects.
400 Invalid or missing parameters.
429 Rate limit exceeded.

๐Ÿ“œ Retrieve the Latest Steam Profiles

Baseurl: https://www.steamwebapi.com/explore/api/last?key=YOUR_API_KEY&limit=5 ๐Ÿ’ฌ **What this endpoint does:** - Fetches the most recently updated Steam profiles, ordered by last update time. - By default, 5 profiles are returned per page. ๐Ÿ› ๏ธ **Features:** - Adjustable profile count with the `limit` parameter (max 100 per page). - Pagination support with the `page` parameter (1โ€“10). - Filter by profile type (e.g., `pro`, `streamer`, `vip`). - Returns inventory worth, profile metadata, avatar URLs and more. ๐ŸŒ **How to use:** - Use your API key for authentication. - Optionally, set `limit` (max 100) and `page` (1โ€“10) for paginated results. - Optionally, filter by `type` (e.g., `type=pro`). ๐Ÿ“ฆ **Response fields:** steamid, accountname, personaname, displayname, profiletype, realname, loccountrycode, description, fame, vac, islimited, level, worth, worthsteam, size, peritem, timecreated, updatedat, avatar, avatarmedium, avatarfull

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
limit
query • integer
Number of profiles per page. Default: 5. Maximum: 100.
Example: 5
page
query • integer
Page number for pagination (1โ€“10). Default: 1.
Example: 1
type
query • string
Filter by profile type.
production
query • string
Set to 1 if you run in production. Default: 0.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON output (set to 1). Only applies to json, gzip and zip formats.
GET /explore/api/last

Example Request URL:

https://www.steamwebapi.com/explore/api/last?key=YOUR_API_KEY&limit=5&page=1

Responses

200 Array of the most recently updated profile objects.
400 Invalid or missing parameters.
429 Rate limit exceeded.

๐Ÿ† Get Top Profiles by Inventory Value

Baseurl: https://www.steamwebapi.com/explore/api/toplist?key=YOUR_API_KEY&limit=10 ๐Ÿ’ฌ **What this endpoint does:** - Retrieves the top Steam profiles ranked by highest inventory worth. - By default, 10 profiles are returned per page. ๐Ÿ› ๏ธ **Features:** - Adjustable profile count with the `limit` parameter (max 100 per page). - Pagination support with the `page` parameter (1โ€“10). - Filter by minimum inventory worth with the `worth` parameter. - Filter by profile type (e.g., `pro`, `streamer`, `vip`). - Results are sorted by inventory worth descending. ๐ŸŒ **How to use:** - Use your API key for authentication. - Optionally, set `limit` (max 100) and `page` (1โ€“10) for paginated results. - Optionally, filter by `worth` (minimum value) or `type`. ๐Ÿ“ฆ **Response fields:** steamid, accountname, personaname, displayname, profiletype, realname, loccountrycode, description, fame, vac, islimited, level, worth, worthsteam, size, peritem, timecreated, updatedat, avatar, avatarmedium, avatarfull

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
limit
query • integer
Number of profiles per page. Default: 10. Maximum: 100.
Example: 10
page
query • integer
Page number for pagination (1โ€“10). Default: 1.
Example: 1
worth
query • number
Minimum inventory worth filter as numeric value (e.g., 1000 for $1000).
Example: 1000
type
query • string
Filter by profile type.
production
query • string
Set to 1 if you run in production. Default: 0.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON output (set to 1). Only applies to json, gzip and zip formats.
GET /explore/api/toplist

Example Request URL:

https://www.steamwebapi.com/explore/api/toplist?key=YOUR_API_KEY&limit=10&page=1&worth=1000

Responses

200 Array of top profile objects sorted by inventory worth descending.
400 Invalid or missing parameters.
429 Rate limit exceeded.

๐Ÿ” Search Steam Profiles by Name, Country, or Worth

Baseurl: https://www.steamwebapi.com/explore/api/profile?key=YOUR_API_KEY&search=example ๐Ÿ’ฌ **What this endpoint does:** - Searches for Steam profiles using various criteria such as name, country, inventory worth or VAC status. - By default, retrieves 20 results per page sorted by inventory worth descending. ๐Ÿ› ๏ธ **Features:** - Full-text search across persona name, account name, and display name. - Filter by country code, minimum worth, VAC status, fame status, or profile type. - Pagination with `limit` (max 100) and `page` (1โ€“10) parameters. - Flexible sorting with `order_by`: personaname, timecreated, fame, worth, size, updatedat (each with ASC/DESC suffix). - Anti-scraping protection: Max 10 pages ร— 100 results = 1000 profiles per query. ๐ŸŒ **How to use:** - Use the `search` parameter for name lookups (partial match supported). - Combine `country`, `worth`, `vac`, `fame`, and `type` filters as needed. - Adjust `limit` (max 100) and `page` (1โ€“10) for paginated results. - Use `order_by` to control sorting (default: worth DESC). ๐Ÿ“ฆ **Response fields:** steamid, accountname, personaname, displayname, profiletype, realname, loccountrycode, description, fame, vac, islimited, level, worth, worthsteam, size, peritem, timecreated, updatedat, avatar, avatarmedium, avatarfull

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
search
query • string
Search string matching persona name, account name, or display name (partial match, case-insensitive).
Example: Shroud
country
query • string
ISO 3166-1 alpha-2 country code (e.g., DE, US, GB).
Example: DE
worth
query • number
Minimum inventory worth filter as numeric value (e.g., 1000 for $1000).
Example: 1000
type
query • string
Filter by profile type.
limit
query • integer
Number of profiles per page. Default: 20. Maximum: 100.
Example: 20
page
query • integer
Page number for pagination (1โ€“10). Default: 1.
Example: 1
vac
query • integer
Filter by VAC ban status. Set to 1 for VAC banned profiles only.
fame
query • integer
Filter by fame status. 1 = famous profiles, 0 = non-famous profiles.
order_by
query • string
Sort field and direction. Options: personaname, personanameASC, personanameDESC, timecreated, timecreatedASC, timecreatedDESC, fame, fameASC, fameDESC, worth (default), worthASC, worthDESC, size, sizeASC, sizeDESC, updatedat, updatedatASC, updatedatDESC.
production
query • string
Set to 1 if you run in production. Default: 0.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON output (set to 1). Only applies to json, gzip and zip formats.
GET /explore/api/profile

Example Request URL:

https://www.steamwebapi.com/explore/api/profile?key=YOUR_API_KEY&search=Shroud&country=DE&worth=1000&limit=20&page=1

Responses

200 Array of matching profile objects.
400 Invalid or missing parameters.
429 Rate limit exceeded.

Profile

4 endpoints

Steam profile information

๐Ÿ‘ฅ Retrieve a Steam User's Friendlist

Baseurl: https://www.steamwebapi.com/steam/api/friendlist?id=76561198012345678&key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Fetches a Steam user's friends list. - By default, the data is parsed (`parsed=1`) for better readability. - For raw data directly from Steam, set `parsed=0`. ๐Ÿ› ๏ธ **Features:** - Retrieve detailed information about a user's friends, such as online status, game activity, and profile details. - Optimized for better response times by utilizing caching. ๐ŸŒ **How to use:** - Provide the user's Steam ID (64-bit) or Vanity URL using the `id` parameter. - Use the `no_cache` parameter to bypass caching if real-time data is required.

Parameters

Parameter Description
key Required
query • string
Your API key, available in the Dashboard (top-right corner).
id Required
query • string
Steam ID (64-bit) or Steam Vanity URL. Required for identifying the user.
Example: 76561198012345678
no_cache
query • string
Set to `1` to bypass caching. Default: Cached for 1 day for better performance. If you donโ€™t need real-time state data of the user, set `no_cache=0` for faster response times.
Example: 1
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/friendlist

Example Request URL:

https://www.steamwebapi.com/steam/api/friendlist?key=YOUR_API_KEY&id=76561198012345678&no_cache=1

Responses

200 Request was successful, and the friend list data is returned.
400 Invalid Steam ID or Steam Vanity URL provided.
404 Steam ID or Steam Vanity URL is missing.
406 No friends found
407 Unknown Network error
408 Profile is private

๐Ÿ‘ค Retrieve a Steam User's Profile with Flexible Options

Baseurl: https://www.steamwebapi.com/steam/api/profile?id=760000022222&key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Fetches a Steam user profile with flexible options. - Supports detailed or minimal data retrieval based on your needs. ๐Ÿ› ๏ธ **Features:** - Use the `id` parameter to identify the profile. Supports SteamID, username, or profile URL (SteamID recommended for faster and more accurate results). - Retrieve real-time data by setting `no_cache` to `1` (slower response). - Adjust the data depth using the `state` parameter (`minimal` or `detailed`). - Optimize responses with the `force_from_db_if_exists` parameter to fetch profiles from the database if available. ๐ŸŒ **How to use:** - Provide a valid `id` parameter (SteamID, profile URL, or username). - Use optional parameters to customize data retrieval (e.g., `state=detailed` for additional profile details).

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
id Required
query • string
Required. Identifier for the profile. Accepts: - SteamID (recommended for speed and accuracy). - Profile URL. - Username.
no_cache
query • string
Optional. Set to `1` to bypass the cache and fetch data directly from Steam. - Default: Cached data (faster).
Example: 1
state
query • string
Optional. Defines the level of profile detail: - `minimal` (default): Basic profile data. - `detailed`: Includes additional details like level, trade ban info, and friend states (slower).
Example: detailed
force_from_db_if_exists
query • string
Optional. Set to `1` to retrieve the profile from the database if available. - If not found, fresh data will be fetched and cached automatically. - Useful for rapid responses without impacting rate limits.
Example: 1
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/profile

Example Request URL:

https://www.steamwebapi.com/steam/api/profile?key=YOUR_API_KEY&no_cache=1&state=detailed&force_from_db_if_exists=1

Responses

200 Profile retrieved successfully.
400 Missing required "id" parameter.
404 Invalid "id" parameter. Must be a SteamID, profile URL, or username.

๐Ÿ‘ฅ Retrieve Multiple Steam User Profiles in a Single Request

Baseurl: https://www.steamwebapi.com/steam/api/profile/batch?id=steamid1,steamid2,steamid3&key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Fetches multiple Steam user profiles in a single request. - Each Steam ID costs 1 credit. - Maximum of 20 Steam IDs per request. ๐ŸŒ **How to use:** - Provide a comma-separated list of Steam IDs using the `id` parameter. - Example: `id=76561198165178872,76561199759031383`

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
id Required
query • string
Required. Comma-separated list of Steam IDs. Maximum 20 IDs.
state
query • string
Optional. Defines the level of profile detail: - `minimal` (default): Basic profile data. - `detailed`: Includes additional details like level, trade ban info, and friend states (slower).
Example: minimal
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /steam/api/profile/batch

Example Request URL:

https://www.steamwebapi.com/steam/api/profile/batch?key=YOUR_API_KEY&state=minimal

Responses

200 Profiles retrieved successfully.
400 Missing required "id" parameter or too many IDs.

๐Ÿ”„ Check Steam Trade Eligibility and Escrow Status

Baseurl: https://www.steamwebapi.com/steam/api/profile/trade-eligibility?trade_url=YOUR_TRADE_URL&key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Checks the trade eligibility status for a given Steam trade URL. - Verifies if the trade URL is valid and determines if there are any escrow holds. ๐Ÿ› ๏ธ **Features:** - Validates the provided trade URL. - Returns information about escrow days (trade holds). - Indicates whether trades will be instant or delayed. ๐ŸŒ **How to use:** - Provide a valid `trade_url` parameter. - Check the response to determine if the trade URL is valid and if there are any escrow holds.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
trade_url Required
query • string
Required. The Steam trade URL to check for eligibility. - Must be a valid Steam trade URL. - Can also be provided as `tradeurl` or `tradeUrl`.
GET /steam/api/profile/trade-eligibility

Example Request URL:

https://www.steamwebapi.com/steam/api/profile/trade-eligibility?key=YOUR_API_KEY

Responses

200 Trade eligibility information retrieved successfully.
400 Missing trade_url parameter.
500 Error on service or failed to retrieve trade eligibility information.

Inventory

2 endpoints

Steam inventory retrieval

โšก Fetch Steam Inventory with Pricing & Doppler Phase Detection

Baseurl: https://www.steamwebapi.com/steam/api/inventory?steam_id=760000022222&game=cs2&key=YOUR_API_KEY **Fetch a Steam inventory with live prices, float values, and item metadata โ€” rate-limit free.** Returns either Steam's raw response or an enriched version with prices and metadata (controlled via `parse`). --- **Key features:** - **Live prices** from Steam and 10+ third-party markets. - **Float values & stickers** included by default for CS2. - **Doppler phase detection** โ€” automatically detects the exact phase (Phase 1โ€“4, Ruby, Sapphire, Black Pearl, Emerald) from the item image. The `image` field is replaced with the phase-specific variant image. Use `with_phase_price=1` to also get the exact phase price in `pricereal`. - **Trade URL support** (CS2) โ€” access 7โ€“10 day trade-locked items. Higher failure rate and slower than normal requests โ€” avoid for time-critical applications. If you don't need blocked items, use the normal endpoint without Trade URL. - **Own inventory** โ€” use `steam_login_secure` to fetch your own inventory without the 10-day block. No `steam_id` needed (will be ignored). Find the cookie in your browser dev tools. - **Fallback mode** โ€” returns cached data when inventories are private or unavailable. - **Steam Community URL compatible** โ€” works like `https://steamcommunity.com/inventory/{steamid}/730/2`. Replace the Steam URL with our Baseurl. - **Pagination** โ€” use `limit`, `offset`, and `start_assetid` for large inventories (2000+ items). - **Multiple formats** โ€” JSON, CSV, XML, gzip, and more.

Parameters

Parameter Description
key Required
query • string
Your API key from the dashboard (top-right corner). Required for authentication.
steam_id Required
query • string
The Steam ID of the user. Accepts formats: `steamid`, `steamid3`, `steamid64`, or vanity URL. Using account names may slow the request due to additional Steam API calls.
state
query • string
Specifies the inventory fetch mode:\n- `active` (default): Fetch live inventory from Steam.\n- `fallback`: Try live first, fallback to cached data if private/inaccessible.\n- `takedb`: Always fetch from our database (fastest, may be outdated).\n\nCached data includes timestamp in response headers.
steam_login_secure
query • string
Your Steam login cookie for fetching your own inventory WITHOUT the 10-day trade block. When provided, `steam_id` is ignored. Find this cookie in your browser dev tools under "steamLoginSecure".
game
query • string
Short name of the game. Default is "cs2".
parse
query • string
Enable steamwebapi parsing for enriched item data with prices and metadata. Set to `0` to get raw Steam response. Default: `1`
language
query • string
Preferred language for item names and descriptions. Default: `english`
no_cache
query • string
Bypass the default 3-day cache to get fresh data directly from Steam. Costs +1 additional credit. Default: `0`
group
query • string
Group identical items by market hash name and sum their count. Useful for inventories with many duplicate items (e.g., cases, keys). Default: `0`
sort
query • string
Sort items by criterion:\n- **Steam prices**: `price_max`, `price_min`\n- **Real/market prices**: `price_real_max`, `price_real_min`\n- **Mix prices**: `price_mix_max`, `price_mix_min`\n- **Other**: `count`, `name`\n\nDefault: `price_max`
currency
query • string
Currency for item prices. Only works when `parse=1`. Default: `USD`
select
query • string
Comma-separated list of fields to include in response. Reduces response size for faster transfers. Example: `markethashname,pricelatest,assetid,float`
with_no_tradable
query • string
Include non-tradeable items (trade-locked items, StatTrak swap tools, etc.). Default: `0`
trade_url
query • string
Steam Trade URL. When provided for CS2, automatically includes 7-10 day trade-locked items. Format: `https://steamcommunity.com/tradeoffer/new/?partner=123456&token=AbCdEf`
offset
query • integer
Skip the first N items. Use with `limit` for pagination. Default: `0`
limit
query • integer
Maximum number of items to return. Steam caps at 2000 per request - use `start_assetid` for larger inventories. Default: `10000`
with_floats
query • string
Force float retrieval for all items. Floats are auto-included by default, but may be missing with `try_first_seven_days_blocked_items`. Warning: Significantly increases response time. Costs +2 credits. Default: `0`
try_first_seven_days_blocked_items
query • string
CS2 only: Try trading inventory first to get 7-10 day trade-locked items, fallback to normal if empty. Increases response time and failure rate. Costs +1 credit. Default: `0`
markets
query • string
Comma-separated list of markets for price calculation. `pricereal` = lowest price among selected markets. Example: `skinbaron,skinport,dmarket`
with_prices
query • string
Include detailed market prices array for each item with price, market name, logo, quantity, and direct link. May increase response time. Default: `0`
with_phase_price
query • string
CS2 Doppler items only. Replaces `pricereal` with the exact price for the detected phase (e.g. Phase 2 instead of generic Doppler price). When active, `pricereal24h`, `pricereal7d`, `pricereal30d`, `pricereal90d`, `pricerealmedian`, `winloss`, and `winlossprice` are set to `null` since phase-specific time-series data is not available. Only applies when a phase is detected AND the phase has a known price. If no phase price exists, `pricereal` stays unchanged. Default: `0`
search
query • string
Filter items by name (case-insensitive). Matches partial names. Example: `ak-47`
production
query • string
Set to 1 in production to remove info fields and get faster responses. Will be required in future API versions. Default: `0`
trade_locked
query • string
Show trade-locked items in your own inventory. Requires `steam_login_secure` parameter. Default: `0`
start_assetid
query • string
Pagination for large inventories (2000+ items). Check `last_assetid` response header and use it here for next page. Repeat until all items fetched.
format
query • string
Response format. Use `gzip` or `zip` for compressed downloads. Default: `json`
pretty
query • string
Pretty-print JSON output. Only for json/gzip/zip formats. Default: `0`
GET /steam/api/inventory

Example Request URL:

https://www.steamwebapi.com/steam/api/inventory?key=YOUR_API_KEY

Responses

200 Inventory fetched successfully. Returns array of items with prices and metadata.
400 Missing required parameter.
401 Invalid Steam ID format.
403 Inventory is private.
404 Profile not found.
410 No items for this game.
411 No tradeable items.
451 Steam error or maintenance.

โšก Batch Fetch Multiple Inventories with Doppler Phase Detection

Baseurl: https://www.steamwebapi.com/steam/api/inventory/batch?steam_ids=76561199146708568,76561198047543612&game=cs2&key=YOUR_API_KEY **Fetch inventories for up to 20 Steam IDs in a single request.** Returns an object keyed by Steam ID, each containing an array of items with prices and metadata. --- **Key features:** - **Up to 20 Steam IDs** per request (comma-separated). Each ID = 1 credit. - **Parallel processing** for maximum speed. - **Doppler phase detection** โ€” automatically detects the exact phase and replaces item image. Use `with_phase_price=1` for phase-specific pricing. - **Field selection** โ€” use `select` to reduce response size. - **11 currencies** supported. - Private inventories return empty array or cached data. **Example:** ``` GET /steam/api/inventory/batch?steam_ids=76561198100000000,76561198200000000&key=YOUR_KEY ```

Parameters

Parameter Description
key Required
query • string
Your API key from the dashboard. Required for authentication.
steam_ids Required
query • string
Comma-separated Steam IDs (max 20). Accepts steamid, steamid3, or steamid64 formats.
game
query • string
Game short name.
select
query • string
Comma-separated fields to include. Reduces response size.
currency
query • string
Currency for prices.
language
query • string
Language for item names.
no_cache
query • string
Bypass 3-day cache. Costs +1 credit per ID.
with_no_tradable
query • string
Include non-tradeable items.
with_phase_price
query • string
CS2 Doppler items only. Replaces `pricereal` with the exact phase price. Sets time-series price fields to `null`. Only applies when a phase is detected and has a known price. Default: `0`
sort
query • string
Sort items by criterion.
group
query • string
Group identical items by market hash name.
markets
query • string
Comma-separated markets for pricereal calculation.
production
query • string
Set to 1 in production to remove info fields. Will be required in future.
format
query • string
Response format.
pretty
query • string
Pretty-print JSON output.
GET /steam/api/inventory/batch

Example Request URL:

https://www.steamwebapi.com/steam/api/inventory/batch?key=YOUR_API_KEY

Responses

200 Batch inventories fetched successfully. Returns object keyed by Steam ID.
400 Missing or invalid parameters.
404 Game not found.
500 Internal server error.

Market Index

3 endpoints

CS2 market index and trend analysis

๐Ÿ“Š CS2 Market Index - Real-time Market Statistics

Baseurl: https://www.steamwebapi.com/steam/api/market-index/cs2?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Provides real-time CS2 market statistics and price indices. - Returns global market overview or specific segment details. - Includes price indices, trading volumes, market sentiment, and trends. ๐Ÿ› ๏ธ **Features:** - **Global Overview** (no params): Returns complete market data with all segments and `available_segments` listing all valid keys. - **Segment Details** (with params): Returns detailed data for a specific segment using `segment_type` and `segment_key`. - Supports multiple output formats (JSON, CSV, XML, etc.). ๐ŸŒ **How to use:** - Call without parameters for global market overview. - Use `segment_type` and `segment_key` to filter by specific categories. - Example: `?segment_type=item_group&segment_key=knife` for knife market data. ๐Ÿ“‹ **Available Segment Types:** - `item_group`: knife, glove, rifle, pistol, smg, shotgun, agent, sticker, container... - `rarity`: Contraband, Covert, Classified, Restricted, Mil-Spec Grade... - `wear`: fn (Factory New), mw, ft, ww, bs, vanilla - `quality`: normal, souvenir, tournament, genuine... - `stattrak`: yes, no - `collection`: The 2018 Inferno Collection, The Dust 2 Collection...

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
segment_type
query • string
Segment type for filtering. If omitted, returns global overview with all segments. **Types:** - `item_group`: Weapon categories (knife, rifle, pistol, etc.) - `rarity`: Item rarity (Covert, Classified, Mil-Spec Grade, etc.) - `wear`: Skin condition (fn, mw, ft, ww, bs, vanilla) - `quality`: Item quality (normal, souvenir, stattrak base, etc.) - `stattrak`: StatTrak status (yes, no) - `collection`: Game collections
segment_key
query • string
Segment key (required if segment_type is set). Call the API without parameters to get `available_segments` with all valid keys. **Common keys by type:** - `item_group`: knife, glove, rifle, pistol, smg, sticker, agent, container... - `rarity`: Covert, Classified, Restricted, Mil-Spec Grade, Consumer Grade... - `wear`: fn, mw, ft, ww, bs, vanilla - `quality`: normal, souvenir, tournament, genuine... - `stattrak`: yes, no
format
query • string
Response format. Default: `json`. Available: csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Default: `0`
GET /steam/api/market-index/cs2

Example Request URL:

https://www.steamwebapi.com/steam/api/market-index/cs2?key=YOUR_API_KEY

Responses

200 Market data (global overview or segment details)
400 Invalid parameters
404 No data available

๐Ÿ“ˆ CS2 Market Index History - Historical Price & Volume Data

Baseurl: https://www.steamwebapi.com/steam/api/market-index/cs2/history?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Returns historical data for any metric with flexible time aggregation. - Supports OHLC (Open/High/Low/Close) format for aggregated intervals. - Perfect for building charts, trend analysis, and market dashboards. ๐Ÿ› ๏ธ **Features:** - **Multiple Metrics:** Track price index, volume, turnover, listings, and more. - **Flexible Intervals:** From raw 1-minute data to yearly aggregates. - **Multi-Metric Mode:** Request multiple metrics in a single API call. - **OHLC Format:** Aggregated intervals return candlestick-ready data. - **Segment Support:** Get history for any segment type/key combination. ๐Ÿ“Š **Available Metrics:** - `priceindex` - Steam price index (default) - `buyorderpriceindex` - Buy order price index - `sold24h`, `sold7d`, `sold30d` - Sales volume - `turnover24h` - USD turnover - `listings` - Active listings count - `buyorders` - Active buy orders count - `avgspreadpct` - Average bid-ask spread - `avglistingprice` - Average listing price - `sellthrough24hpct` - Sell-through rate - `listingvalue` - Total listing value - `orderbookvalue` - Total order book value - `buypressureratio` - Buy/sell pressure ratio - `gainerscount`, `loserscount`, `neutralcount` - Market sentiment - `itemcount` - Marketable item count โฑ๏ธ **Available Intervals:** - `raw` - Every data point (1-minute buckets) - `fivemin` - 5-minute aggregates - `tenmin` - 10-minute aggregates - `hourly` - Hourly aggregates - `sixhours` - 6-hour aggregates - `daily` - Daily aggregates - `threedays` - 3-day aggregates - `weekly` - Weekly aggregates - `monthly` - Monthly aggregates - `threemonths` - Quarterly aggregates - `sixmonths` - Semi-annual aggregates - `yearly` - Annual aggregates ๐ŸŽฏ **Example Requests:** - 24h raw price index: `?metric=priceindex&from=-24hours` - Daily volume for 30 days: `?metric=sold24h&interval=daily&from=-30days` - Multiple metrics: `?metrics=priceindex,sold24h,turnover24h&interval=hourly` - Knife segment history: `?segment_type=item_group&segment_key=knife&metric=priceindex`

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
metric
query • string
Single metric to retrieve. Default: `priceindex`. Ignored if `metrics` is set. **Available:** priceindex, buyorderpriceindex, sold24h, sold7d, sold30d, turnover24h, listings, buyorders, avgspreadpct, avglistingprice, sellthrough24hpct, listingvalue, orderbookvalue, buypressureratio, gainerscount, loserscount, neutralcount, itemcount
metrics
query • string
Comma-separated list of metrics for multi-metric mode. Returns all metrics in a single response. **Example:** `priceindex,sold24h,turnover24h`
interval
query • string
Time aggregation interval. Default: `raw` (1-minute buckets). **Available:** - `raw` - Every data point (~1 min) - `fivemin` - 5-minute aggregates - `tenmin` - 10-minute aggregates - `hourly` - Hourly aggregates - `sixhours` - 6-hour aggregates - `daily` - Daily aggregates - `threedays` - 3-day aggregates - `weekly` - Weekly aggregates - `monthly` - Monthly aggregates - `threemonths` - Quarterly aggregates - `sixmonths` - Semi-annual aggregates - `yearly` - Annual aggregates **Note:** Aggregated intervals return OHLC format (open/high/low/close).
segment_type
query • string
Segment type to get history for. Default: `global` **Available types:** global, item_group, rarity, wear, quality, stattrak, collection
segment_key
query • string
Segment key for the selected type. Use `GET /cs2` to see all available keys in `available_segments`. Default: `all` **Examples:** knife, Covert, fn, yes, normal
from
query • string
Start date. Supports multiple formats: - ISO date: `2026-01-01` or `2026-01-01 10:00:00` - Unix timestamp: `1735689600` - Relative: `-24hours`, `-7days`, `-30days`, `-1year` Default: 24 hours ago.
to
query • string
End date. Same formats as `from`. Default: now.
limit
query • integer
Maximum data points. Default: `1000`, Max: `10000`
format
query • string
Response format. Default: `json`. Available: csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Default: `0`
GET /steam/api/market-index/cs2/history

Example Request URL:

https://www.steamwebapi.com/steam/api/market-index/cs2/history?key=YOUR_API_KEY

Responses

200 Historical market data (single metric mode)
202 Historical market data (multi-metric mode)

โš–๏ธ Compare Market Segments - Segment Analysis

Baseurl: https://www.steamwebapi.com/steam/api/market-index/cs2/compare?type=rarity&key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Compares market segments by a specific metric. - Returns sorted list with values and percentages. - Ideal for pie charts, ranking tables, or market analysis. ๐Ÿ› ๏ธ **Features:** - Compare by different metrics: price_index, turnover, sold24h, avg_price, listing_value, order_book_value. - Filter specific segments using `keys` parameter (comma-separated). - Results sorted by value in descending order. ๐ŸŒ **How to use:** - Specify `type` parameter (required): item_group, rarity, wear, quality, stattrak, collection. - Optionally filter with `keys`: `?type=item_group&keys=knife,glove,rifle`. - Change metric: `?type=wear&metric=turnover`. ๐Ÿ“Š **Use Cases:** - Market share analysis by rarity or item type. - Compare trading volumes across different wears. - Identify top-performing market segments.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
type Required
query • string
Segment type to compare. All segments of this type will be compared. **Available types:** - `item_group`: Compare weapon categories - `rarity`: Compare by rarity tier - `wear`: Compare skin conditions - `quality`: Compare item qualities - `stattrak`: Compare StatTrak vs non-StatTrak - `collection`: Compare game collections
keys
query • string
Comma-separated segment keys to filter. If empty, all segments of the type are compared. **Examples:** - `knife,glove,rifle` for item_group - `Covert,Classified,Restricted` for rarity - `fn,mw,ft` for wear
metric
query • string
Metric to compare segments by. Default: `price_index` **Available metrics:** - `price_index`: Sum of all item prices in segment - `turnover`: 24h trading volume (estimated) - `sold24h`: Number of items sold in 24h - `avg_price`: Average item price - `listing_value`: Total value of all listings - `order_book_value`: Total value of all buy orders
format
query • string
Response format. Default: `json`. Available: csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Default: `0`
GET /steam/api/market-index/cs2/compare

Example Request URL:

https://www.steamwebapi.com/steam/api/market-index/cs2/compare?key=YOUR_API_KEY

Responses

200 Segment comparison
400 Missing type parameter

Market Prices

2 endpoints

Third-party market prices (Buff163 and more)

Get Latest Buff163 Prices for CS2 Items (Premium - requires Items access)

Baseurl: https://www.steamwebapi.com/market/buff/prices?key=YOUR_API_KEY **This is a premium endpoint.** - You need explicit **Items access** in your package to use this endpoint. - It shares the same access rights and rate limits as `/steam/api/items`. - If you do not have Items access, you will receive a `402` error. **What this endpoint does:** - Returns **only the freshest** Buff163 prices from the most recent scrape run. - Old prices from previous scrape runs are automatically excluded. - Prices are in USD (converted from CNY) unless a `currency` parameter is provided. - Buff163 prices are scraped multiple times per day. Each scrape replaces the previous dataset entirely. **Parameters:** - **`key`**: Your API key (required). - **`market_hash_name`**: Filter by a specific item (optional). Returns the latest known price for that item. - **`currency`**: Convert prices to a specific currency (optional, default: USD). **Important:** - This endpoint always returns prices from the **last completed scrape run only**. - Items that were not available in the latest scrape will not appear in the response. - For historical price data, use `/market/buff/history` instead. - Uses 1 credit per request (same credit pool as Items).

Parameters

Parameter Description
key Required
query • string
Your API key for authentication.
market_hash_name
query • string
Filter by item name. Example: "AK-47 | Redline (Field-Tested)".
currency
query • string
Convert prices to a specific currency. Default: USD.
production
query • string
Set to 1 for production usage.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /market/buff/prices

Example Request URL:

https://www.steamwebapi.com/market/buff/prices?key=YOUR_API_KEY

Responses

200 Latest Buff163 prices returned successfully.
402 Rate limit exceeded or insufficient access.
404 No prices found or item not found.

๐Ÿ“ˆ Buff163 Price History for an Item

Baseurl: https://www.steamwebapi.com/market/buff/history?key=YOUR_API_KEY&market_hash_name=ITEM_NAME ๐Ÿ’ฌ **What this endpoint does:** - Returns Buff163 price history for a specific CS2 item. - Provides daily price points with quantity data. ๐Ÿ› ๏ธ **Parameters:** - **`key`**: Your API key (required). - **`market_hash_name`**: The item to get history for (required). - **`start_date`**: Start date (optional, format: YYYY-MM-DD). - **`end_date`**: End date (optional, format: YYYY-MM-DD). - **`currency`**: Convert prices to a specific currency (optional, default: USD). โšก **Important:** - History is stored daily (1 entry per item per day). - Uses 2 credits per request.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication.
market_hash_name Required
query • string
The item name. Example: "AK-47 | Redline (Field-Tested)".
start_date
query • string
Start date (format: YYYY-MM-DD).
Example: 2024-01-01
end_date
query • string
End date (format: YYYY-MM-DD).
Example: 2026-02-20
currency
query • string
Convert prices to a specific currency. Default: USD.
production
query • string
Set to 1 for production usage.
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /market/buff/history

Example Request URL:

https://www.steamwebapi.com/market/buff/history?key=YOUR_API_KEY&start_date=2024-01-01&end_date=2026-02-20

Responses

200 Buff163 price history returned successfully.
400 Invalid date format or missing market_hash_name.
402 Rate limit exceeded.
404 Item not found or no history data.

Proxy

2 endpoints

Proxy services

Proxy API no limits, no blocking

Utilize our Proxy API to crawl any URL you need. This API is designed for users who want to crawl raw URLs, but it's important to note that you can only crawl Whitelisted URLs. If you wish to add more URLs to the whitelist, please contact us via Discord. You can find the list of Whitelisted URLs by sending a request to the specified Endpoint.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication, located in your Dashboard (TOP RIGHT)
url Required
query • string
The URL of the requested Site. You need to URI Encode the URl, because you need to send that as query param. Like: steamwebapi.com/proxy/api/?url=https%3A%2F%2Fsteamcommunity.com%
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /proxy/api

Example Request URL:

https://www.steamwebapi.com/proxy/api?key=YOUR_API_KEY

Responses

default

Premium Proxy API - Enhanced performance and higher limits

Utilize our Premium Proxy API for enhanced performance and higher limits. This premium service offers faster response times, dedicated proxy servers, and increased rate limits. Premium access is required - contact us via Discord if you need premium access. You can only crawl Whitelisted URLs.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication, located in your Dashboard (TOP RIGHT)
url Required
query • string
The URL of the requested Site. You need to URI Encode the URl, because you need to send that as query param. Like: steamwebapi.com/proxy/api/premium/?url=https%3A%2F%2Fsteamcommunity.com%
format
query • string
Response format: json (default), csv, xml, html, gzip, zip, ndjson, mysql, mysql_with_table, pgsql, pgsql_with_table, mongo. Example: ?format=csv
pretty
query • string
Pretty-print JSON (set to 1 for json/gzip/zip formats). Example: ?format=json&pretty=1
GET /proxy/api/premium

Example Request URL:

https://www.steamwebapi.com/proxy/api/premium?key=YOUR_API_KEY

Responses

default

Tradeoffer

9 endpoints

Tradeoffer

๐Ÿ“ฆ Create a Trade Offer on Steam

Baseurl: https://www.steamwebapi.com/steam/api/trade/create?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Initiates a new trade offer for a specific user. - Requires a valid `steamloginsecure`, retrievable from Steam cookies. ๐Ÿ› ๏ธ **Features:** - Supports sending items (`myitemassetids`) and requesting items (`partneritemassetids`). - Trade link and partner Steam ID ensure secure targeting. - Includes a custom message option for the trade. ๐ŸŒ **How to use:** - Provide required parameters in a JSON payload. - Use optional parameters like `game` for game-specific trade offers.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for initiating a new trade offer: - **steamloginsecure**: Cookie value for Steam authentication. - **partneritemassetids**/**myitemassetids**: Asset IDs for items to trade. - **tradelink**: Trade link of the user. - **partnersteamid**: Steam ID of the trade partner. - **message**: Optional message for the trade offer.

POST /steam/api/trade/create

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/create?key=YOUR_API_KEY

Responses

200 Trade offer successfully created.
401 Unauthorized access or invalid/expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 Specified game not found.
406 Invalid asset ID provided or too many pending trade offers.
409 Trade offer creation failed - too many cancellations.
410 Unauthorized access due to invalid/expired steamloginsecure.
421 Validation error for the request body.
422 Validation error for JSON properties.
429 Rate limit exceeded.

๐Ÿ”’ Accept a Trade Offer on Steam

Baseurl: https://www.steamwebapi.com/steam/api/trade/accept?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Accepts a trade offer on Steam. - Requires Steam credentials and trade details. ๐Ÿ› ๏ธ **Features:** - Allows accepting trade offers programmatically. - Requires `2FA` if items are involved in the trade. ๐ŸŒ **How to use:** - Provide required parameters (`steamloginsecure`, `tradeofferid`, and `partnersteamid`) in the request body. - Authenticate using your API key for access.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for accepting a trade offer: - **steamloginsecure**: Cookie value from steamcommunity.com for authentication. - **tradeofferid**: The ID of the trade offer to accept. - **partnersteamid**: The Steam ID of the trade partner.

PUT /steam/api/trade/accept

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/accept?key=YOUR_API_KEY

Responses

200 Trade offer successfully accepted.
401 Unauthorized access. Invalid or expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 Specified game not found.
410 Unauthorized access due to invalid or expired steamloginsecure.
421 Validation error for the request body.
422 Validation error for JSON properties.
425 Steam Error occurred.

๐Ÿ” Check a Trade Offer Status (Recipient Only)

Baseurl: https://www.steamwebapi.com/steam/api/trade/check?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Checks whether a specific trade offer is still active or no longer valid. - Retrieves detailed information about the trade offer including items, participants, and escrow status. - Requires a valid `steamloginsecure` for authentication. โš ๏ธ **Important: Only the recipient of the trade offer can use this endpoint.** - Steam only allows the **recipient** (the person who received the trade offer) to view trade offer details. - If the `steamloginsecure` belongs to the **sender** of the trade offer, Steam will return an error as if the trade offer does not exist. - Make sure the `steamloginsecure` belongs to the Steam account that **received** the trade offer. ๐Ÿ› ๏ธ **Features:** - Validates if a trade offer is still active or has expired/been cancelled/declined. - Returns detailed trade offer data: items offered by both parties, partner info, trade message. - Includes escrow (trade hold) information. - Partner details include Steam level, member since date, and friend status. ๐ŸŒ **How to use:** - Provide the required parameters (`steamloginsecure` and `tradeofferid`) in the request body. - The `steamloginsecure` **must** belong to the recipient of the trade offer. - Authenticate using your API key for access.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for checking a trade offer: - **steamloginsecure**: Cookie value from steamcommunity.com for authentication. - **tradeofferid**: The ID of the trade offer to check.

POST /steam/api/trade/check

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/check?key=YOUR_API_KEY

Responses

200 Trade offer details successfully retrieved.
401 Unauthorized access. Invalid or expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 Trade offer is no longer valid or not found.
421 Validation error for the request body.
422 Validation error for JSON properties.
425 Steam Error occurred.

๐Ÿ”Ž Retrieve Trade History

Baseurl: https://www.steamwebapi.com/steam/api/trade/history?key=YOUR_API_KEY ๐Ÿ’ฌ **Retrieve the trade history of a user.** - This endpoint uses the official Steam Web API (IEconService/GetTradeHistory) for accurate and reliable trade data. - Perfect for verifying trade success and tracking the user's trade activity. - **Rate Limiting:** You may experience delays if too many requests are made in a short period, as each `steamloginsecure` token is rate-limited. - **Real-time Data:** The `steamloginsecure` token ensures real-time data retrieval from Steam. You can use the Extension for automatic token retrieval. - **Trade Protection System:** With Steam's Trade Protection System, trades can be reversed within 7 days. The `tradeprotected` and `tradeprotecteduntil` fields indicate if a trade is still in the protection period. The exact settlement date comes directly from Steam. - **New Fields:** Each trade now includes a `tradeid` field and `tradeprotecteduntiltimestamp`. Received items include `originalassetid` and `newassetid`. Sent items include `newassetid`. Items may include `ownerdescriptions` when available from Steam. ๐Ÿ› ๏ธ **Important Parameters:** - **steamloginsecure**: Required. The raw steamLoginSecure token from the `steamcommunity.com` cookie for authentication. - **after_time**: Optional. Pagination cursor โ€” pass the value from `nexthistoryaftertimestamp` of the previous response. - **after_trade**: Optional. Pagination cursor โ€” pass the value from `nexthistoryaftertrade` together with `after_time`. - **assetid**: Optional. Filter trades by a specific asset ID to track a particular item. ๐ŸŒ **How to Use:** - Send the `steamloginsecure` cookie value (or use our Extension for automatic retrieval) to fetch trade history data for the user. - Use the `after_time` and `after_trade` parameters together for precise pagination (both values come from `nexthistoryaftertimestamp` and `nexthistoryaftertrade` of the previous response). - Use the `assetid` parameter to track specific items and check if they were involved in reversed trades. Searches across `assetid`, `originalassetid`, and `newassetid`. - Check the `status` field in the response to determine if a trade is "traded" or "reversed". - The `tradereturned` property provides details about reversed trades, allowing services to unfreeze funds after the 7-day trade hold period. - **Note:** `participantusername` contains the trade partner's SteamID64 (username is not available from the Steam API). Use `participantsteamid` for the same value.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.
after_time
query • string
Filter trades that occurred after the specified Unix timestamp. Used for pagination โ€” pass the value from `nexthistoryaftertimestamp` of the previous response.
after_trade
query • string
Filter trades after the specified trade ID. Used together with `after_time` for precise pagination โ€” pass the value from `nexthistoryaftertrade` of the previous response.
assetid
query • string
Filter trades by a specific asset ID to track a particular item.

Request Body

JSON payload containing the required parameters for retrieving trade history: <table style="color: #ffffff;"> <tr> <th>Name</th><th>Required</th><th>Description</th> </tr> <tr> <td>steamloginsecure</td><td>Yes</td><td>Raw steamLoginSecure token from the cookie of steamcommunity.com. Use the raw steamLoginSecure from the cookie. Can also be retrieved automatically using our Extension.</td> </tr> </table>

POST /steam/api/trade/history

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/history?key=YOUR_API_KEY

Responses

200 Success - Trade history successfully retrieved.
400 Bad request or missing parameters.
401 Unauthorized access due to missing or invalid steamloginsecure token.
402 Rate limit exceeded (daily or monthly).
405 Invalid steamloginsecure provided. Please verify your steamloginsecure and try again.
406 Your steamloginsecure is expired. Please verify your steamloginsecure and try again.
430 You must wait before making another request using this steamloginsecure to avoid being banned from steamcommunity.com.
408 Invalid steamloginsecure provided. Please verify your steamloginsecure and try again.
421 Missing required parameters or rate limit exceeded
422 Invalid JSON format in the request.
429 Rate limit exceeded for requests.

๐Ÿ“œ List Sent Trade Offers

Baseurl: https://www.steamwebapi.com/steam/api/trade/sent?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Lists all outgoing trade offers made by a user. - Requires a valid `steamloginsecure` for authentication. - Steam IDs are automatically calculated from the API response. ๐Ÿ› ๏ธ **Features:** - Retrieves a list of sent trade offers. - Includes detailed trade offer status and item information. - Participant Steam IDs are automatically resolved. ๐ŸŒ **How to use:** - Provide the required parameter (`steamloginsecure`).

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for listing sent trade offers: - **steamloginsecure**: Cookie value from steamcommunity.com for authentication.

POST /steam/api/trade/sent

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/sent?key=YOUR_API_KEY

Responses

200 Successfully retrieved sent trade offers.
401 Unauthorized access due to invalid or expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 No trade offers found.
421 Validation error for the request body.
422 Validation error for JSON properties.
425 Steam Error occurred.

๐Ÿ“œ List Pending Trade Offers

Baseurl: https://www.steamwebapi.com/steam/api/trade/pending?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Lists all incoming trade offers received by a user. - Requires a valid `steamloginsecure` for authentication. - Steam IDs are automatically calculated from the API response. ๐Ÿ› ๏ธ **Features:** - Retrieves a list of pending trade offers. - Includes detailed trade offer status and item information. - Participant Steam IDs are automatically resolved. ๐ŸŒ **How to use:** - Provide the required parameter (`steamloginsecure`).

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for listing pending trade offers: - **steamloginsecure**: Cookie value from steamcommunity.com for authentication.

POST /steam/api/trade/pending

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/pending?key=YOUR_API_KEY

Responses

200 Successfully retrieved pending trade offers.
401 Unauthorized access due to invalid or expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 No trade offers found.
421 Validation error for the request body.
422 Validation error for JSON properties.
425 Steam Error occurred.

๐Ÿ“œ List Sent Trade Offer History

Baseurl: https://www.steamwebapi.com/steam/api/trade/sent/history?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Lists all historical (completed, expired, canceled, declined) outgoing trade offers made by a user. - Requires a valid `steamloginsecure` for authentication. - Steam IDs are automatically calculated from the API response. ๐Ÿ› ๏ธ **Features:** - Retrieves a list of historical sent trade offers (not active ones). - Includes detailed trade offer status and item information. - Participant Steam IDs are automatically resolved. โš ๏ธ **Important:** - This endpoint only returns **historical** trade offers (accepted, declined, canceled, expired, etc.). - For currently active sent trade offers, use `/steam/api/trade/sent` instead. ๐ŸŒ **How to use:** - Provide the required parameter (`steamloginsecure`).

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for listing sent trade offer history: - **steamloginsecure**: Cookie value from steamcommunity.com for authentication.

POST /steam/api/trade/sent/history

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/sent/history?key=YOUR_API_KEY

Responses

200 Successfully retrieved sent trade offer history.
401 Unauthorized access due to invalid or expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 No trade offer history found.
421 Validation error for the request body.
422 Validation error for JSON properties.
425 Steam Error occurred.

โŒ Cancel a Trade Offer on Steam

Baseurl: https://www.steamwebapi.com/steam/api/trade/cancel?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Cancels a trade offer on Steam. - Requires Steam credentials and the trade offer ID. ๐Ÿ› ๏ธ **Features:** - Allows programmatically canceling trade offers. - Provides secure authentication using `steamloginsecure`. ๐ŸŒ **How to use:** - Provide required parameters (`steamloginsecure` and `tradeofferid`) in the request body. - Authenticate using your API key to access the endpoint.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for canceling a trade offer: - **steamloginsecure**: Cookie value from steamcommunity.com for authentication. - **tradeofferid**: The ID of the trade offer to cancel.

PUT /steam/api/trade/cancel

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/cancel?key=YOUR_API_KEY

Responses

200 Trade offer successfully canceled.
401 Unauthorized access. Invalid or expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 Specified game not found.
410 Unauthorized access due to invalid or expired steamloginsecure.
421 Validation error for the request body.
422 Validation error for JSON properties.
425 Steam Error occurred.

โŒ Decline a Trade Offer on Steam

Baseurl: https://www.steamwebapi.com/steam/api/trade/decline?key=YOUR_API_KEY ๐Ÿ’ฌ **What this endpoint does:** - Declines an existing trade offer on Steam. - Requires Steam credentials and the trade offer ID. ๐Ÿ› ๏ธ **Features:** - Programmatically declines trade offers. - Requires a valid `steamloginsecure` for authentication. ๐ŸŒ **How to use:** - Provide the required parameters (`steamloginsecure` and `tradeofferid`) in the request body. - Authenticate using your API key for access to the endpoint.

Parameters

Parameter Description
key Required
query • string
Your API key for authentication. Retrieve it from your Dashboard (top-right corner).
production
query • string
If you run in production, please set this to 1. Default is 0. This is in future required, and if not set, you will get a warning.

Request Body

JSON payload containing the required parameters for declining a trade offer: - **steamloginsecure**: Cookie value from steamcommunity.com for authentication. - **tradeofferid**: The ID of the trade offer you want to decline.

PUT /steam/api/trade/decline

Example Request URL:

https://www.steamwebapi.com/steam/api/trade/decline?key=YOUR_API_KEY

Responses

200 Trade offer successfully declined.
401 Unauthorized access. Invalid or expired steamloginsecure.
402 Rate limit exceeded (daily or monthly).
404 Specified game not found.
410 Unauthorized access due to invalid or expired steamloginsecure.
421 Validation error for the request body.
422 Validation error for JSON properties.
425 Steam Error occurred.

Frequently Asked Questions

How do I get an API key for SteamWebAPI?

Sign up for free at steamwebapi.com by logging in with your Steam account. You'll receive an API key instantly that you can use to access all endpoints. Include your key as a key query parameter in every request.

What data can I access through the Steam API?

SteamWebAPI provides access to Steam Market item prices and price history, player inventories for CS2, DOTA2 and other games, CS2 skin float values, player profiles, trade offers, and market exploration tools. All data is available through simple REST API endpoints.

Is there a free plan available?

Yes, SteamWebAPI offers a free tier that allows you to make API requests and test all endpoints. For higher rate limits and production use, check our pricing page.

What response format does the API use?

All API endpoints return JSON responses by default. The API follows REST conventions with standard HTTP status codes. Successful requests return a 200 status code with the data in the response body.