Tony Wang6 min de lecturaCómo scrapear Whatnot en 2026 (API y Python)
Scrapea el catálogo de shows en vivo de Whatnot: browse, categorías y detalle de show, vía API. Cubre lo público, no las pujas en vivo.
La forma más rápida de recopilar datos de Whatnot en 2026 es una API estructurada que devuelve listados de shows en vivo y categorías como JSON normalizado. Whatnot es una plataforma de live-commerce y subastas — los sellers gestionan streams de vídeo donde los compradores pujan o compran en tiempo real —, lo cual es un género genuinamente distinto de un catálogo de producto estático como eBay o StockX. Esta guía cubre lo que realmente es scriptable: qué shows están en vivo, qué categorías existen y los metadatos de producto/listing de un show. No cubre la actividad de pujas en tiempo real dentro de un stream (los ticks de puja en vivo), que ninguna interfaz pública expone.
¿Por qué scrapear datos de Whatnot?
- Investigación de mercado de live-commerce — rastrear cuántos shows están corriendo en una categoría en un momento dado, y qué sellers están activos.
- Seguimiento de tendencias por categoría y seller — observar qué categorías (trading cards, sneakers, moda femenina) están creciendo en volumen de shows.
- Monitoreo del mercado de coleccionables — trading cards, slabs graduados y reventa de sneakers son las categorías centrales de la plataforma; rastrear títulos de shows y tags revela lo que está en tendencia.
- Pipelines y agentes de IA — alimentar datos normalizados de shows y categorías a un agente de monitoreo de mercado o investigación en lugar de hacer screen-scraping de una UI centrada en vídeo.
¿Es legal scrapear Whatnot?
Opción 1: hacerlo tú mismo en Python (y por qué falla)
Un scraper ingenuo golpea la página de browse e intenta extraer las tarjetas de show del markup renderizado:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://www.whatnot.com/category/trading_card_games",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Live show cards, thumbnails, and status render from client-side state —
# you end up parsing JSON out of a script tag, not stable HTML
Funciona una vez en la demo, y luego se rompe:
- La ToS es explícita. Whatnot nombra directamente el scraping, spidering y crawling como un uso prohibido de la App — esto no es ambiguo.
- La página es una app en vivo, no un documento. El estado del show (
PLAYINGvs. terminado), los conteos de espectadores y el estado del producto se actualizan vía websocket/estado del cliente, no markup estático — un cambio de UI rompe silenciosamente un scraper basado en selectores CSS. - No hay una API de lectura pública a la que recurrir. La Seller API oficial es una Developer Preview cerrada para sellers que gestionan su propio inventario — no es un sustituto para navegar el catálogo público.
- Defensas anti-bot. Como la mayoría de las apps de comercio de alto tráfico, Whatnot protege su sitio con detección de bots; las peticiones scripteadas sin una sesión de navegador real son rate-limited o bloqueadas rápidamente.
Opción 2: herramientas sin código / listas para usar
Las extensiones de navegador y los scrapers de apuntar y hacer clic pueden exportar la lista de shows de una sola página de browse, pero rastrear una plataforma de shows en vivo que se mueve rápido implica reobtener los listados de categoría según un horario, para captar los shows que empiezan y terminan — un trabajo para un endpoint estable, no para una exportación manual puntual.
Opción 3: una API estructurada de Whatnot
Para un flujo de trabajo repetible, una Whatnot scraping API devuelve JSON normalizado para la lista de categorías, los shows en vivo por categoría y el detalle de producto de un show — sin parsear páginas, sin un programa de desarrollador cerrado al que aplicar. Empieza con la lista de categorías:
curl "https://api.crawlora.net/api/v1/whatnot/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"categories": [
{ "id": "Q2F0ZWdvcnlOb2RlOjE0OQ==", "name": "Trading Card Games", "slug": "trading_card_games" },
{ "id": "Q2F0ZWdvcnlOb2RlOjM=", "name": "Sports Cards", "slug": "sports_cards" },
{ "id": "Q2F0ZWdvcnlOb2RlOjY1Ng==", "name": "Women's Fashion", "slug": "womens_fashion" }
]
}
}
Usa el slug de una categoría para navegar sus shows en vivo, y luego obtén los productos de un show específico por su id:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/whatnot"
categories = requests.get(f"{base}/categories", headers=h).json()["data"]["categories"]
browse = requests.get(
f"{base}/browse", headers=h, params={"category": "trading_card_games"}
).json()["data"]
show_id = browse["shows"][0]["id"]
show = requests.get(f"{base}/live/{show_id}", headers=h).json()["data"]
browse devuelve los shows actualmente asociados a una categoría:
{
"code": 200,
"msg": "OK",
"data": {
"category": "trading_card_games",
"shows": [
{
"id": "6ddb7fd2-43bb-44e0-8ee8-6656e82fa26a",
"url": "https://www.whatnot.com/live/6ddb7fd2-43bb-44e0-8ee8-6656e82fa26a",
"title": "$100k Late Night Slab Show",
"seller_username": "legacy_auction_house",
"status": "PLAYING",
"start_time_ms": 1785996739803,
"thumbnail_url": "https://images.whatnot.com/...",
"tags": ["Sudden Death", "Graded Cards", "Pokémon"]
}
]
}
}
Y live/{id} devuelve los listings de producto de ese show (revisa los docs para la lista completa de campos):
{
"code": 200,
"msg": "OK",
"data": {
"id": "6ddb7fd2-43bb-44e0-8ee8-6656e82fa26a",
"url": "https://www.whatnot.com/live/6ddb7fd2-43bb-44e0-8ee8-6656e82fa26a",
"products": [
{
"id": "TGlzdGluZ05vZGU6MjEzMTA5NzI1NA==",
"title": "slab",
"description": "show live",
"price_cents": 1000,
"currency": "USD",
"status": "running",
"transaction_type": "AUCTION",
"quantity": 219,
"seller": { "username": "legacy_auction_house", "rating": 4.9, "review_count": 128914 }
}
]
}
}
Qué puedes recopilar
- Categorías: nombre y slug de cada categoría de nivel superior bajo la que Whatnot organiza los shows (trading cards, sports cards, moda y más)
- Browse por categoría: shows actualmente asociados — ID, URL, título, username del seller, estado, hora de inicio, thumbnail y tags descriptivos
- Detalle de show en vivo: las entradas de producto/listing de un show — título, descripción, precio, moneda, estado, tipo de transacción (subasta vs. precio fijo), cantidad y estadísticas básicas del seller (username, rating, número de reseñas)
Esto es metadata de catálogo y a nivel de show — una instantánea de lo que está listado y corriendo, no un stream de eventos de puja individuales.
Limitaciones
- La superficie de la API es estrecha. Es un grupo de 3 endpoints — browse, categorías y detalle de show en vivo — no hay búsqueda, ni endpoint de perfil de seller, ni archivo histórico de shows pasados.
- Sin datos de pujas dentro del stream. La actividad puja por puja dentro de una subasta en vivo (quién pujó qué, cuándo, la puja más alta corriendo tick a tick) no la expone ninguna interfaz pública, incluida esta —
live/{id}devuelve el estado del listing, no un registro de pujas. - El estado del show es una instantánea. Los campos
status,quantityy precio reflejan el momento en que los consultas; un show de subasta que avanza rápido puede cambiar segundos después. - No hay una API de lectura pública oficial con la que comparar. La propia Seller API de Whatnot es una preview cerrada para sellers que gestionan inventario, así que no hay una alternativa de primera parte para investigación de mercado general.
- Solo datos públicos. Esto cubre las páginas públicas de browse y show — no datos de cuenta, DMs, historial de pedidos, ni una forma de pujar en nombre de un seller.
Dónde se usa esto
- Investigación del mercado de coleccionables y reventa — rastrear qué categorías y tags (cartas graduadas, franquicias específicas) aparecen con más frecuencia en los shows en vivo.
- Seguimiento de tendencias de live-commerce — monitorear el volumen de shows y la actividad de sellers por categoría a lo largo del tiempo.
- Enriquecimiento de feeds para agentes de investigación y monitoreo — JSON normalizado de shows/categorías en lugar de parsear una web app centrada en vídeo.
Fuentes
Empieza a recopilar
Pruébalo primero, gratis: pasa cualquier URL pública por el Free Web Scraper, o revisa si un sitio bloquea bots con el Anti-Bot Checker — sin registro.
Prueba los endpoints de categories, browse y live-show en el Playground, revisa el schema en los API docs y consulta el pricing. El modelo de subasta en vivo de Whatnot se sitúa junto a otros dos marketplaces de coleccionables y reventa en esta serie: how to scrape StockX para precios de reventa tipo order-book, y how to scrape eBay para listings de precio fijo y subasta tradicional. Consulta también is web scraping legal.
Parte de nuestra how-to-scrape guide series — cada plataforma que cubrimos, en un solo índice.
Preguntas frecuentes
¿Tiene Whatnot una API pública?
No en un sentido general. Whatnot opera una Seller API en Developer Preview, limitada a sellers que gestionan sus propios listings y notificaciones de venta, y actualmente está cerrada a nuevos solicitantes. No existe una API de lectura pública para navegar el marketplace.
¿Es legal scrapear Whatnot?
Los Terms of Service de Whatnot prohíben explícitamente usar cualquier software, tecnología o dispositivo para scrapear, hacer spidering o crawlear la App, o para recopilar datos, y por separado prohíben evadir restricciones de acceso. Los hechos públicos no tienen derechos de autor, y hiQ v. LinkedIn determinó que acceder a datos públicos no viola la CFAA, pero aquí la ToS es la restricción vinculante — esto no es asesoría legal, revisa los términos tú mismo y consulta a un abogado para tu caso de uso concreto.
¿Qué permite el robots.txt de Whatnot?
Es permisivo en el sitio público — Allow: / — y solo bloquea rutas de account, dashboard, inbox, messages, order y video/player, es decir, la superficie privada y protegida por auth. No cerca las páginas públicas de browse o categoría como sí lo hacen algunos competidores.
¿Puedo rastrear la actividad de pujas en vivo de un show de Whatnot con esta API?
No. Los endpoints de browse, categorías y detalle de show en vivo devuelven metadatos de catálogo y listing — estado del show, precio del producto, cantidad, tipo de transacción —, pero no un registro puja por puja de lo que ocurre dentro de una subasta en vivo. Ninguna interfaz pública, incluida esta, expone las pujas en tiempo real dentro del stream.
¿Qué puedo recopilar de la API de catálogo de Whatnot?
Tres cosas: la lista completa de categorías (nombre y slug), los shows actualmente navegables en una categoría (ID, título, seller, estado, hora de inicio, tags), y los listings de producto de un show específico (título, precio, moneda, estado, tipo de transacción, cantidad y estadísticas básicas del seller) a partir de su ID.
¿Cómo obtengo el ID de un show para consultar sus productos?
Llama a /whatnot/browse con un slug de categoría (obtenido de /whatnot/categories) — cada show devuelto incluye un campo id. Pasa ese id a /whatnot/live/{id} para obtener los detalles de producto/listing del show.
¿Por qué esta superficie de API es tan pequeña comparada con otras plataformas?
Whatnot es una app centrada en vídeo sin una API de catálogo público convencional, así que este grupo cubre lo que es scriptable de forma confiable — taxonomía de categorías, browse por categoría y detalle de listing por show — en lugar de sugerir una cobertura de búsqueda, perfiles de seller o archivo histórico de shows que no está expuesta.