Tony Wang6 min de lecturaCómo scrapear Poshmark en 2026 (API y Python)
Scrapea Poshmark en 2026: listings, closets, marcas y tendencias vía Python, no-code o API estructurada, y qué permiten sus ToS.
Poshmark no ofrece una API pública de propósito general para leer su catálogo, así que en 2026 el camino más fiable y rápido es una API de scraping estructurada que devuelva JSON normalizado para resultados de búsqueda, detalle de listing, closets de sellers y datos de marca/categoría — en lugar de parsear tú mismo las páginas de listing de Poshmark. Poshmark está en el mismo género de reventa que StockX, pero con una forma distinta: es social-selling, no un libro de órdenes, así que los datos que vale la pena recolectar son la reputación del closet y la actividad de comunidad (likes, comentarios, seguidores) tanto como el precio.
¿Por qué scrapear datos de Poshmark?
- Investigación de precios de reventa — rastrear lo que una marca o categoría de artículo realmente vende en una plataforma de reventa peer-to-peer, como comparativa frente al retail u otros marketplaces.
- Seguimiento de marcas y tendencias — obtener el número de listings y precios por marca, o seguir una tendencia curada (por ejemplo, "Vintage Celine Handbags") para ver qué está circulando.
- Monitoreo de sellers/closets — observar el inventario, la valoración y el número de artículos vendidos de un closet específico a lo largo del tiempo, para investigación competitiva o de sourcing.
- Investigación de mercado y categoría — usar la taxonomía de departamentos/categorías para dimensionar cuántos listings activos existen en un nicho dado.
- Pipelines y agentes de IA — alimentar datos normalizados de listings y marcas a un agente de pricing o sourcing en lugar de hacer screen-scraping de HTML.
¿Es legal scrapear Poshmark?
Opción 1: DIY en Python (y por qué se rompe)
Un scraper ingenuo obtiene una página de resultados de búsqueda o de closet y parsea las tarjetas de listing a partir del markup renderizado:
import requests
from bs4 import BeautifulSoup
resp = requests.get(
"https://poshmark.com/search?query=nike+jacket",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
soup = BeautifulSoup(resp.text, "html.parser")
# Listing cards render from client-side state (React), so a plain HTML
# parse mostly returns an empty shell — you end up reverse-engineering
# the app's internal JSON endpoints instead
Funciona una vez en la demo, y luego se rompe:
- Los ToS son explícitos. La Sección 4(b) menciona directamente el scraping, la recolección y la recopilación automatizada, y el
robots.txtde Poshmark deniega/search,/listingsy/apipara todo crawler. - Defensas anti-bot. Poshmark protege su sitio con detección de bots; las IPs de datacenter y las peticiones headless se limitan o bloquean rápido, especialmente en las páginas de búsqueda y closet.
- Markup renderizado en cliente. Las cuadrículas de listings, las estadísticas del closet y las páginas de tendencias se renderizan a partir de estado de JavaScript, no de HTML estable en servidor — un cambio de diseño rompe silenciosamente el scraping basado en selectores CSS.
- Sin alternativa sancionada. A diferencia de eBay o StockX, Poshmark no opera ningún portal para desarrolladores, así que no hay una API oficial pero controlada a la que recurrir.
Opción 2: Herramientas no-code / ya hechas
Las extensiones de navegador y los scrapers de apuntar y hacer clic pueden exportar una sola página de búsqueda o una instantánea de un closet, pero rastrear los precios de reventa de una marca o el inventario de un seller a lo largo del tiempo implica volver a extraer las mismas páginas según un calendario — un trabajo para un endpoint estable con historial almacenado, no para una exportación puntual.
Opción 3: Una API estructurada de Poshmark
Para un flujo de trabajo repetible, una API de scraping de Poshmark devuelve JSON normalizado para búsqueda, detalle de listing, closets, marcas, categorías y tendencias — sin parsing de páginas, sin esperar a una app que no existe. Busca por palabra clave:
curl "https://api.crawlora.net/api/v1/poshmark/search?query=nike+jacket" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"total": 5000,
"has_more": true,
"next_max_id": "ENC_eyJtYXhfaWRzIjpbNDksMSwxXSwicGFnZV9udW0iOjIsInBhZ2VfZ3JvdXBfaWQiOiI2YTcyZTE3OTI1MzYyMTUzMDNhMmVmMWEifQ",
"listings": [
{
"id": "6a6353cb88849a5f185280ea",
"title": "Nike Jacket",
"price": 19,
"original_price": 98,
"condition": "gu",
"brand": "Nike",
"category": "Jackets",
"department": "Men",
"size": "M",
"colors": ["Black"],
"status": "published",
"cover_shot": "https://di2ponv0v5otw.cloudfront.net/posts/2026/07/24/x/m_x.jpg",
"like_count": 12,
"comment_count": 2,
"seller_username": "maltimar",
"url": "https://poshmark.com/listing/6a6353cb88849a5f185280ea"
}
],
"source_url": "https://poshmark.com/search?query=nike+jacket"
}
}
query es obligatorio; department y max_id (paginación por cursor, obtenido de next_max_id) acotan y paginan los resultados. Obtén el detalle completo de un listing, el closet de un seller o los listings activos de una marca:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/poshmark"
hits = requests.get(f"{base}/search", headers=h, params={"query": "nike jacket"}).json()["data"]["listings"]
listing_id = hits[0]["id"]
listing = requests.get(f"{base}/listing/{listing_id}", headers=h).json()["data"]
closet = requests.get(f"{base}/closet/maltimar", headers=h).json()["data"]
brand = requests.get(f"{base}/brand/Nike", headers=h).json()["data"]
Una llamada de detalle de listing trae el objeto completo de reputación del seller — desglose de valoración del closet, artículos vendidos y pedidos enviados, junto con los comentarios del listing (campos reales — revisa los docs):
{
"code": 200,
"msg": "OK",
"data": {
"id": "6a3fed1de9c77df92e2c0cc6",
"title": "NWT Farm Rio Shorts",
"price": 55,
"original_price": 95,
"condition": "nwt",
"brand": "FARM Rio",
"category": "Shorts",
"department": "Women",
"size": "S",
"colors": ["Red", "Yellow"],
"status": "published",
"like_count": 111,
"comment_count": 4,
"seller": {
"username": "maltimar",
"full_name": "Mary Altimar",
"followers": 9096,
"items_sold_display": "500+",
"rating_average": 4.93,
"rating_count": 368,
"rating_breakdown": {
"five_star": 355,
"four_star": 7,
"three_star": 2,
"two_star": 3,
"one_star": 1
},
"orders_shipped": 522,
"url": "https://poshmark.com/closet/maltimar"
},
"comments": [
{ "comment": "Hi can you tell me the width of the waist?", "creator_username": "muvlax20" }
],
"source_url": "https://poshmark.com/listing/6a3fed1de9c77df92e2c0cc6"
}
}
/poshmark/categories devuelve el árbol completo de departamentos/categorías (valores de ruta como Women-Shoes) para alimentar /poshmark/category/{path}, y /poshmark/trend/{id} pagina una colección de tendencia curada de la misma forma que los resultados de búsqueda.
Qué puedes recolectar
- Resultados de búsqueda: título, precio, precio original, condición, marca, categoría, departamento, talla, colores, conteos de likes/comentarios y URL del listing
- Detalle del listing: descripción, foto de portada y fotos, reputación completa del seller (valoración promedio, desglose de valoración, artículos vendidos, pedidos enviados) y comentarios visibles
- Closets de sellers: perfil más listings activos paginados para un username dado
- Datos de marca: directorio completo de marcas (29.000+ nombres con alias) y listings activos por marca
- Taxonomía de categorías: árbol departamento → categoría con identificadores de ruta para navegar
- Colecciones de tendencia: agrupaciones curadas (por ejemplo, una tendencia de diseñador o estilo) con sus listings
Limitaciones
- No existe una API oficial. Poshmark no opera ningún portal para desarrolladores — no hay una alternativa controlada pero sancionada a la que recurrir, a diferencia de eBay o StockX.
- Los ToS y el robots.txt restringen ambos el scraping. La Sección 4(b) menciona directamente el scraping y la recolección, y
robots.txtdeniega/search,/listingsy/apipara todo crawler — este no es un caso ambiguo. - Precios y estadísticas son una instantánea. Los artículos de Poshmark se repriceean, agrupan o marcan como vendidos constantemente, y los conteos de valoración/seguidores del closet cambian a diario — pon marca de tiempo a lo que almacenes.
- Solo datos públicos. Esto cubre páginas públicas de listing, closet y marca — no mensajes privados, ofertas, ni una forma de realizar un pedido en nombre de un comprador.
- Paginación por cursor. Los endpoints de listado usan un cursor opaco
max_id/next_max_iden lugar de números de página — arrástralo hacia adelante en lugar de intentar calcular offsets.
Dónde se usa esto
- Investigación de reventa y sourcing — comparar los precios de venta de una marca en Poshmark frente al retail u otro marketplace de reventa.
- Monitoreo de closets y competidores — rastrear el inventario, el pricing y el crecimiento de reputación de un seller a lo largo del tiempo.
- Dimensionamiento de tendencias y categorías — medir cuántos listings activos existen para una marca, categoría o tendencia curada.
Sources
Empieza a recolectar
Pruébalo primero, gratis: pasa cualquier URL pública por el Free Web Scraper, o comprueba si un sitio bloquea bots con el Anti-Bot Checker — sin registro.
Prueba los endpoints de search, listing, closet y brand en el Playground, revisa el esquema de request y response en los API docs, y consulta los costos en créditos en la página de pricing. Poshmark es la contraparte de social-selling de los datos de reventa en tiempo real del order book en how to scrape StockX y de los listings a precio fijo en how to scrape eBay — combínalos para una imagen más completa del mercado de segunda mano, o suma el ángulo hecho a mano/vintage de how to scrape Etsy. Ver también how to scrape Mercari para la versión general del mismo modelo de venta por closet en marketplaces de segunda mano, y is web scraping legal.
Parte de nuestra serie de guías how-to-scrape — todas las plataformas que cubrimos, en un solo índice.
Preguntas frecuentes
¿Tiene Poshmark una API pública oficial?
No. Poshmark no publica un portal para desarrolladores ni una API pública de propósito general para leer su catálogo, a diferencia de marketplaces como eBay o StockX que ofrecen una API de desarrollador controlada. Las APIs de scraping de terceros son la vía práctica para obtener datos normalizados de listings, closets y marcas.
¿Es legal scrapear Poshmark?
Los datos públicos de un listing no son objeto de derechos de autor, y acceder a datos puramente públicos generalmente no constituye una violación de la CFAA, pero los Terms of Service de Poshmark (Sección 4(b)) prohíben explícitamente el scraping, la recolección y la recopilación automatizada de datos, y su robots.txt deniega el rastreo de /search, /listings y /api. Esto no es asesoría legal — trátalo como una restricción real, no como una zona gris, y consulta nuestro desglose legal completo para más detalles.
¿Qué datos puedo obtener de un listing de Poshmark?
Una llamada de detalle de listing devuelve título, descripción, precio, precio original, condición, marca, categoría, departamento, talla, colores, foto de portada y fotos, conteos de likes y comentarios, comentarios visibles, y el objeto de reputación del closet del seller (valoración promedio, desglose de valoración, artículos vendidos, pedidos enviados).
¿Cómo consulto el closet de un seller de Poshmark?
Llama al endpoint de closet con el username del seller (por ejemplo /poshmark/closet/{username}). Devuelve el perfil del seller — seguidores, valoración, artículos vendidos, pedidos enviados — más una lista paginada de sus listings activos, usando un cursor (max_id) para la paginación.
¿Cómo funciona la paginación en Poshmark?
Los endpoints de search, category, closet, brand y trend usan todos paginación por cursor: la respuesta incluye has_more y (en el caso de search) un token next_max_id. Devuelve ese valor como parámetro max_id en la siguiente llamada en lugar de calcular un offset de página.
¿Puedo rastrear cómo trendea una marca en Poshmark?
Sí — el endpoint de brand devuelve los listings activos y el conteo total para una marca dada, y el endpoint de trend devuelve los listings de una colección de tendencia curada (por ejemplo, una tendencia de diseñador o estilo), ambos útiles para rastrear la demanda de reventa a lo largo del tiempo.
¿Son fiables los datos de precios de Poshmark para investigación de mercado?
Trátalos como una instantánea. Los sellers de Poshmark repriceean artículos con frecuencia, agrupan listings o los marcan como vendidos, y estadísticas del closet como seguidores y valoración cambian a diario, así que pon marca de tiempo a todo lo que almacenes en lugar de tratar una sola extracción como un precio fijo.