Предметы

Прайс-лист приложения

Получи полный прайс-лист всех рыночных предметов конкретной Steam-игры. Перенаправляет на заранее сгенерированный файл, содержимое которого зависит от твоего плана истории.

Эндпоинт

Этот endpoint возвращает исчерпывающий заранее сгенерированный прайс-лист для каждого отслеживаемого рыночного предмета указанной Steam-игры — включая текущие сводки по ценам, объёмы, глубину order book, signals и flags. Предназначен для bulk-потребителей (например, для синхронизации локального кеша цен всего рынка приложения).

Endpoint перенаправляет (HTTP 302) на заранее сгенерированный JSON-файл, размещённый в CDN SteamApis. Точное содержимое этого файла зависит от твоего активного плана истории — планы с большей историей открывают более глубокие окна prices (например, 180d и all). Твой HTTP-клиент должен автоматически следовать редиректам.

Поскольку payload заранее сгенерирован и возвращается как обычный файл, ответ не обёрнут в стандартную обёртку { "success": true, "result": {...} }. Верхний уровень перенаправленного файла — это непосредственно { metadata, items }.
GET   /v2/steam/items/{appid}/list

Обязательные параметры

appid
number
Steam application ID, прайс-лист предметов которого ты хочешь получить.

Аутентификация

Включи свой API-ключ в request header x-api-key.

x-api-key: YourSecretAPIKey

Структура ответа

У перенаправленного файла два ключа верхнего уровня:

ПолеТипОписание
metadataobjectИнформация о снапшоте. См. поля ниже.
itemsarrayСписок записей предметов. См. поля ниже.

Поля metadata

ПолеТипОписание
appIdnumberSteam application ID, для которого сгенерирован список.
itemCountnumberКоличество записей в items.
generatedAtnumberUnix timestamp (ms) генерации снапшота.
versionnumberВерсия схемы снапшота.

Поля предмета

ПолеТипОписание
nameIdnumberВнутренний числовой идентификатор предмета в SteamApis.
marketNamestringОтображаемое имя предмета на маркете.
marketHashNamestringMarket hash name предмета (канонический URL-безопасный вид).
firstSeennumberUnix timestamp (ms) первого наблюдения предмета на маркете.
lastSalenumberUnix timestamp (ms) последней зафиксированной продажи.
pricesobjectСводки цен по разным временным окнам. См. ниже.
volumeobjectКоличество продаж по разным временным окнам. См. ниже.
orderBookobjectСнапшот текущего order book. См. ниже.
signalsobjectВыводимые signals о состоянии рынка предмета. См. ниже.
flagsobjectBoolean-флаги, описывающие предмет. См. ниже.
updatedAtnumberUnix timestamp (ms) последнего обновления записи.

prices

Индексируется по временному окну: recent, 7d, 30d, 90d, 180d, all. Доступность длинных окон зависит от твоего плана истории. Каждое окно — объект:

ПолеТипОписание
minnumber | nullМинимальная цена продажи в окне. null, если продаж не было.
maxnumber | nullМаксимальная цена продажи в окне.
mediannumber | nullМедианная цена продажи в окне.
safenumber | nullКонсервативная "безопасная" оценка цены (фильтрованная медиана, устойчивая к выбросам).
ewmanumberЭкспоненциально взвешенное скользящее среднее. Присутствует в большинстве окон, кроме recent.
avgnumberСредняя цена продажи. Присутствует в окне all.
latestnumberПоследняя наблюдаемая цена продажи. Присутствует в окне all.

volume

Количество зафиксированных продаж по окну:

ПолеТипОписание
recentnumberПродажи в последнем тике.
7d / 30d / 90d / 180dnumberПродажи в соответствующем скользящем окне.
allnumberВсе зафиксированные продажи.

orderBook

ПолеТипОписание
highestBuynumberНаивысшая текущая цена buy order.
lowestSellnumberНаинизшая текущая цена sell order.
spreadnumberlowestSell - highestBuy.
spreadPctnumberСпред как процент от lowestSell.
buyDepthnumberВсего единиц по всем buy orders.
sellDepthnumberВсего единиц по всем sell orders.
buyOrdersTop10arrayДо 10 самых дорогих buy orders вида { price, quantity }.
sellOrdersTop10arrayДо 10 самых дешёвых sell orders вида { price, quantity }.
imbalanceRationumberbuyDepth / sellDepth.
histogramAgeSecondsnumberВозраст исходной гистограммы order book в секундах.

signals

ПолеТипОписание
confidencestringlow, medium или high.
confidenceScorenumberЧисловая уверенность в [0, 1].
stalebooleanСчитаются ли данные устаревшими.
unstablebooleanСчитается ли signal сейчас нестабильным.
unstableReasonsarrayСтроковые коды (например, "LOW_VOLUME").
volatilitynumberТекущая мера волатильности.
volatility30dnumber30-дневная мера волатильности.
liquiditystringlow, medium или high.
manipulationRiskstringnone, low, medium или high.
manipulationFlagsarrayСтроковые коды (например, "PRICE_DROP", "WIDE_SPREAD").
priceMomentum7dnumber7-дневное ценовое моментум.
volumeTrendstringstable, declining, rising.

flags

ПолеТипОписание
commoditybooleanСчитает ли Steam предмет commodity (fungible stack).
tradablebooleanМожно ли обмениваться этим предметом.
marketablebooleanМожно ли выставлять предмет на маркет.

Пример ответа

Пример вывода для этого endpoint'а. Для краткости большинство предметов опущено, а часть окон в каждом предмете сокращена.

response.json
{
  "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
    }
  ]
}