Lista de preços da app
Endpoint
Este endpoint retorna uma lista de preços pré-gerada e abrangente para cada item de mercado rastreado para uma dada app Steam — incluindo resumos de preço atuais, volume, profundidade de order book, signals e flags. Destina-se a bulk consumers (por exemplo, sincronizar uma cache local de preços para todo o mercado de uma app).
O endpoint redireciona (HTTP 302) para um ficheiro JSON pré-gerado alojado no CDN da SteamApis. O conteúdo exato desse ficheiro depende do teu plano de histórico ativo — planos com mais histórico expõem janelas de prices mais profundas (por exemplo, 180d e all). O teu cliente HTTP deve seguir redirecionamentos automaticamente.
{ "success": true, "result": {...} }. O nível superior do ficheiro redirecionado é diretamente { metadata, items }.Parâmetros obrigatórios
Autenticação
Inclua sua API key no header x-api-key.
x-api-key: YourSecretAPIKey
Estrutura da resposta
O ficheiro redirecionado tem duas chaves de topo:
| Campo | Tipo | Descrição |
|---|---|---|
metadata | object | Informação sobre o snapshot. Vê os campos abaixo. |
items | array | Lista de entradas de itens. Vê os campos abaixo. |
Campos metadata
| Campo | Tipo | Descrição |
|---|---|---|
appId | number | O Steam application ID para o qual a lista foi gerada. |
itemCount | number | Número de entradas em items. |
generatedAt | number | Unix timestamp (ms) da geração do snapshot. |
version | number | Versão do schema do snapshot. |
Campos do item
| Campo | Tipo | Descrição |
|---|---|---|
nameId | number | Identificador numérico interno do item no SteamApis. |
marketName | string | Nome de exibição do item no mercado. |
marketHashName | string | Market hash name do item (forma canónica URL-safe). |
firstSeen | number | Unix timestamp (ms) da primeira observação no mercado. |
lastSale | number | Unix timestamp (ms) da venda mais recente registada. |
prices | object | Resumos de preço para várias janelas de tempo. Vê abaixo. |
volume | object | Contagem de vendas para várias janelas de tempo. Vê abaixo. |
orderBook | object | Snapshot do order book atual. Vê abaixo. |
signals | object | Signals derivados do estado de mercado do item. Vê abaixo. |
flags | object | Flags booleanas que descrevem o item. Vê abaixo. |
updatedAt | number | Unix timestamp (ms) do último refresh desta entrada. |
prices
Indexado por janela de tempo: recent, 7d, 30d, 90d, 180d, all. A disponibilidade de janelas mais longas depende do teu plano de histórico. Cada janela é um objeto:
| Campo | Tipo | Descrição |
|---|---|---|
min | number | null | Preço de venda mais baixo na janela. null se não houver vendas. |
max | number | null | Preço de venda mais alto na janela. |
median | number | null | Mediana do preço de venda na janela. |
safe | number | null | Estimativa conservadora de preço "safe" (mediana filtrada resistente a outliers). |
ewma | number | Média móvel exponencialmente ponderada. Presente na maioria das janelas exceto recent. |
avg | number | Preço médio de venda. Presente na janela all. |
latest | number | Preço de venda observado mais recente. Presente na janela all. |
volume
Número de vendas observadas por janela:
| Campo | Tipo | Descrição |
|---|---|---|
recent | number | Vendas no tick mais recente. |
7d / 30d / 90d / 180d | number | Vendas em cada janela rolante. |
all | number | Todas as vendas observadas. |
orderBook
| Campo | Tipo | Descrição |
|---|---|---|
highestBuy | number | Preço atual mais alto de buy order. |
lowestSell | number | Preço atual mais baixo de sell order. |
spread | number | lowestSell - highestBuy. |
spreadPct | number | Spread como percentagem de lowestSell. |
buyDepth | number | Total de unidades em todas as buy orders. |
sellDepth | number | Total de unidades em todas as sell orders. |
buyOrdersTop10 | array | Até 10 buy orders mais caras como { price, quantity }. |
sellOrdersTop10 | array | Até 10 sell orders mais baratas como { price, quantity }. |
imbalanceRatio | number | buyDepth / sellDepth. |
histogramAgeSeconds | number | Idade do histograma subjacente do order book em segundos. |
signals
| Campo | Tipo | Descrição |
|---|---|---|
confidence | string | low, medium ou high. |
confidenceScore | number | Confiança numérica em [0, 1]. |
stale | boolean | Se os dados são considerados stale. |
unstable | boolean | Se o signal está atualmente instável. |
unstableReasons | array | Códigos em string (por exemplo "LOW_VOLUME"). |
volatility | number | Medida de volatilidade recente. |
volatility30d | number | Medida de volatilidade a 30 dias. |
liquidity | string | low, medium ou high. |
manipulationRisk | string | none, low, medium ou high. |
manipulationFlags | array | Códigos em string (por exemplo "PRICE_DROP", "WIDE_SPREAD"). |
priceMomentum7d | number | Momentum de preço a 7 dias. |
volumeTrend | string | stable, declining, rising. |
flags
| Campo | Tipo | Descrição |
|---|---|---|
commodity | boolean | Se a Steam trata o item como commodity (stack fungível). |
tradable | boolean | Se o item pode ser trocado. |
marketable | boolean | Se o item pode ser listado no mercado. |
Exemplo de resposta
Exemplo de output para este endpoint. Por brevidade, a maioria dos itens foi omitida e algumas janelas de cada item foram reduzidas.
{
"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
}
]
}