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.
# 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
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.
curl -s --compressed https://api.skincash.gg/v1/pricesWybrany język pozostaje zapamiętany na całej stronie.
Uwierzytelnianie
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:
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):
curl -s --compressed \
-H "Authorization: Bearer YOUR_API_KEY" \
https://api.skincash.gg/v1/pricesPoproś o klucz pod adresem [email protected]. Przechowuj go po stronie serwera; traktuj jak hasło.
Punkty końcowe
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 ↑
curl -s --compressed https://api.skincash.gg/v1/prices{
"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"
}
]
}Jeden przedmiot po jego dokładnej nazwie Steam (zakodowanej w URL). Zwraca 404, jeśli nie jest aktualnie na sprzedaż.
market_hash_nameciąg znaków · wymaganeDokładna nazwa Steam market_hash_name, zakodowana w URL.curl -s --compressed \
"https://api.skincash.gg/v1/prices/AK-47%20%7C%20Redline%20(Field-Tested)"{
"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"
}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.
curl -s --compressed https://api.skincash.gg/v1/catalog{
"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"
}
]
}Wyszukiwanie przedmiotów po (częściowej) nazwie → cena zakupu + kanoniczny głęboki link. Powierzchnia porównania i przejścia do zakupu dla narzędzi do porównywania cen i rozszerzeń przeglądarki. Dopasowania dokładne/z przedrostkiem są wyżej w rankingu.
qciąg znaków · wymagane2–200 znaków, bez rozróżniania wielkości liter.limitliczba całkowita · opcjonalne1–100, domyślnie 50.curl -s "https://api.skincash.gg/v1/search?q=redline&limit=5"{
"currency": "USD",
"updated_at": "2026-08-05T12:00:00.000Z",
"query": "redline",
"count": 1,
"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"
}
]
}Odczytywalna maszynowo specyfikacja OpenAPI 3.1 dla całego API — pierwszy przystanek dla generatorów kodu, klientów API i LLM.
curl -s https://api.skincash.gg/v1/openapi.jsonSchemat odpowiedzi
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.
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.
# 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 refreshedLimity zapytań
Pełne zrzuty — /prices, /catalog
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.
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.
Błędy
Błędy zawsze mają jeden spójny kształt treści:
{
"success": false,
"error": {
"error_code": "NOT_FOUND",
"message": "No live price for this item."
}
}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]