Przedmioty

Lista cen aplikacji

Pobierz pełną listę cen wszystkich przedmiotów rynkowych danej aplikacji Steam. Przekierowuje do wcześniej wygenerowanego pliku, którego zawartość zależy od twojego planu historii.

Endpoint

Ten endpoint zwraca kompletną wcześniej wygenerowaną listę cen dla każdego śledzonego przedmiotu rynkowego danej aplikacji Steam — wraz z aktualnymi podsumowaniami cen, wolumenem, głębokością order booka, signals i flags. Jest przeznaczony dla bulk consumers (np. synchronizacji lokalnego cache cen dla całego rynku aplikacji).

Endpoint przekierowuje (HTTP 302) do wcześniej wygenerowanego pliku JSON hostowanego w CDN SteamApis. Dokładna zawartość tego pliku zależy od twojego aktywnego planu historii — plany z większą historią udostępniają głębsze okna prices (np. 180d i all). Twój klient HTTP powinien automatycznie podążać za przekierowaniami.

Ponieważ payload jest wcześniej wygenerowany i zwracany jako zwykły plik, odpowiedź nie jest opakowana w standardową kopertę { "success": true, "result": {...} }. Najwyższy poziom przekierowanego pliku to bezpośrednio { metadata, items }.
GET   /v2/steam/items/{appid}/list

Wymagane parametry

appid
number
Steam application ID, którego listę cen przedmiotów chcesz pobrać.

Uwierzytelnianie

Dołącz swój klucz API jako header x-api-key.

x-api-key: YourSecretAPIKey

Struktura odpowiedzi

Przekierowany plik ma dwa klucze najwyższego poziomu:

PoleTypOpis
metadataobjectInformacje o snapshocie. Patrz pola poniżej.
itemsarrayLista wpisów przedmiotów. Patrz pola poniżej.

Pola metadata

PoleTypOpis
appIdnumberSteam application ID, dla którego wygenerowano listę.
itemCountnumberLiczba wpisów w items.
generatedAtnumberUnix timestamp (ms) wygenerowania snapshota.
versionnumberWersja schematu snapshota.

Pola przedmiotu

PoleTypOpis
nameIdnumberWewnętrzny numeryczny identyfikator przedmiotu w SteamApis.
marketNamestringNazwa wyświetlana przedmiotu na rynku.
marketHashNamestringMarket hash name przedmiotu (kanoniczna forma bezpieczna w URL-u).
firstSeennumberUnix timestamp (ms) pierwszej obserwacji przedmiotu na rynku.
lastSalenumberUnix timestamp (ms) ostatniej zarejestrowanej sprzedaży.
pricesobjectPodsumowania cen dla różnych okien czasowych. Patrz poniżej.
volumeobjectLiczba sprzedaży dla różnych okien czasowych. Patrz poniżej.
orderBookobjectSnapshot aktualnego order booka. Patrz poniżej.
signalsobjectWyprowadzone signals o stanie rynku przedmiotu. Patrz poniżej.
flagsobjectFlagi boolean opisujące przedmiot. Patrz poniżej.
updatedAtnumberUnix timestamp (ms) ostatniego odświeżenia wpisu.

prices

Indeksowane po oknie czasowym: recent, 7d, 30d, 90d, 180d, all. Dostępność dłuższych okien zależy od twojego planu historii. Każde okno to obiekt:

PoleTypOpis
minnumber | nullNajniższa cena sprzedaży w oknie. null, jeśli brak sprzedaży.
maxnumber | nullNajwyższa cena sprzedaży w oknie.
mediannumber | nullMediana ceny sprzedaży w oknie.
safenumber | nullKonserwatywna "bezpieczna" estymacja ceny (filtrowana mediana odporna na outliery).
ewmanumberWykładniczo ważona średnia ruchoma. Obecne w większości okien poza recent.
avgnumberŚrednia cena sprzedaży. Obecne w oknie all.
latestnumberOstatnio zaobserwowana cena sprzedaży. Obecne w oknie all.

volume

Liczba zaobserwowanych sprzedaży na okno:

PoleTypOpis
recentnumberSprzedaże w ostatnim ticku.
7d / 30d / 90d / 180dnumberSprzedaże w poszczególnych oknach rolujących.
allnumberWszystkie zaobserwowane sprzedaże.

orderBook

PoleTypOpis
highestBuynumberNajwyższa aktualna cena buy order.
lowestSellnumberNajniższa aktualna cena sell order.
spreadnumberlowestSell - highestBuy.
spreadPctnumberSpread jako procent lowestSell.
buyDepthnumberŁączne jednostki we wszystkich buy orderach.
sellDepthnumberŁączne jednostki we wszystkich sell orderach.
buyOrdersTop10arrayDo 10 najwyżej wycenionych buy orderów jako { price, quantity }.
sellOrdersTop10arrayDo 10 najniżej wycenionych sell orderów jako { price, quantity }.
imbalanceRationumberbuyDepth / sellDepth.
histogramAgeSecondsnumberWiek bazowego histogramu order booka w sekundach.

signals

PoleTypOpis
confidencestringlow, medium lub high.
confidenceScorenumberNumeryczna pewność w [0, 1].
stalebooleanCzy dane są uznawane za nieaktualne.
unstablebooleanCzy signal jest obecnie niestabilny.
unstableReasonsarrayKody string (np. "LOW_VOLUME").
volatilitynumberBieżąca miara volatility.
volatility30dnumber30-dniowa miara volatility.
liquiditystringlow, medium lub high.
manipulationRiskstringnone, low, medium lub high.
manipulationFlagsarrayKody string (np. "PRICE_DROP", "WIDE_SPREAD").
priceMomentum7dnumber7-dniowe momentum cenowe.
volumeTrendstringstable, declining, rising.

flags

PoleTypOpis
commoditybooleanCzy Steam traktuje przedmiot jako commodity (wymienny stack).
tradablebooleanCzy przedmiot można wymieniać.
marketablebooleanCzy przedmiot można wystawić na market.

Przykład odpowiedzi

Przykładowy output dla tego endpointu. Dla zwięzłości większość przedmiotów została pominięta, a część okien w każdym przedmiocie skrócona.

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
    }
  ]
}