App Price List
Endpoint
This endpoint returns a comprehensive pre-generated price list for every market item tracked for a given Steam app — including current price summaries, volume, order book depth, signals, and flags. It's intended for bulk consumers (e.g. syncing a local price cache for an entire app's market).
The endpoint redirects (HTTP 302) to a pre-generated JSON file hosted on SteamApis' CDN. The exact contents of that file depend on your active history plan — plans with more history expose deeper prices windows (for example, 180d and all). Your HTTP client should follow redirects automatically.
{ "success": true, "result": {...} } envelope. The redirected file's top level is directly { metadata, items }.Required parameters
Authentication
Include your API key as the x-api-key request header.
x-api-key: YourSecretAPIKey
Response shape
The redirected file has two top-level keys:
| Field | Type | Description |
|---|---|---|
metadata | object | Information about the snapshot. See fields below. |
items | array | List of item entries. See fields below. |
Metadata fields
| Field | Type | Description |
|---|---|---|
appId | number | The Steam application ID the list was generated for. |
itemCount | number | Number of entries in items. |
generatedAt | number | Unix timestamp (ms) when the snapshot was generated. |
version | number | Snapshot schema version. |
Item fields
| Field | Type | Description |
|---|---|---|
nameId | number | SteamApis' internal numeric item identifier. |
marketName | string | Item's market display name. |
marketHashName | string | Item's market hash name (the canonical URL-safe form). |
firstSeen | number | Unix timestamp (ms) when the item was first observed on the market. |
lastSale | number | Unix timestamp (ms) of the most recent recorded sale. |
prices | object | Price summaries for various time windows. See below. |
volume | object | Sale volume counts for various time windows. See below. |
orderBook | object | Snapshot of the current order book. See below. |
signals | object | Derived signals about the item's market state. See below. |
flags | object | Boolean flags describing the item. See below. |
updatedAt | number | Unix timestamp (ms) when this entry was last refreshed. |
prices
Keyed by time window: recent, 7d, 30d, 90d, 180d, all. Availability of longer windows depends on your history plan. Each window is an object:
| Field | Type | Description |
|---|---|---|
min | number | null | Lowest sale price in the window. null if no sales. |
max | number | null | Highest sale price in the window. |
median | number | null | Median sale price in the window. |
safe | number | null | Conservative "safe" price estimate (a filtered median designed to resist outliers). |
ewma | number | Exponentially-weighted moving average. Present on most windows except recent. |
avg | number | Mean sale price. Present on the all window. |
latest | number | Most recent observed sale price. Present on the all window. |
volume
Number of sales observed per window:
| Field | Type | Description |
|---|---|---|
recent | number | Sales in the most recent tick. |
7d / 30d / 90d / 180d | number | Sales in each rolling window. |
all | number | All-time sales observed. |
orderBook
| Field | Type | Description |
|---|---|---|
highestBuy | number | Highest current buy-order price. |
lowestSell | number | Lowest current sell-order price. |
spread | number | lowestSell - highestBuy. |
spreadPct | number | Spread as a percentage of lowestSell. |
buyDepth | number | Total units across all buy orders. |
sellDepth | number | Total units across all sell orders. |
buyOrdersTop10 | array | Up to 10 highest-priced buy orders as { price, quantity }. |
sellOrdersTop10 | array | Up to 10 lowest-priced sell orders as { price, quantity }. |
imbalanceRatio | number | buyDepth / sellDepth. |
histogramAgeSeconds | number | Age of the underlying order-book histogram in seconds. |
signals
| Field | Type | Description |
|---|---|---|
confidence | string | low, medium, or high. |
confidenceScore | number | Numeric confidence in [0, 1]. |
stale | boolean | Whether the data is considered stale. |
unstable | boolean | Whether the signal is currently unstable. |
unstableReasons | array | String codes (for example "LOW_VOLUME"). |
volatility | number | Recent volatility measure. |
volatility30d | number | 30-day volatility measure. |
liquidity | string | low, medium, or high. |
manipulationRisk | string | none, low, medium, or high. |
manipulationFlags | array | String codes (for example "PRICE_DROP", "WIDE_SPREAD"). |
priceMomentum7d | number | 7-day price momentum. |
volumeTrend | string | stable, declining, rising. |
flags
| Field | Type | Description |
|---|---|---|
commodity | boolean | Whether Steam treats the item as a commodity (fungible stack). |
tradable | boolean | Whether the item can be traded. |
marketable | boolean | Whether the item can be listed on the market. |
Response example
Example output for this endpoint. For brevity's sake, most items were omitted and some windows of each item were trimmed.
{
"metadata": {
"appId": 252490,
"itemCount": 5215,
"generatedAt": 1776562202287,
"version": 2
},
"items": [
{
"nameId": 74287236,
"marketName": "60's Army Jacket",
"marketHashName": "60's Army Jacket",
"firstSeen": 1444341600000,
"lastSale": 1776459600000,
"prices": {
"recent": { "min": 14.89, "max": 14.89, "median": 14.89, "safe": 12.65 },
"7d": { "min": 12.548, "max": 15.887, "median": 14.9, "safe": 13.07, "ewma": 15.01 },
"30d": { "min": 1.49, "max": 17.22, "median": 14.87, "safe": 12.74, "ewma": 14.5 },
"all": { "latest": 14.89, "min": 1.49, "max": 21.369, "avg": 7.23, "median": 5.55, "safe": 5.31, "ewma": 14.91 }
},
"volume": { "recent": 1, "7d": 9, "30d": 43, "90d": 114, "180d": 238, "all": 9513 },
"orderBook": {
"highestBuy": 12.62,
"lowestSell": 15.96,
"spread": 3.34,
"spreadPct": 23.37,
"buyDepth": 9853,
"sellDepth": 110,
"buyOrdersTop10": [
{ "price": 12.62, "quantity": 1 },
{ "price": 12.58, "quantity": 2 }
],
"sellOrdersTop10": [
{ "price": 15.96, "quantity": 1 },
{ "price": 16, "quantity": 2 }
],
"imbalanceRatio": 89.57,
"histogramAgeSeconds": 4048
},
"signals": {
"confidence": "medium",
"confidenceScore": 0.5,
"stale": false,
"unstable": false,
"unstableReasons": [],
"volatility": 0.12,
"volatility30d": 0.12,
"liquidity": "medium",
"manipulationRisk": "low",
"manipulationFlags": ["PRICE_DROP"],
"priceMomentum7d": 0,
"volumeTrend": "stable"
},
"flags": { "commodity": true, "tradable": true, "marketable": true },
"updatedAt": 1776562229774
}
]
}