ItemData · API 12.0.0

Steam API Documentation

A complete reference for ItemData endpoints. Inspect parameters, copy an SDK-ready request, preview successful and error responses, or send a live production request without leaving this page.

Getting started

Your first request

  1. 1
    Create an API key

    Generate a key in the dashboard and keep it server-side.

  2. 2
    Pass ?key=

    The query parameter is the primary authentication transport.

  3. 3
    Read the JSON response

    Use documented status codes and response schemas for deterministic handling.

curl --get \
  --data-urlencode "key=$ITEMDATA_API_KEY" \
  --data-urlencode "steam_id=76561198000000000" \
  --data-urlencode "game=cs2" \
  "/v1/inventory"
Production use

Safe by default

Keep keys private

Do not put API keys, Steam cookies, or trade URLs in client bundles, logs, or repositories.

Respect quotas

Minute, UTC-day, and UTC-month windows are enforced independently for the account, product, and operation.

Retry selectively

Retry only transient 429 and 5xx responses, using Retry-After when present and bounded exponential backoff.

API group

Inventory

Fetch normalized Steam inventory pages with cache and billing metadata.

1 endpoint
GET

/v1/inventory

Fetch one Steam inventory page

Base URL/v1/inventory

Returns exactly one Steam page. A successful normal public request consumes one base credit and may use a fresh or stale-if-error public snapshot.

Detailed behavior

Returns exactly one Steam page. A successful normal public request consumes one base credit and may use a fresh or stale-if-error public snapshot. no_cache=true, caller-supplied steam_login_secure or trade_url credentials, and try_first_seven_days_blocked_items=true each add +1 credit when the result is billable because they force a fresh fetch. Fresh-fetch additions never stack, so the maximum billable inventory-request price is 2 credits. Steam's undocumented Community inventory endpoint currently returns HTTP 401 with JSON null for structurally valid but unallocated SteamID64 values. Because 401 may also represent a public-empty state, ItemData treats it as a successful empty public page and follows normal public-page caching and billing. An upstream Steam HTTP 403 is treated as a confirmed private inventory and finalizes the full quote: 1 credit for a normal MISS or private-marker HIT, or 2 credits for a fresh-fetch mode. It is cached for 72 hours once per SteamID64; during that TTL it applies to every game and normal requests return HIT without contacting Steam. no_cache=true ignores both public snapshots and the private marker, charges 2 credits for a confirmed fresh 403, and refreshes the marker. A non-authoritative success=false result still removes an older public snapshot but is not charged. Caller-supplied and internal Steam-session requests always perform a fresh fetch and bypass all shared cache state. For an authorized account, provide a structurally valid steamLoginSecure cookie in X-Steam-Login-Secure to fetch the cookie owner's inventory for any supported game; for CS2, this avoids the normal 10-day visibility delay. steam_id is ignored and the owner SteamID64 is read from the cookie. Alternatively, provide a canonical Steam trade URL in X-Steam-Trade-URL to fetch that CS2 partner inventory, including 7-10 day trade-locked items; steam_id is then ignored and the target is read from the URL. If both credentials are present, X-Steam-Login-Secure takes precedence and the trade URL is ignored. Never put either secret in a URL unless legacy compatibility is unavoidable: query strings can enter browser history, access logs, and intermediary logs. Set try_first_seven_days_blocked_items=true for CS2 to try the internal partner-inventory session pool first; this forces non-tradable items to be included and falls back to a fresh public inventory request on the first page only when Steam rejects the partner request or the pool is temporarily unavailable. trade_url cannot be combined with try_first_seven_days_blocked_items. Broker authentication/configuration and invalid broker responses fail instead of being hidden by public fallback. Other failed requests and non-authoritative success=false responses consume zero credits. The upstream public Steam page size is fixed server-side at 2000; count and limit are not accepted. When more_items is true, pass last_assetid as start_assetid on the next request. Preserve cursor provenance using X-ItemData-Inventory-Source: keep the option enabled after partner, but omit it after public-fallback. The actual encoded JSON body is limited to 12 MiB for both compact and pretty output.

Authentication
API key via ?key=
Credits
1–2 creditsSuccessful normal pages cost 1 credit. Any fresh-fetch mode adds +1, and fresh options never stack above 2 credits.
Rate limit
Plan limitsThe active plan's minute, day, and month request limits apply before Steam work begins.

Parameters

15
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

steam_idConditionalquery · string

Public individual SteamID64 only, in the inclusive range 76561197960265729 through 76561202255233023. SteamID2, SteamID3, vanity names, profile URLs, whitespace, and other Steam account types are rejected before inventory capacity or credits are reserved. Required unless steam_login_secure or trade_url supplies the target. When either credential supplies the target, steam_id may be omitted; if supplied, it must still satisfy this schema but its value is not used. steam_login_secure takes precedence when both credentials are present.

Required unless X-Steam-Login-Secure or X-Steam-Trade-URL is provided.
Example
76561198000000000
gameOptionalquery · string

Supported canonical values are cs2, rust, dota2, tf2, and pubg. dota is accepted as a compatibility alias and is returned canonically as dota2.

Default
cs2
Allowed
cs2, rust, dota, dota2, tf2, pubg
languageOptionalquery · string

Steam inventory localization language. Defaults to english and accepts Steam-compatible language identifiers.

Default
english
start_assetidOptionalquery · string

Opaque Steam cursor from the previous response's last_assetid. Omit for the first page.

include_non_tradableOptionalquery · boolean

Include non-tradable assets. Filtering never changes total_inventory_count or cursor progression.

Default
false
with_no_tradableOptionalquery · boolean

SteamWebAPI-compatible alias for include_non_tradable. If both are provided, their values must match.

Default
false
no_cacheOptionalquery · boolean

Force a new public Steam fetch instead of serving a public snapshot or confirmed-private marker. Additional cost is +1 credit for a billable result; a confirmed Steam HTTP 403 therefore costs 2 credits and refreshes the account-wide private marker. The response is not published as another shared immutable object. A non-authoritative success=false response still durably removes any older public snapshot and is refunded. A concurrent no_cache call for the same SteamID64 returns refresh_in_progress and is not charged. Requests authorized by steam_login_secure or trade_url and internal Steam-session requests already bypass the shared cache and do not need this flag. Fresh-fetch additions never stack, so the maximum billable inventory-request price is 2 credits.

Default
false
try_first_seven_days_blocked_itemsOptionalquery · boolean

For CS2 only, try Steam's partner-inventory path through an internal service-account session before the normal public endpoint. It cannot be combined with steam_login_secure or trade_url, always bypasses the shared cache, and forces include_non_tradable=true. Additional cost is +1 credit for a billable result, including a confirmed Steam HTTP 403 from the public fallback. If Steam rejects the first partner request or the pool is temporarily unavailable, ItemData performs one fresh public fallback and reports public-fallback in X-ItemData-Inventory-Source; broker configuration/authentication and protocol failures do not silently fall back. For the next page, keep this flag after a partner response but omit it after public-fallback. A later partner cursor never falls back to the semantically different public cursor.

Default
false
steam_login_secureOptionalSensitiveDeprecatedquery · string

Legacy query form of X-Steam-Login-Secure. Prefer the header because query strings can be retained in browser history and access or intermediary logs.

X-Steam-Login-SecureOptionalSensitiveheader · string

Preferred transport for a structurally valid steamLoginSecure cookie that contains its owner SteamID64. Supported for every game; for CS2, it fetches the authorized owner's inventory without the normal 10-day visibility delay. steam_id is ignored and derived from the cookie. The value is forwarded only for this request, bypasses all shared cache reads and writes, adds +1 credit for a billable result including a confirmed Steam HTTP 403, and is never persisted. If X-Steam-Trade-URL is also present, this header takes precedence and the trade URL is ignored.

trade_urlOptionalSensitiveDeprecatedquery · string

Legacy query form of X-Steam-Trade-URL. Prefer the header because the trade token is a secret and query strings can be retained in browser history and access or intermediary logs.

X-Steam-Trade-URLOptionalSensitiveheader · string

Preferred transport for a canonical HTTPS Steam trade URL with exactly partner=<AccountID32> and token=<6-128 characters from A-Z, a-z, 0-9, underscore, or hyphen>. CS2 only. Fetches the partner inventory including 7-10 day trade-locked items; steam_id is ignored and derived from partner. It always bypasses shared cache reads and writes, adds +1 credit after success, is never persisted, and cannot be combined with try_first_seven_days_blocked_items. It is ignored when X-Steam-Login-Secure is present.

Example
https://steamcommunity.com/tradeoffer/new/?partner=123456&token=AbCdEf
formatOptionalquery · string

Use prettyjson for indented JSON; pretty remains a compatibility alias.

Default
json
Allowed
json, prettyjson, pretty
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Pretty output is subject to the same 12 MiB encoded-body limit as compact JSON. ItemData intentionally supports JSON only.

Default
false
API group

Steam Profile

Resolve Steam identities and read minimal profile, owned-game, friend-list, and trade-hold facts through the isolated Steam Web API broker.

7 endpoints
GET

/v1/steam/id

Convert a public individual Steam ID between canonical formats

Base URL/v1/steam/id

Converts one canonical public individual SteamID2, SteamID3, or SteamID64 into all three representations and the 32-bit AccountID. This operation is entirely local: it performs no vanity lookup, Steam API, broker, proxy, Inventory, or database read.

Detailed behavior

Converts one canonical public individual SteamID2, SteamID3, or SteamID64 into all three representations and the 32-bit AccountID. This operation is entirely local: it performs no vanity lookup, Steam API, broker, proxy, Inventory, or database read. Vanity names and profile URLs remain the responsibility of `/v1/steam/resolve`. A successful response costs one credit and requires the profile product entitlement and `profile:read` scope.

Authentication
API key via ?key=
Credits
1 creditA successful local Steam ID conversion costs one credit.
Rate limit
Profile product limitsThe account, profile product, and profile quota-group minute, UTC-day, and UTC-month limits apply before conversion.

Parameters

3
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

steam_idRequiredquery · string

Canonical public individual SteamID2, SteamID3, or SteamID64. Whitespace, leading-zero account components, groups, clans, and other universes are rejected.

prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/resolve

Resolve a Steam profile reference

Base URL/v1/steam/resolve

Converts a public individual SteamID2, SteamID3, or SteamID64 locally, or resolves a Steam vanity name or canonical steamcommunity.com profile URL. The response contains canonical SteamID2, SteamID3, SteamID64, and AccountID forms.

Detailed behavior

Converts a public individual SteamID2, SteamID3, or SteamID64 locally, or resolves a Steam vanity name or canonical steamcommunity.com profile URL. The response contains canonical SteamID2, SteamID3, SteamID64, and AccountID forms. The operation costs one credit after a successful resolution and requires the profile product entitlement and profile:read scope.

Authentication
API key via ?key=
Credits
1 creditA successful Steam profile-reference resolution costs one credit.
Rate limit
Profile product limitsThe account, profile product, and profile quota-group minute, UTC-day, and UTC-month limits apply before Steam work begins.

Parameters

3
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

idRequiredquery · string

Public individual SteamID2 (STEAM_0:Y:Z or STEAM_1:Y:Z), SteamID3 ([U:1:AccountID]), SteamID64, 1-64 character ASCII vanity name using letters, digits, hyphen, or underscore, or a canonical http(s) steamcommunity.com or www.steamcommunity.com /id/<vanity> or /profiles/<SteamID64> URL without credentials, query, or fragment. Leading and trailing whitespace is ignored; embedded whitespace, control characters, noncanonical decimals, overflow, and unsupported Steam account types are rejected.

Example
76561198000000000
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/profile

Read a minimal Steam profile

Base URL/v1/steam/profile

Returns the currently enabled minimal Steam player summary for a SteamID64, vanity name, or canonical Steam Community profile URL. Restrictions, badges, and level are available from the separate full profile operation and are not included here.

Detailed behavior

Returns the currently enabled minimal Steam player summary for a SteamID64, vanity name, or canonical Steam Community profile URL. Restrictions, badges, and level are available from the separate full profile operation and are not included here. A successful response costs one credit and requires the profile product entitlement and profile:read scope.

Authentication
API key via ?key=
Credits
1 creditA successful minimal Steam profile read costs one credit.
Rate limit
Profile product limitsThe account, profile product, and profile quota-group minute, UTC-day, and UTC-month limits apply before Steam work begins.

Parameters

3
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

idRequiredquery · string

Public individual SteamID2 (STEAM_0:Y:Z or STEAM_1:Y:Z), SteamID3 ([U:1:AccountID]), SteamID64, 1-64 character ASCII vanity name using letters, digits, hyphen, or underscore, or a canonical http(s) steamcommunity.com or www.steamcommunity.com /id/<vanity> or /profiles/<SteamID64> URL without credentials, query, or fragment. Leading and trailing whitespace is ignored; embedded whitespace, control characters, noncanonical decimals, overflow, and unsupported Steam account types are rejected.

Example
76561198000000000
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/profile/full

Read a full Steam profile

Base URL/v1/steam/profile/full

Returns the validated player summary, exact economy/community/VAC/game ban facts, Steam level, and earned badges exposed by Valve for a SteamID64, vanity name, or canonical Steam Community profile URL. Restriction fields are upstream facts and are not a general trade eligibility verdict.

Detailed behavior

Returns the validated player summary, exact economy/community/VAC/game ban facts, Steam level, and earned badges exposed by Valve for a SteamID64, vanity name, or canonical Steam Community profile URL. Restriction fields are upstream facts and are not a general trade eligibility verdict. All timestamps are RFC 3339 UTC values and optional badge identifiers remain omitted when Valve does not provide them. A successful response costs one credit and one profile quota unit and requires the profile product entitlement and profile:read scope.

Authentication
API key via ?key=
Credits
1 creditA successful full Steam profile read costs one credit.
Rate limit
Profile product limitsOne client request consumes one account, profile product, and profile quota-group unit; the isolated broker independently budgets the constituent Valve calls.

Parameters

3
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

idRequiredquery · string

Public individual SteamID2 (STEAM_0:Y:Z or STEAM_1:Y:Z), SteamID3 ([U:1:AccountID]), SteamID64, 1-64 character ASCII vanity name using letters, digits, hyphen, or underscore, or a canonical http(s) steamcommunity.com or www.steamcommunity.com /id/<vanity> or /profiles/<SteamID64> URL without credentials, query, or fragment. Leading and trailing whitespace is ignored; embedded whitespace, control characters, noncanonical decimals, overflow, and unsupported Steam account types are rejected.

Example
76561198000000000
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/profile/batch

Read up to 20 minimal Steam profiles

Base URL/v1/steam/profile/batch

Returns minimal profiles in the same relative order as the requested SteamID64 values and reports IDs omitted by Steam in missing_steam_ids. The request accepts 1-20 unique public individual SteamID64 values and costs one credit and one profile quota unit per requested ID.

Detailed behavior

Returns minimal profiles in the same relative order as the requested SteamID64 values and reports IDs omitted by Steam in missing_steam_ids. The request accepts 1-20 unique public individual SteamID64 values and costs one credit and one profile quota unit per requested ID. A configured plan object_limits.batch_size is enforced against that submitted-ID count before quota or credit consumption.

Authentication
API key via ?key=
Credits
1–20 creditsA successful batch costs one credit per requested SteamID64, up to 20 credits.
Rate limit
Weighted profile limitsThe optional plan batch_size object limit counts submitted SteamID64 values first; when allowed, account, profile product, and profile quota-group limits consume one unit per value before Steam work begins.

Parameters

3
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

steam_idsRequiredquery · string

Comma-separated list of 1-20 unique public individual SteamID64 values. Entries must contain exactly 17 ASCII digits with no surrounding whitespace; vanity names and profile URLs are not accepted by the batch operation.

Example
76561198000000000,76561198000000001
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/profile/owned-games

List a Steam account's owned games

Base URL/v1/steam/profile/owned-games

Returns the validated games Steam exposes as owned by a SteamID64, vanity name, or canonical Steam Community profile URL. Optional app metadata and played free games map directly to Valve's bounded GetOwnedGames options; app_ids restricts the response to up to 100 unique positive application IDs.

Detailed behavior

Returns the validated games Steam exposes as owned by a SteamID64, vanity name, or canonical Steam Community profile URL. Optional app metadata and played free games map directly to Valve's bounded GetOwnedGames options; app_ids restricts the response to up to 100 unique positive application IDs. Omitted optional booleans are false and an omitted app_ids value means no application filter. Private or unavailable game details return a sanitized error. A successful response costs one credit and one profile quota unit and requires the profile product entitlement and profile:read scope.

Authentication
API key via ?key=
Credits
1 creditA successful owned-games read costs one credit, independent of the optional app filter.
Rate limit
Profile product limitsThe account, profile product, and profile quota-group minute, UTC-day, and UTC-month limits apply once before Steam work begins.

Parameters

6
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

idRequiredquery · string

Public individual SteamID2 (STEAM_0:Y:Z or STEAM_1:Y:Z), SteamID3 ([U:1:AccountID]), SteamID64, 1-64 character ASCII vanity name using letters, digits, hyphen, or underscore, or a canonical http(s) steamcommunity.com or www.steamcommunity.com /id/<vanity> or /profiles/<SteamID64> URL without credentials, query, or fragment. Leading and trailing whitespace is ignored; embedded whitespace, control characters, noncanonical decimals, overflow, and unsupported Steam account types are rejected.

Example
76561198000000000
include_app_infoOptionalquery · boolean

Ask Steam to include optional application names, image hashes, sort metadata, capability flags, and content descriptors. Omit or set false for the smaller ownership and playtime projection.

Default
false
include_played_free_gamesOptionalquery · boolean

Ask Steam to include free games the account has played even when they are not recorded as owned. Omit or set false for Valve's default behavior.

Default
false
app_idsOptionalquery · string

Optional comma-separated filter containing 1-100 unique canonical positive uint32 Steam AppID values. Arbitrary Steam applications are accepted; entries with whitespace, leading zeroes, duplicates, or values above 4294967295 are rejected. Omit the parameter entirely to request every game Steam exposes.

Example
730,570
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/friendlist

Read a Steam friend list

Base URL/v1/steam/friendlist

Returns the public friend relationships exposed by Steam for a SteamID64, vanity name, or canonical Steam Community profile URL. Private or unavailable friend data returns a sanitized error.

Detailed behavior

Returns the public friend relationships exposed by Steam for a SteamID64, vanity name, or canonical Steam Community profile URL. Private or unavailable friend data returns a sanitized error. A successful response costs one credit and requires the profile product entitlement and friendlist:read scope; it uses the independently limited friendlist quota group.

Authentication
API key via ?key=
Credits
1 creditA successful public Steam friend-list read costs one credit.
Rate limit
Friend-list limitsThe account, profile product, and independent friendlist quota-group minute, UTC-day, and UTC-month limits apply before Steam work begins.

Parameters

3
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

idRequiredquery · string

Public individual SteamID2 (STEAM_0:Y:Z or STEAM_1:Y:Z), SteamID3 ([U:1:AccountID]), SteamID64, 1-64 character ASCII vanity name using letters, digits, hyphen, or underscore, or a canonical http(s) steamcommunity.com or www.steamcommunity.com /id/<vanity> or /profiles/<SteamID64> URL without credentials, query, or fragment. Leading and trailing whitespace is ignored; embedded whitespace, control characters, noncanonical decimals, overflow, and unsupported Steam account types are rejected.

Example
76561198000000000
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
API group

CS2

Read pinned localized CS2 item definitions and facets with official Steam image URLs without request-time upstream access.

3 endpoints
GET

/v1/steam/cs2/items

List normalized CS2 item definitions with official Steam images

Base URL/v1/steam/cs2/items

Lists CS2 definitions imported from a pinned ByMykel/CSGO-API all.json revision into an immutable local PostgreSQL generation. app_id is fixed to 730 and the request path performs no GitHub, Steam, Inventory, broker, or proxy call.

Detailed behavior

Lists CS2 definitions imported from a pinned ByMykel/CSGO-API all.json revision into an immutable local PostgreSQL generation. app_id is fixed to 730 and the request path performs no GitHub, Steam, Inventory, broker, or proxy call. Flat mode is the default; grouped=true paginates complete source-provided variant groups. Source-backed weapon_type, item_slug, rarity_color, StatTrak/Souvenir flags, and float bounds are included when available. market_url is derived from the exact Steam market_hash_name. legacy is nullable because the pinned source does not currently publish that attribute. An image_url is returned only when the source supplies an official HTTPS Steam image on community.akamai.steamstatic.com/economy/image/ or cdn.steamstatic.com/apps/730/icons/; GitHub-hosted and every other image URL are omitted. Cursors bind all filters and the immutable generation. A successful response costs one credit and requires the cs2 product entitlement plus catalog:read scope.

Authentication
API key via ?key=
Credits
1 creditA successful flat or grouped catalog page costs one credit.
Rate limit
CS2 catalog limitsThe account, cs2 product, and catalog quota-group minute, UTC-day, and UTC-month limits apply once per page.

Parameters

12
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

languageOptionalquery · string

Localizes human-readable display fields. Stable IDs, item_type, phase, wear, market_hash_name, and image_url never change. If the current generation has no complete requested locale, fields fall back to English.

Default
en
Allowed
bg, cs, da, de, el, en, es-ES, es-MX, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ro, ru, sv, th, tr, uk, vi, zh-CN, zh-TW
searchOptionalquery · string

Case-insensitive substring over the source-provided definition name. The canonical UTF-8 value contains no control or surrounding whitespace and occupies 3-128 bytes.

def_indexOptionalquery · integer · int64

Exact positive CS2 definition index.

paint_indexOptionalquery · integer · int64

Exact CS2 paint index. Zero is a valid explicit value.

groupedOptionalquery · boolean

False paginates individual definitions; true paginates complete explicit variant groups.

Default
false
show_allOptionalquery · boolean

Include definitions without a public Steam Community market identity. Set false to keep only source-default-visible definitions.

Default
true
preview_onlyOptionalquery · boolean

Return only definitions without an exact market_hash_name match in the atomically selected Steam item-catalog generation. The compatibility alias preview has identical semantics.

Default
false
only_phasesOptionalquery · boolean

Return only definitions with a non-empty explicit source phase.

Default
false
limitOptionalquery · integer

Top-level page size. Grouped mode defaults to 50 and allows at most 100 groups; flat mode defaults to 100 and allows at most 200 definitions. Not accepted with group_by.

cursorOptionalquery · string

Opaque mode-specific keyset cursor (`c2g1_` grouped or `c2m1_` flat). Reuse it with the same filters; it expires after 24 hours or either generation changes. Not accepted with group_by.

prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/cs2/facets

Read one complete bounded CS2 catalog facet

Base URL/v1/steam/cs2/facets

Returns one sorted, unpaginated projection of at most 50,000 unique non-empty values from the same immutable CS2 catalog used by the items endpoint. app_id is fixed to 730.

Detailed behavior

Returns one sorted, unpaginated projection of at most 50,000 unique non-empty values from the same immutable CS2 catalog used by the items endpoint. app_id is fixed to 730. def_index and paint_index values are JSON integers; every other field contains strings. The request path performs no upstream network call. A successful response costs one credit and requires the cs2 product entitlement plus catalog:read scope.

Authentication
API key via ?key=
Credits
1 creditA successful complete facet projection costs one credit.
Rate limit
CS2 catalog limitsThe account, cs2 product, and catalog quota-group minute, UTC-day, and UTC-month limits apply once per facet read.

Parameters

10
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

languageOptionalquery · string

Localizes human-readable display fields. Stable IDs, item_type, phase, wear, market_hash_name, and image_url never change. If the current generation has no complete requested locale, fields fall back to English.

Default
en
Allowed
bg, cs, da, de, el, en, es-ES, es-MX, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ro, ru, sv, th, tr, uk, vi, zh-CN, zh-TW
fieldRequiredquery · string

Exact complete distinct projection to return. category, rarity, item_name, collection, group_name, and wear_name follow language; numeric index fields are JSON integers and stable fields are unchanged.

Allowed
item_type, category, item_name, collection, wear, wear_name, group_name, rarity, phase, def_index, paint_index, market_hash_name
searchOptionalquery · string

Case-insensitive substring over the source-provided definition name. The canonical UTF-8 value contains no control or surrounding whitespace and occupies 3-128 bytes.

def_indexOptionalquery · integer · int64

Exact positive CS2 definition index.

paint_indexOptionalquery · integer · int64

Exact CS2 paint index. Zero is a valid explicit value.

show_allOptionalquery · boolean

Include definitions without a public Steam Community market identity. Set false to keep only source-default-visible definitions.

Default
true
preview_onlyOptionalquery · boolean

Return only definitions without an exact market_hash_name match in the atomically selected Steam item-catalog generation. The compatibility alias preview has identical semantics.

Default
false
only_phasesOptionalquery · boolean

Return only definitions with a non-empty explicit source phase.

Default
false
prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false
GET

/v1/steam/cs2/languages

List supported and currently published CS2 catalog languages

Base URL/v1/steam/cs2/languages

Lists all 28 CSGO-API language identifiers. English is always available.

Detailed behavior

Lists all 28 CSGO-API language identifiers. English is always available. available=true for another language only when a complete localization sidecar matching the current immutable English metadata generation has been published. Requests for unavailable supported languages remain valid and fall back field-by-field to English.

Authentication
API key via ?key=
Credits
1 creditA successful language-availability read costs one credit.
Rate limit
CS2 catalog limitsUses the cs2 catalog quota group and the same account limits as facets.

Parameters

2
keyRequiredSensitivequery · string

Required API-key transport. Pass the active key in the query string on every authenticated request.

prettyOptionalquery · boolean

Set to 1 or true for indented JSON. Omit for compact JSON.

Default
false