Dla programistówAPI działa
openapi.jsonDodaj się do listy
Platforma dla programistów SkinCash

API dla programistów

Darmowy, publiczny kanał cen skinów CS2 (CS:GO) na SkinCash. Stworzony dla porównywarek cen, agregatorów i rozszerzeń przeglądarki. Bez klucza API, bez rejestracji — wystarczy proste żądanie GET.

v1No authJSON + gzipCORS open
skincash — curl
$ curl -s --compressed https://api.skincash.gg/v1/prices
# przykładowa odpowiedź — naciśnij Uruchom, aby odpytać działające API
{
  "currency": "USD",
  "updated_at": "2026-08-05T12:00:00.000Z",
  "count": 25812,
  "items": [
    {
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "price": 14.50,
      "quantity": 12,
      "item_page": "https://skincash.gg/en/market/item/ak-47-redline-field-tested"
    }
  ], …
}

W skrócie

Bazowy URL
https://api.skincash.gg/v1
Uwierzytelnianie
Publiczne · opcjonalny klucz
Format
JSON · gzip · CORS-open
Waluta
USD (2 miejsca po przecinku)
Aktualizacje
Co ~5 minut
Limit zapytań
30–300 / min / IP
01

Szybki start

Pobierz cały działający katalog w jednym żądaniu. Wyślij Accept-Encoding: gzip (opcja --compressed w curl) — pełny kanał to kilka MB w postaci nieskompresowanej.

Request
curl -s --compressed https://api.skincash.gg/v1/prices

Wybrany język pozostaje zapamiętany na całej stronie.

02

Uwierzytelnianie

Nie jest wymagane.

API jest publiczne — każdy punkt końcowy to zwykłe żądanie GET, bez rejestracji, bez OAuth. CORS jest otwarty, więc możesz odpytywać je bezpośrednio z przeglądarki. Po prostu wyślij żądanie:

Public by defaultGET onlyCORS open
Opcjonalnie: partnerski klucz APIwyższe limity

Dostęp anonimowy ma limit zapytań na IP (zobacz Limity zapytań). Jeśli prowadzisz agregator lub rozszerzenie i potrzebujesz więcej, wydajemy darmowy klucz partnerski, który podnosi Twój limit — nic innego się nie zmienia. Wyślij go w nagłówku Authorization: Bearer (lub X-API-Key):

Request
curl -s --compressed \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.skincash.gg/v1/prices

Poproś o klucz pod adresem [email protected]. Przechowuj go po stronie serwera; traktuj jak hasło.

03

Punkty końcowe

GET/api/v1/prices#

Pełny katalog — każdy przedmiot na sprzedaż, najniższa cena zakupu + aktualny stan magazynowy + głęboki link, posortowane od najdroższych. Obsługuje gzip i żądania warunkowe. Wypróbuj na żywo ↑

Request
curl -s --compressed https://api.skincash.gg/v1/prices
Response · 200 OK
{
  "currency": "USD",
  "updated_at": "2026-08-05T12:00:00.000Z",
  "count": 25812,
  "items": [
    {
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "price": 14.50,
      "quantity": 12,
      "item_page": "https://skincash.gg/en/market/item/ak-47-redline-field-tested"
    }
  ]
}
GET/api/v1/prices/{market_hash_name}#

Jeden przedmiot po jego dokładnej nazwie Steam (zakodowanej w URL). Zwraca 404, jeśli nie jest aktualnie na sprzedaż.

Parametr ścieżkimarket_hash_nameciąg znaków · wymaganeDokładna nazwa Steam market_hash_name, zakodowana w URL.
Request
curl -s --compressed \
  "https://api.skincash.gg/v1/prices/AK-47%20%7C%20Redline%20(Field-Tested)"
Response · 200 OK
{
  "currency": "USD",
  "updated_at": "2026-08-05T12:00:00.000Z",
  "market_hash_name": "AK-47 | Redline (Field-Tested)",
  "price": 14.50,
  "quantity": 12,
  "item_page": "https://skincash.gg/en/market/item/ak-47-redline-field-tested"
}
GET/api/v1/catalog#

Metadane przedmiotów — obraz, typ, rzadkość dla każdego przedmiotu na sprzedaż (bez cen). Pozwala renderować i łączyć oferty SkinCash bez scrapowania. Ta sama 5-minutowa pamięć podręczna + warunkowe GET jak w /prices.

Request
curl -s --compressed https://api.skincash.gg/v1/catalog
Response · 200 OK
{
  "updated_at": "2026-08-05T12:00:00.000Z",
  "count": 25812,
  "items": [
    {
      "market_hash_name": "AK-47 | Redline (Field-Tested)",
      "image": "https://cdn.skincash.gg/sc/economy/image/class/730/…",
      "type": "Rifle",
      "rarity": "Classified"
    }
  ]
}
GET/api/v1/openapi.json#

Odczytywalna maszynowo specyfikacja OpenAPI 3.1 dla całego API — pierwszy przystanek dla generatorów kodu, klientów API i LLM.

Request
curl -s https://api.skincash.gg/v1/openapi.json
04

Schemat odpowiedzi

PoleTypOpis
market_hash_namestringDokładna nazwa Steam market_hash_name — kanoniczny klucz łączenia.
pricenumberNajniższa cena zakupu w dolarach USD, 2 miejsca po przecinku (np. 14.50).
quantityintegerLiczba dostępnych sztuk w tej cenie lub wyższej (zawsze ≥ 1).
item_pagestring (url)Kanoniczna strona przedmiotu SkinCash dla danego skina.

Wartość updated_at na poziomie kanału określa świeżość każdego wiersza: wszystkie ceny odświeżają się razem w każdym cyklu (~5 min). Ceny to cena zakupu, którą płaci klient.

05

Wydajne odpytywanie (ETag / 304)

Każda odpowiedź zawiera ETag i Last-Modified. Odeślij je przy kolejnym odpytaniu, aby otrzymać tanie 304 Not Modified (bez treści), gdy nic się nie zmieniło — odpytuj tak często, jak chcesz, bez ponownego pobierania katalogu.

200 + ETagIf-None-Match304 · no body
Request
# Save the ETag from the first response, then:
curl -s -o /dev/null -w "%{http_code}\n" \
  -H 'If-None-Match: "your-saved-etag"' \
  https://api.skincash.gg/v1/prices
# -> 304 when unchanged, 200 (with body) when refreshed
06

Limity zapytań

30/ min / IP

Pełne zrzuty — /prices, /catalog

300/ min / IP

Lekkie odczyty — /prices/{name}, /search

Limity są liczone na IP i podzielone według wagi odpowiedzi. Kanał jest buforowany, więc przy żądaniach warunkowych 5-minutowe odpytywanie nigdy nawet się do nich nie zbliża. Przekroczenie limitu zwraca 429 RATE_LIMITED z nagłówkiem Retry-After. Potrzebujesz wyższych limitów dla integracji o dużym ruchu? Napisz do nas w sprawie klucza partnerskiego.

07

Wersjonowanie i stabilność

API jest wersjonowane w ścieżce (/v1). W obrębie danej wersji tylko dodajemy pola — istniejące pole nigdy nie jest zmieniane nazwą, usuwane ani przetypowywane, więc Twój parser się nie zepsuje. Zmiany łamiące zgodność są wdrażane jako nowa wersja, z wyprzedzeniem.

Tylko dodawanieBrak cichych awariiNowe wersje zapowiadane
08

Błędy

Błędy zawsze mają jeden spójny kształt treści:

Response · 4xx
{
  "success": false,
  "error": {
    "error_code": "NOT_FOUND",
    "message": "No live price for this item."
  }
}
Statuserror_codeKiedy
400BAD_NAMEmarket_hash_name jest puste lub dłuższe niż 200 znaków.
404NOT_FOUNDPrzedmiot nie jest aktualnie na sprzedaż.
429RATE_LIMITEDPrzekroczono limit na minutę.

Prowadzisz agregator lub rozszerzenie?

Dodaj SkinCash jako źródło — powyższy kanał jest gotowy do użycia już dziś. Chętnie dopasujemy się do Twojej specyfikacji pozyskiwania danych, dodamy pola lub ustalimy współpracę partnerską. Napisz do nas, a zadziałamy szybko.

[email protected]
© 2026 SkinCash · Dane cenowe są udostępniane w stanie takim, w jakim są, do celów porównawczych i informacyjnych. Podanie źródła mile widziane.Czytasz to jako LLM? Zacznij od /llms.txt lub openapi.json