Comment extraire les données de revente de StockX & GOAT pour la recherche de marché

L'API officielle de StockX est conçue pour les vendeurs et limitée à 25 000 appels par jour. Pour la recherche de marché, vous vous tournez vers les pages publiques — voici comment extraire proprement l'historique des prix, les écarts de taille et les signaux de tendance.

La revente de sneakers est un véritable marché avec une véritable découverte des prix, et StockX et GOAT sont ses deux plus grands carnets d'ordres. Si vous souhaitez étudier ce marché — suivre l'historique des prix, mesurer les écarts de taille, repérer quelles sorties gagnent en popularité — l'instinct est de se tourner vers l'API officielle de StockX. C'est généralement le mauvais outil. L'API développeur de StockX est conçue pour les vendeurs : elle s'authentifie avec OAuth 2.0 derrière une porte d'approbation, existe pour placer et gérer des annonces et des commandes, et est limitée à 25 000 requêtes par période de 24 heures à une requête par seconde, avec un 429 strict dès que vous dépassez cette limite. Elle donne à un vendeur son propre inventaire, pas à un chercheur l'ensemble du marché. Pour la recherche de marché, les données se trouvent sur les pages publiques des produits. Ce guide montre comment les collecter proprement.

Pourquoi l'API officielle de StockX est le mauvais outil pour la recherche

Le portail développeur est explicite sur son objectif : recherche de catalogue, gestion des annonces et gestion des commandes. Même les vendeurs sur la plateforme signalent de longues attentes et des rejets pour obtenir l'accès à l'API approuvé en premier lieu. Et le plafond de taux — 25 000 appels par jour, opérations par lots limitées à 500 articles toutes les 5 minutes jusqu'à 50 000 articles par jour — est généreux pour gérer votre propre boutique mais minuscule pour examiner des milliers de styles à travers plusieurs tailles et les deux marketplaces. Essentiellement, il ne vous fournit pas un flux de marché historique : les chiffres qu'un chercheur veut — les hauts et bas annuels, la volatilité, la prime de prix par rapport au détail, la vitesse des ventes par taille — sont calculés et affichés sur les pages publiques, non exposés comme un point de terminaison de recherche en vrac.

Donc la division pratique est simple. Utilisez l'API officielle si vous êtes un vendeur automatisant vos propres demandes. Utilisez les pages publiques, collectées de manière responsable, si vous faites de l'intelligence des prix ou de la recherche de tendances. La même logique s'applique à travers la revente et le détail — nous parcourons la version générale dans la surveillance des prix à grande échelle.

Il y a aussi un problème de couverture que l'API ne peut pas résoudre. Les prix de revente sont sensibles à la géographie : la même paire porte une prime différente sur un marché américain que sur un marché européen ou japonais, car l'offre, les taxes et la demande diffèrent selon la région. Un chercheur mesurant le marché mondial doit lire chaque produit depuis plusieurs pays, ce que l'API vendeur n'est pas conçue pour faire mais qu'un pool résidentiel rotatif avec ciblage par pays gère par défaut. Cette dimension géographique est souvent là où se cache l'arbitrage intéressant.

Quelles données contient une page produit StockX ou GOAT

Chaque page produit contient une charge utile étonnamment riche une fois que vous analysez le JSON intégré qui l'hydrate. Par style, vous pouvez lire un SKU et un UPC stables, et par taille une tranche complète du carnet d'ordres :

Comparaison de l'API officielle de StockX contre l'extraction des pages publiques de produits pour la recherche de marché des sneakers, montrant les plafonds de taux par rapport aux signaux disponibles
L'API officielle est un outil de vente limité à 25 000 appels par jour ; les pages publiques contiennent l'historique des prix, les écarts de taille et la vitesse dont la recherche de marché a réellement besoin.

Récupérer les pages sans être bloqué

StockX et GOAT sont protégés par une gestion sérieuse des bots, et une IP de centre de données frappant le JSON des produits à plusieurs reprises est mise au défi après quelques requêtes. Deux éléments maintiennent la collecte en vie : des IPs de sortie résidentielles qui ressemblent à des acheteurs ordinaires, et une rotation par requête pour qu'aucune adresse unique ne construise un schéma suspect. Grâce aux proxies résidentiels — 90M+ IPs à travers 200+ pays — chaque requête provient d'une adresse de ménage différente :

import requests, json

proxies = {
    "http":  "http://USER:PASS@gate.quantumproxies.io:PORT",
    "https": "http://USER:PASS@gate.quantumproxies.io:PORT",
}
headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"}

url = "https://stockx.com/air-jordan-1-retro-high-og-example"
html = requests.get(url, proxies=proxies, headers=headers, timeout=(5, 30)).text

# Product data hydrates from an embedded JSON blob, not the visible HTML.
start = html.find('{"props":')
blob = json.loads(html[start:html.rindex("}", 0, html.find("</script>", start)) + 1])
# Walk blob -> product -> market to reach asks, bids and statistics.

Lorsque la page renvoie une coquille presque vide au lieu du JSON, elle a été servie en version rendue côté client ou avec défi — un symptôme que nous décomposons dans page vide, données manquantes. C'est le point pour passer des proxies bruts à une récupération gérée. L'Scraper API rend JavaScript à la demande et renvoie du JSON propre ou du markdown, vous évitant de maintenir vous-même des navigateurs sans tête et des analyseurs :

curl -G "https://api.quantumproxies.io/scrape" \
  --data-urlencode "url=https://stockx.com/air-jordan-1-retro-high-og-example" \
  --data-urlencode "render=true" \
  --data-urlencode "country=us" \
  -H "Authorization: Bearer YOUR_API_KEY"

Transformer les demandes brutes en signaux de recherche

Une fois les variantes analysées, l'analyse est une petite arithmétique qui transforme un mur de chiffres en décisions. L'écart de taille — l'écart entre la taille la moins chère et la plus chère — révèle quelles tailles sont rares, et la prime par rapport au détail sépare le véritable engouement du bruit marketing :

def size_spread(variants):
    asks = [v["lowest_ask"] for v in variants if v.get("lowest_ask")]
    return {
        "cheapest_size": min(asks),
        "priciest_size": max(asks),
        "spread_pct": round((max(asks) - min(asks)) / min(asks) * 100, 1),
    }

def hype_score(stats, retail):
    premium = (stats["annual_average_price"] - retail) / retail
    return round(premium * 100, 1)  # % over retail; negative = a dud

Exécutez cela sur une liste de surveillance selon un calendrier quotidien et vous avez un indice de revente : une vitesse croissante plus une prime croissante est un signal de chaleur précoce, tandis que des ventes en baisse et une prime rétrécissante marquent un déclin. La comparaison de StockX avec GOAT pour le même SKU expose l'arbitrage et confirme quelle plateforme mène la découverte des prix pour une catégorie donnée. Si votre liste de surveillance comprend des milliers de styles, contrôlez votre facture avec les tactiques dans réduction des coûts de bande passante des proxies — vous n'avez rarement besoin d'images, seulement du JSON.

Une note sur la conduite : il s'agit de recherche de marché sur des données de prix publiques, non personnelles, ce qui est le faible risque de l'extraction, mais vous devez toujours respecter les conditions de service de chaque plateforme et vous limiter poliment. Ceci est un guide, pas un conseil juridique.

Panneau statistique des champs de données de revente de sneakers : plafond API de 25 000 par jour, prime de prix moyenne de 25 pour cent, fenêtres de ventes de 15 à 60 jours et un an d'historique des prix
Les signaux qui comptent sont la vitesse et la prime : une paire en vogue se situe bien au-dessus du détail avec des ventes rapides, un flop se situe en dessous et stagne.

Questions fréquemment posées

StockX a-t-il une API officielle ?

Oui, mais c'est un outil pour les vendeurs, pas un service de données de marché. L'API développeur de StockX s'authentifie avec OAuth 2.0 derrière un processus d'approbation et couvre la recherche de catalogue, la gestion des annonces et la gestion des commandes. Elle est limitée à 25 000 requêtes par 24 heures à une requête par seconde, et renvoie votre propre activité de vente plutôt qu'un flux historique en vrac du marché plus large.

Existe-t-il une API GOAT pour les prix des sneakers ?

GOAT n'offre pas d'API de prix publique pour les chercheurs. Les agrégateurs tiers et les projets open-source extraient les données de GOAT en analysant ses pages publiques, la même approche que vous prendriez pour StockX. Étant donné que les deux plateformes utilisent une gestion forte des bots, une collecte fiable dépend des IPs résidentielles et de la rotation par requête plutôt que d'un point de terminaison de centre de données.

Quelles données de sneakers puis-je obtenir sans l'API officielle ?

Les pages publiques des produits exposent l'offre la plus basse et l'enchère la plus haute par taille, le total des offres, les comptes de ventes sur des fenêtres de 15, 30 et 60 jours, les prix annuels haut/bas/moyen, un chiffre de volatilité, la vitesse des commandes hebdomadaires et des identifiants SKU/UPC stables. Cela suffit pour construire un historique des prix, une analyse des écarts de taille et un indice de tendance sans jamais toucher à l'API vendeur.

Comment éviter d'être bloqué en extrayant StockX ?

Utilisez des proxies résidentiels pour que les requêtes ressemblent à des acheteurs ordinaires, faites tourner l'IP de sortie à chaque requête, définissez un User-Agent réaliste et avancez à votre rythme. Lorsque les pages renvoient une coquille vide au lieu du JSON intégré, passez à une API de récupération qui exécute le JavaScript de la page et renvoie des données structurées, plutôt que de lutter contre le défi vous-même.

Le marché de la revente récompense celui qui le mesure le mieux. L'API officielle ne vous donnera pas cette mesure — elle n'a jamais été conçue pour cela. Les pages publiques, collectées sur des IPs résidentielles propres et réduites à la vitesse et à la prime, transforment un carnet d'ordres chaotique en un signal sur lequel vous pouvez baser des décisions de recherche.

Extraire des données de sneakers propres avec le Scraper API