Cómo extraer datos de reventa de StockX y GOAT para investigación de mercado

La API oficial de StockX está diseñada para vendedores y tiene un límite de 25,000 llamadas al día. Para investigación de mercado debes ir a las páginas públicas — aquí te mostramos cómo extraer historial de precios, distribución de tallas y señales de tendencia de manera limpia.

La reventa de zapatillas es un mercado real con descubrimiento de precios real, y StockX y GOAT son sus dos mayores libros de órdenes. Si deseas estudiar ese mercado — seguir el historial de precios, medir la distribución de tallas, identificar qué lanzamientos están en auge — el instinto es recurrir a la API oficial de StockX. Eso suele ser la herramienta equivocada. La API para desarrolladores de StockX está diseñada para vendedores: se autentica con OAuth 2.0 detrás de una puerta de aprobación, existe para colocar y gestionar listados y órdenes, y está limitada a 25,000 solicitudes por período de 24 horas a una solicitud por segundo, con un estricto 429 en el momento que lo excedas. Ofrece a un vendedor su propio inventario, no a un investigador todo el mercado. Para la investigación de mercado, los datos están en las páginas públicas de productos. Esta guía muestra cómo recopilarlos de manera limpia.

Por qué la API oficial de StockX es la herramienta equivocada para la investigación

El portal para desarrolladores es explícito sobre su propósito: búsqueda de catálogo, gestión de listados y gestión de órdenes. Incluso los vendedores en la plataforma informan de largas esperas y rechazos para obtener la aprobación de acceso a la API en primer lugar. Y el límite de tasa — 25,000 llamadas al día, operaciones por lotes limitadas a 500 artículos cada 5 minutos hasta 50,000 artículos diarios — es generoso para gestionar tu propia tienda pero pequeño para examinar miles de estilos en múltiples tallas y ambos mercados. Crucialmente, no te proporciona un flujo de mercado histórico: los números que un investigador quiere — máximos y mínimos anuales, volatilidad, prima de precio sobre el minorista, velocidad de ventas por talla — se calculan y muestran en las páginas públicas, no se exponen como un punto de acceso de investigación masiva.

Así que la división práctica es simple. Usa la API oficial si eres un vendedor automatizando tus propias solicitudes. Usa las páginas públicas, recopiladas de manera responsable, si estás haciendo inteligencia de precios o investigación de tendencias. La misma lógica se aplica en reventa y venta al por menor — recorremos la versión general en monitoreo de precios a escala.

También hay un problema de cobertura que la API no puede resolver. Los precios de reventa son geo-sensibles: el mismo par tiene una prima diferente en un mercado estadounidense que en uno europeo o japonés, porque la oferta, los impuestos y la demanda difieren por región. Un investigador que mide el mercado global necesita leer cada producto desde varios países, lo cual la API para vendedores no está diseñada para hacer, pero un grupo residencial rotativo con orientación por país maneja por defecto. Esa dimensión geográfica es a menudo donde se esconde el arbitraje interesante.

Qué datos contiene una página de producto de StockX o GOAT

Cada página de producto lleva una carga sorprendentemente rica una vez que analizas el JSON incrustado que la hidrata. Por estilo puedes leer un SKU y UPC estables, y por talla una porción completa del libro de órdenes:

Comparación de la API oficial de StockX contra la extracción de páginas públicas de productos para la investigación del mercado de zapatillas, mostrando límites de tasa frente a señales disponibles
La API oficial es una herramienta de venta limitada a 25,000 llamadas al día; las páginas públicas contienen el historial de precios, los diferenciales a nivel de talla y la velocidad que la investigación de mercado realmente necesita.

Obtener las páginas sin ser bloqueado

StockX y GOAT están detrás de una gestión seria de bots, y una IP de centro de datos que accede repetidamente al JSON de productos es desafiada en un puñado de solicitudes. Dos cosas mantienen viva la recopilación: IPs de salida residenciales que parecen compradores ordinarios, y rotación por solicitud para que ninguna dirección única construya un patrón sospechoso. A través de proxies residenciales — más de 90M de IPs en más de 200 países — cada solicitud proviene de una dirección de hogar diferente:

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.

Cuando la página devuelve una carcasa casi vacía en lugar del JSON, se ha servido una versión renderizada del lado del cliente o de desafío — un síntoma que desglosamos en página vacía, datos faltantes. Ese es el punto para escalar de proxies crudos a una obtención gestionada. La Scraper API renderiza JavaScript bajo demanda y devuelve JSON limpio o markdown, para que dejes de mantener navegadores sin cabeza y analizadores por ti mismo:

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"

Convertir solicitudes crudas en señales de investigación

Una vez que las variantes se analizan, el análisis es aritmética simple que convierte una pared de números en decisiones. La distribución de tallas — la brecha entre la talla más barata y la más cara — revela qué tallas son escasas, y la prima sobre el minorista separa el verdadero auge del ruido de 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

Ejecuta eso a través de una lista de seguimiento en un horario diario y tendrás un índice de reventa: la velocidad creciente más una prima en expansión es una señal temprana de calor, mientras que las ventas en caída y una prima en contracción marcan un desvanecimiento. Cruzar referencias de StockX contra GOAT para el mismo SKU expone el arbitraje y confirma qué plataforma lidera el descubrimiento de precios para una categoría dada. Si tu lista de seguimiento abarca miles de estilos, controla tu factura con las tácticas en reducir costos de ancho de banda de proxy — rara vez necesitas imágenes, solo el JSON.

Una nota sobre la conducta: esto es investigación de mercado sobre datos de precios públicos y no personales, que es el extremo de bajo riesgo de la extracción, pero aún debes respetar los términos de servicio de cada plataforma y limitarte educadamente. Esto es orientación, no asesoramiento legal.

Panel de estadísticas de campos de datos de reventa de zapatillas: límite diario de API de 25,000, prima de precio promedio del 25 por ciento, ventanas de ventas de 15 a 60 días y un año de historial de precios
Las señales que importan son la velocidad y la prima: un par en auge está muy por encima del precio minorista con ventas rápidas, un fracaso está por debajo y se estanca.

Preguntas frecuentes

¿StockX tiene una API oficial?

Sí, pero es una herramienta para vendedores, no un servicio de datos de mercado. La API para desarrolladores de StockX se autentica con OAuth 2.0 detrás de un proceso de aprobación y cubre la búsqueda de catálogo, la gestión de listados y la gestión de órdenes. Está limitada a 25,000 solicitudes por 24 horas a una solicitud por segundo, y devuelve tu propia actividad de venta en lugar de un flujo histórico masivo del mercado más amplio.

¿Existe una API de GOAT para precios de zapatillas?

GOAT no ofrece una API pública de precios para investigadores. Agregadores de terceros y proyectos de código abierto obtienen datos de GOAT extrayendo sus páginas públicas, el mismo enfoque que tomarías para StockX. Debido a que ambas plataformas usan una fuerte gestión de bots, la recopilación confiable depende de IPs residenciales y rotación por solicitud en lugar de un punto de acceso de centro de datos.

¿Qué datos de zapatillas puedo obtener sin la API oficial?

Las páginas públicas de productos exponen la oferta más baja y la puja más alta por talla, el total de ofertas, los conteos de ventas en ventanas de 15, 30 y 60 días, los precios anuales alto/bajo/promedio, una cifra de volatilidad, la velocidad de órdenes semanales y los identificadores SKU/UPC estables. Eso es suficiente para construir un historial de precios, análisis de distribución de tallas y un índice de tendencia sin tocar nunca la API para vendedores.

¿Cómo evito ser bloqueado al extraer datos de StockX?

Usa proxies residenciales para que las solicitudes parezcan de compradores ordinarios, rota la IP de salida en cada solicitud, establece un User-Agent realista y modérate. Cuando las páginas devuelven una carcasa vacía en lugar del JSON incrustado, cambia a una API de extracción que ejecute el JavaScript de la página y devuelva datos estructurados, en lugar de luchar contra el desafío tú mismo.

El mercado de reventa recompensa a quien mejor lo mide. La API oficial no te dará esa medición — nunca fue su intención. Las páginas públicas, recopiladas en IPs residenciales limpias y reducidas a velocidad y prima, convierten un libro de órdenes caótico en una señal sobre la que puedes tomar decisiones de investigación.

Extrae datos limpios de zapatillas con la Scraper API