We have been expanding what developers can build with SteamWebAPI, from the way users inspect a CS2 skin to the data behind inventories and Steam game discovery.
The biggest addition is our customizable CS2 3D Viewer: an interactive skin viewer you can embed in your own product with your own branding. Our Inventory API can also detect trade-protected CS2 items, now with an additional observation-based protection window. Alongside these updates, we have introduced new APIs for Steam games, player statistics and profile game libraries.
Introducing the customizable CS2 3D Viewer
A skin's name and image only tell part of its story. Buyers want to examine the pattern, look at the wear and see how stickers and charms fit the item. The SteamWebAPI CS2 3D Viewer brings that experience directly into your marketplace, inventory tool or skin database.
The viewer uses real CS2 game assets to display paint finishes, float and wear, paint seeds and patterns, stickers, charms and StatTrak. Visitors can rotate, zoom and pan around an item in their browser, without installing a plugin or a game client.
Your branding, configured from your own panel
The viewer is designed for white-label integration. Your team receives a viewer key and access to a configuration panel, where you can adjust the appearance and enabled features for your product.
- Your logo: place it on the viewer and link it to your shop.
- Your watermark: adjust its size, spacing and opacity.
- Your interface: choose a light, dark or accent theme.
- Your background: use a solid color, your own image or one of 14 animated map backgrounds.
- Your language settings: choose from English, German, Russian, Chinese, Portuguese, Polish and Turkish.
- Your domains: restrict the viewer key to the approved origins for your site.
There is no required SteamWebAPI branding or powered-by line. You can make the viewer feel like part of your own application, from an individual listing page to a full skin browsing experience.
Explore float values and paint seeds
With Live Customize, visitors can change a weapon's paint seed and float value and see the result directly in the viewer. Float stays within the skin's supported wear range, and users can reset the configuration to the original inspect link or share a configuration as a link.
This is useful for comparing patterns, exploring wear and helping users understand why two items with the same market name can look different. Weapon changes appear in real time; glove changes need a short processing delay.
Arena and Catalog modes
Arena Mode places the weapon in an agent's hands for a first-person view, with actions such as deploying, firing, reloading and knife animations, including weapon sounds.
Catalog Mode lets visitors search and browse CS2 skins inside the viewer, choose a weapon and adjust its configuration without needing an existing Steam inspect link. It works well for skin databases and tools that help users explore their next purchase.
Inspect viewing is included in every viewer plan. Live Customize, Arena Mode and Catalog Mode are available with Pro and Enterprise.
Integrate it with one iframe
Add an iframe pointing to the viewer with your viewer key and an encoded Steam inspect link. The embed=1 option provides a clean embedded view. There is no SDK, npm package or build step required for the integration.
Use it on a listing page so a buyer can examine the item before deciding, or open it from an inventory card when a user wants a closer look.
Explore the CS2 3D Viewer, try the live demo and get a viewer key.
Inventory API: detect trade-protected CS2 items
A newly received skin can belong to a user while still being trade protected. These items may be missing from ordinary public inventory responses, leaving inventory tools with incomplete item counts and portfolio values.
Our Steam Inventory API can detect these trade-protected items and return them with the rest of the inventory. Applications can include them in ownership displays and valuations while clearly showing that they cannot yet be traded.
Enable detection on a CS2 inventory request with try_first_seven_days_blocked_items=1:
/steam/api/inventorycurl "https://www.steamwebapi.com/steam/api/inventory?key=YOUR_API_KEY&steam_id=76561198000000000&game=cs2&try_first_seven_days_blocked_items=1"The inventory must be public. This option costs one additional credit and can take longer than a standard request. Mode 1 can fall back to the regular inventory if protected-item data is unavailable, so applications should account for that possibility.
New: tradeprotectedmaxdays
Alongside tradeprotected, we now return tradeprotectedmaxdays in parsed CS2 inventory responses. It provides a conservative upper bound in whole days based on our first observation, with values from 0 to 7.
When we first detect an item as trade protected, we remember that observation and begin counting down from seven days. We do not know when its protection actually started: the item might already have been protected for a day before we encountered it.
For example, an item may have only six days actually remaining when we first see it, but we return tradeprotectedmaxdays: 7. One full day later, our value is 6, even though the actual remaining duration may already be five days. The number is rounded up to whole days.
We know how long it has been since we first detected the protected item. We do not know Steam's exact unlock time.
A simplified item response can look like this:
Response{
"tradeprotected": true,
"tradeprotectedmaxdays": 7,
"tradable": false,
"tradelocked": true
}The field is available in both single and batch inventory responses, including field selection through select. Unprotected items return 0; protected items without stored observation metadata conservatively return 7. A value of 0 alone does not establish tradability: continue to use tradeprotected, tradable and tradelocked to determine the item's status.
This gives portfolio trackers and marketplaces more context to show users while keeping trade-protected items visible. Explore the Inventory API and check the API reference for request options and response fields.
New Steam Games API: catalog, search and player statistics
SteamWebAPI now also provides a Steam games catalog for discovery tools, game databases and analytics applications. The new /steam/api/apps endpoint brings together game metadata, store prices, review scores and player data.
Search by name, developer, publisher or tags, then narrow results by genre, platform, language, price, discount, review score or player count. Sort games by popularity, recent player growth, ratings, release date or price to build different discovery views from the same API.
- Store prices: regional storefront prices in 14 currencies, with discount information.
- Reviews: overall ratings and recent review metrics.
- Game details: descriptions, media, categories, supported languages and store links.
- Catalog synchronization: cursor pagination and
updated_sincefor retrieving changed records. - Filter menus: available genres, tags, categories and languages with game counts.
For example, retrieve a page of games ordered by current player count:
/steam/api/appscurl "https://www.steamwebapi.com/steam/api/apps?key=YOUR_API_KEY&sort=players&limit=20"Player counts and history
Dedicated player statistics let you build charts and compare activity over time. Request a game's player history for hourly, daily or monthly series, including available peak counts, monthly averages and rank history. A separate endpoint provides Steam-wide online and in-game player counts.
| Endpoint | What it provides |
|---|---|
GET /steam/api/apps | Searchable, filterable game catalog |
GET /steam/api/apps/filters | Values and counts for game filter menus |
GET /steam/api/apps/730 | Details for one game, using CS2 as an example |
GET /steam/api/apps/730/players | Player counts and history for that game |
GET /steam/api/info/platform-players | Steam-wide online and in-game statistics |
Catalog and player data are refreshed in the background. Freshness and historical coverage depend on the game and data source; the endpoints expose timestamps and sampling information to help applications interpret the results.
Games, playtime and achievements for a Steam profile
The new /steam/api/profile/games endpoint returns a profile's visible game library with playtime and achievement progress. It also includes profile-level counts such as games played and perfect games.
Use it to build library summaries or player profiles, and join games to the catalog by app ID for store metadata. Steam privacy settings apply: game details must be visible for the API to return them.
New CS2 skins: early access to catalog metadata
We have also improved how newly released CS2 skins enter our item infrastructure. Applications can retrieve early metadata for skins from the latest released collection wave before those items have complete market data in SteamWebAPI.
Request /steam/api/items?game=cs2&only_new_items=1 with your API key to retrieve matching catalog entries that are still missing from our regular item database. These entries are explicitly marked preview: true and can include names, images, wear, rarity, collection information and, where supported, visual preview inspect links.
This helps skin databases and marketplaces prepare pages for new content earlier. Availability depends on publication and refresh of the source catalog; preview metadata does not guarantee a Steam Market listing or a price. Visual preview links represent catalog configurations rather than an owned inventory item.
More tools for CS2 item and market data
Several other additions expand what you can learn from items and profiles:
- Asset search and ownership history:
POST /api/assets/findlooks up CS2 items using float, weapon ID and paint seed, returning recorded ownership timelines and observed marketplace listings where available. - Observed profile trades:
/steam/api/profile/tradesexposes item handovers reconstructed from inventory observations, including counterparties and transfer direction. Coverage depends on the items we have tracked. - Profile risk signals:
/steam/api/profile/riskprovides signals and confidence levels for possible alternate-account relationships. These are probabilistic assessments, not proof of identity or a standalone reason to reject a user. - Marketplace coverage: integrations for Skinport, LIS-SKINS and 49Skins, alongside improvements to phase-specific Doppler pricing.
Build your next Steam or CS2 feature
Whether you want to bring interactive skin inspection to a marketplace, show a more complete inventory or build a Steam game discovery tool, these updates give you more of the data and presentation tools in one platform.
Start with the CS2 3D Viewer demo, explore the Inventory API, or browse the API reference for the new game and profile endpoints. For higher limits or a custom integration, contact our team.
Thank you for building with SteamWebAPI.
Read next