API REST en lecture seule sur le catalogue Skinlooters : recherche de skins, meilleures offres par marketplace et historique de prix, pour CS2, Rust, TF2 et Dota 2.
Toutes les routes sont préfixées par /v1/public. Le numéro de version ne change qu'en cas de rupture de compatibilité : l'ajout d'un champ dans une réponse n'en est pas une, votre intégration doit ignorer les champs qu'elle ne connaît pas.
https://api.skinlooters.com/v1/public
Authentification
Chaque requête doit porter votre clé dans l'en-tête X-Api-Key. Elle vous est envoyée par email à la confirmation de l'abonnement, et reste consultable (et régénérable) depuis votre backoffice.
La clé vaut mot de passe : appelez l'API depuis votre serveur, jamais depuis un front web ou une app mobile où elle serait lisible. En cas de fuite, régénérez-la depuis le backoffice — l'ancienne est révoquée immédiatement.
Quotas et limites
Le quota est journalier et se remet à zéro à minuit UTC. Chaque réponse porte l'état courant du compteur :
Champ
Type
Description
X-RateLimit-Limit
integer
Quota journalier de votre formule.
X-RateLimit-Remaining
integer
Nombre d'appels restants sur la journée UTC en cours.
Au-delà, l'API répond 429. Les appels hors quota sont comptés : réessayer en boucle ne débloque rien avant la remise à zéro.
Pagination
La liste est paginée par page (1 à 1000) et limit (1 à 100, 30 par défaut). Les valeurs hors bornes sont ramenées à la borne la plus proche plutôt que rejetées, et le nombre total d'éléments correspondants est renvoyé dans total. Pour parcourir un catalogue entier, itérez sur page jusqu'à couvrir total.
Prix et devises
Tous les prix sont des entiers en centimes, jamais des flottants — 2439 signifie 24,39. best_price est exprimé dans la devise native de l'offre (best_currency) ; sur le détail d'un skin, chaque offre porte en plus price_usd_cents, converti au taux du jour, pour comparer des offres de devises différentes sans refaire la conversion.
Endpoints
GET/v1/public/skins
Lister et rechercher des skins
Le catalogue paginé, filtré et trié. Seuls les skins ayant au moins une offre active sont renvoyés.
Un skin, la totalité de ses offres actives triées de la moins chère à la plus chère, et ses 200 derniers relevés de prix. Le slug est celui renvoyé par la liste.
Série temporelle par marketplace. Les points de moins de 30 jours sont renvoyés bruts (un point par relevé) ; au-delà, ils sont moyennés à un point par marketplace et par jour, pour qu'une fenêtre de 90 jours reste traçable sans renvoyer des milliers de points.
category, wear et stattrak sont des notions propres à CS2 : sur les autres jeux, ces filtres ne renvoient rien.
Erreurs
Code
Corps
Description
401
{"error":"missing_api_key"}
En-tête X-Api-Key absent.
401
{"error":"invalid_api_key"}
Clé inconnue, révoquée ou désactivée.
404
{"error":"not_found"}
Aucun skin ne correspond à ce slug.
429
{"error":"quota_exceeded"}
Quota journalier dépassé, réessayez après minuit UTC.
Fraîcheur des données
Les offres sont réingérées en continu ; updated_at sur chaque offre dit exactement quand cette ligne a été revue. Inutile d'interroger le même skin plus souvent que toutes les quelques minutes : la réponse ne bougera pas et la requête sera décomptée du quota.
Support
Une question, un champ manquant, un besoin de volume au-delà du plan Pro ? hello@skinlooters.com