Lista cen aplikacji
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.
{ "success": true, "result": {...} }. Najwyższy poziom przekierowanego pliku to bezpośrednio { metadata, items }.Wymagane parametry
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:
| Pole | Typ | Opis |
|---|---|---|
metadata | object | Informacje o snapshocie. Patrz pola poniżej. |
items | array | Lista wpisów przedmiotów. Patrz pola poniżej. |
Pola metadata
| Pole | Typ | Opis |
|---|---|---|
appId | number | Steam application ID, dla którego wygenerowano listę. |
itemCount | number | Liczba wpisów w items. |
generatedAt | number | Unix timestamp (ms) wygenerowania snapshota. |
version | number | Wersja schematu snapshota. |
Pola przedmiotu
| Pole | Typ | Opis |
|---|---|---|
nameId | number | Wewnętrzny numeryczny identyfikator przedmiotu w SteamApis. |
marketName | string | Nazwa wyświetlana przedmiotu na rynku. |
marketHashName | string | Market hash name przedmiotu (kanoniczna forma bezpieczna w URL-u). |
firstSeen | number | Unix timestamp (ms) pierwszej obserwacji przedmiotu na rynku. |
lastSale | number | Unix timestamp (ms) ostatniej zarejestrowanej sprzedaży. |
prices | object | Podsumowania cen dla różnych okien czasowych. Patrz poniżej. |
volume | object | Liczba sprzedaży dla różnych okien czasowych. Patrz poniżej. |
orderBook | object | Snapshot aktualnego order booka. Patrz poniżej. |
signals | object | Wyprowadzone signals o stanie rynku przedmiotu. Patrz poniżej. |
flags | object | Flagi boolean opisujące przedmiot. Patrz poniżej. |
updatedAt | number | Unix 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:
| Pole | Typ | Opis |
|---|---|---|
min | number | null | Najniższa cena sprzedaży w oknie. null, jeśli brak sprzedaży. |
max | number | null | Najwyższa cena sprzedaży w oknie. |
median | number | null | Mediana ceny sprzedaży w oknie. |
safe | number | null | Konserwatywna "bezpieczna" estymacja ceny (filtrowana mediana odporna na outliery). |
ewma | number | Wykładniczo ważona średnia ruchoma. Obecne w większości okien poza recent. |
avg | number | Średnia cena sprzedaży. Obecne w oknie all. |
latest | number | Ostatnio zaobserwowana cena sprzedaży. Obecne w oknie all. |
volume
Liczba zaobserwowanych sprzedaży na okno:
| Pole | Typ | Opis |
|---|---|---|
recent | number | Sprzedaże w ostatnim ticku. |
7d / 30d / 90d / 180d | number | Sprzedaże w poszczególnych oknach rolujących. |
all | number | Wszystkie zaobserwowane sprzedaże. |
orderBook
| Pole | Typ | Opis |
|---|---|---|
highestBuy | number | Najwyższa aktualna cena buy order. |
lowestSell | number | Najniższa aktualna cena sell order. |
spread | number | lowestSell - highestBuy. |
spreadPct | number | Spread jako procent lowestSell. |
buyDepth | number | Łączne jednostki we wszystkich buy orderach. |
sellDepth | number | Łączne jednostki we wszystkich sell orderach. |
buyOrdersTop10 | array | Do 10 najwyżej wycenionych buy orderów jako { price, quantity }. |
sellOrdersTop10 | array | Do 10 najniżej wycenionych sell orderów jako { price, quantity }. |
imbalanceRatio | number | buyDepth / sellDepth. |
histogramAgeSeconds | number | Wiek bazowego histogramu order booka w sekundach. |
signals
| Pole | Typ | Opis |
|---|---|---|
confidence | string | low, medium lub high. |
confidenceScore | number | Numeryczna pewność w [0, 1]. |
stale | boolean | Czy dane są uznawane za nieaktualne. |
unstable | boolean | Czy signal jest obecnie niestabilny. |
unstableReasons | array | Kody string (np. "LOW_VOLUME"). |
volatility | number | Bieżąca miara volatility. |
volatility30d | number | 30-dniowa miara volatility. |
liquidity | string | low, medium lub high. |
manipulationRisk | string | none, low, medium lub high. |
manipulationFlags | array | Kody string (np. "PRICE_DROP", "WIDE_SPREAD"). |
priceMomentum7d | number | 7-dniowe momentum cenowe. |
volumeTrend | string | stable, declining, rising. |
flags
| Pole | Typ | Opis |
|---|---|---|
commodity | boolean | Czy Steam traktuje przedmiot jako commodity (wymienny stack). |
tradable | boolean | Czy przedmiot można wymieniać. |
marketable | boolean | Czy 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.
{
"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
}
]
}