API de Detalles del producto de Taobao

POST

Salud de la API

Salud 24 h
86 %
Tiempo medio 24 h
13.45 s
  • Saludable / normal
  • Disponible
  • Limitada
  • Casi sin servicio
Disponible

Abre la url de un producto y recoge marca, precios, stock mostrado, ventas y categoría. No realiza la compra ni promete que todas las variantes estén disponibles.

Taobao Detalles del producto lee la ficha pública completa de un producto de Taobao o Tmall: título, marca, precio y precio original, precio con cupón, stock y unidades vendidas, cada SKU con su propio precio y stock, los atributos del producto, la imagen principal y las imágenes largas de la descripción, además de la tienda y los gastos de envío. Sirve para desmontar el anuncio de un competidor, seguir precios y promociones, comparar ofertas o completar un catálogo de productos.

url acepta el ID numérico del producto, un enlace de producto o un texto compartido que contenga exactamente un enlace de producto; los códigos para compartir de Taobao sin enlace y los enlaces caducados se rechazan. Al leer precios, ten en cuenta que coupon_price solo aparece cuando hay un cupón y que cada entrada de skus puede llevar su propio precio. is_tmall distingue las tiendas de Tmall de las tiendas normales de Taobao, que tienen requisitos y garantías distintos.

Precio $1.39 por 1.000 solicitudes ($0.001389 por llamada). Las llamadas fallidas y los resultados vacíos no se cobran. Síncrona. Para tareas lentas añade "mode": "async" al cuerpo, recibe un job_id y consúltalo.

Prompt para IA

Pégalo en tu asistente de IA. Ya incluye los parámetros, los campos de respuesta y una solicitud de ejemplo de este endpoint, así que el asistente puede preguntarte qué necesitas y luego escribir el script.

Ayúdame a escribir un script de recopilación de datos con el endpoint de EveryInfra Taobao: Detalles del producto (taobao/product_detail).

Contrato del endpoint:
- Solicitud: POST https://api.everyinfra.com/api/v1/social con la cabecera Authorization: Bearer <clave API>. Lee la clave de la variable de entorno EVERYINFRA_API_KEY y no la escribas en el código.
- En el cuerpo de la solicitud, pon platform en taobao y action en product_detail, y los parámetros dentro de params.
- Parámetros obligatorios:
  - url: Para product_detail, reviews o questions, envía el ID numérico del producto, una URL de producto de Taobao/Tmall o un texto compartido con una sola URL de producto.
- Devuelve un objeto. Campos principales: id, url, title, brand (Marca), price, original_price (Precio original), currency, stock (Stock), sold_count (Unidades vendidas), category_id (ID de categoría), location, is_tmall (Si la tienda es de Tmall y no una tiend…); 76 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=taobao.
- Cuerpo de solicitud de ejemplo:
{
  "platform": "taobao",
  "action": "product_detail",
  "params": {
    "url": "https://item.taobao.com/item.htm?id=744983869996"
  }
}
- Precio: $1.39 por 1.000 solicitudes; los resultados fallidos y vacíos no se cobran.
- Para decenas o cientos de objetivos, añade "mode": "async" al cuerpo: recibes un job_id al instante y consultas GET https://api.everyinfra.com/api/v1/jobs/{job_id} para obtener el resultado.
- Ante un 422, corrige la solicitud con los nombres de parámetros y los valores admitidos que sugiere el error; ante un 429 o un 503, espera lo que indique Retry-After y vuelve a intentarlo.

Antes de escribir código, pregúntame qué objetivos necesito, cuántos, qué campos y en qué formato quiero el resultado; luego confirma conmigo el plan y el coste aproximado.

Parámetros de la solicitud

NombreUbicaciónTipoObligatorioPor defectoDescripción
AuthorizationheaderstringSí-Bearer seguido de tu clave de API. Créala en la consola; nunca la pongas en una URL ni en un repositorio de código.
platformbodystringSítaobaoIdentificador de la plataforma, valor fijo.
actionbodystringSíproduct_detailIdentificador de la capacidad, valor fijo.
urlbody.paramsNo declaradoSí-Para product_detail, reviews o questions, envía el ID numérico del producto, una URL de producto de Taobao/Tmall o un texto compartido con una sola URL de producto. Los enlaces de e.tb.cn y m.tb.cn solo se aceptan si pueden resolverse de forma segura a una ficha. Se rechazan los códigos TaoPassword sin URL, los enlaces caducados y las páginas que no sean de productos.

Ejemplos de código

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "taobao",
  "action": "product_detail",
  "params": {
    "url": "https://item.taobao.com/item.htm?id=744983869996"
  }
}'

[Definición OpenAPI (JSON)]Los ejemplos leen la clave de la variable de entorno EVERYINFRA_API_KEY; el código copiado nunca contiene tu clave.

Ejemplo de respuesta

Vista previa de campos

Todavía no hay una muestra real para estos parámetros de ejemplo: se muestra la estructura de la respuesta y sus campos según el contrato, con … como marcadores. No es el resultado de una llamada real.

json
{
  "id": "req_…",
  "platform": "taobao",
  "action": "product_detail",
  "results": {
    "id": …,
    "url": …,
    "title": …,
    "brand": …,
    "price": …,
    "original_price": …,
    "currency": …,
    "stock": …,
    "sold_count": …,
    "category_id": …,
    "location": …,
    "is_tmall": …,
    "shop_name": …,
    "shop_id": …,
    "shipping_fee": …,
    "ems_fee": …,
    "express_fee": …,
    "skus": …,
    "sku_count": …,
    "spec_values": …,
    "props_images": …,
    "attributes": …,
    "main_image_url": …,
    "description_images": …,
    "description_html": …,
    "video_url": …,
    "coupon_price": …,
    "price_usd": …,
    "total_price": …,
    "suggestive_price": …,
    "has_discount": …,
    "is_promotion": …,
    "promo_type": …,
    "is_virtual": …,
    "brand_id": …,
    "root_category_id": …,
    "category_path": …,
    "weight": …,
    "size": …,
    "favorite_count": …,
    "fans_count": …,
    "min_order_quantity": …,
    "shipping_to": …,
    "listed_at": …,
    "modified_at": …,
    "delist_at": …,
    "images": …,
    "category_name": …,
    "description": …,
    "keywords": …,
    "titleOriginal": …,
    "has_cn_title": …,
    "shop_score_description": …,
    "shop_score_service": …,
    "shop_score_delivery": …,
    "free_shipping": …,
    "promotion_price": …,
    "discount_price": …,
    "discount_type": …,
    "price_note": …,
    "has_price_range": …,
    "payment_methods": …,
    "seller_id": …,
    "seller_credit_level": …,
    "seller_type": …,
    "seller_type_label": …,
    "selling_points": …,
    "shop_logo_url": …,
    "shop_url": …,
    "shop_item_count": …,
    "shop_new_item_count": …,
    "shop_opened_at": …,
    "review_tags": …,
    "review_count": …,
    "positive_rate": …,
    "seven_day_return": …,
    "platform": …
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

Campos de la respuesta

Los datos están en results. La tabla lista los campos que puede tener cada registro; los valores que la plataforma no muestra nunca se inventan.

CampoSignificado
idIdentificador único del registro en la plataforma. Solo es único dentro de una plataforma; puede repetirse entre plataformas.
urlEnlace al registro en la plataforma.
titleTítulo. null cuando la plataforma no usa títulos (por ejemplo publicaciones solo de texto).
brandMarca.
pricePrecio como número, sin símbolo de moneda; ver currency.
original_pricePrecio original.
currencyCódigo de moneda del precio (por ejemplo CNY, USD). Si hay price pero currency es null, no supongas una moneda.
stockStock.
sold_countUnidades vendidas.
category_idID de categoría.
locationDescripción de la ubicación tal como la da la plataforma; el formato varía.
is_tmallSi la tienda es de Tmall y no una tienda normal de Taobao; las dos tienen requisitos de acceso y garantías para el comprador distintos.
shop_nameNombre de la tienda.
shop_idID de la tienda.
shipping_feeGastos de envío.
ems_feeGastos de envío por EMS.
express_feeGastos de envío exprés.
skusTodas las variantes (SKU) del anuncio. Cada entrada puede llevar id, name, price, original_price, coupon_price, stock, props_ids e image_url.
sku_countNúmero de SKU.
spec_valuesTabla completa de valores de variante, incluidas las combinaciones que no están a la venta; id identifica el valor y text es su etiqueta.
props_imagesImágenes de los valores de variante: id coincide con spec_values y props_ids, e image_url es la imagen de esa variante.
attributesAtributos del producto en filas {name, value}, como marca, modelo y lugar de origen.
main_image_urlImagen principal (la primera).
description_imagesImágenes largas del área de descripción, en el orden de la página.
description_htmlHTML original del área de descripción, sobre todo etiquetas de imagen.
video_urlEnlace directo al video de la imagen principal; no aparece si no hay video.
coupon_pricePrecio con cupón: más bajo que price cuando hay un cupón; no aparece en caso contrario.
price_usdPrecio de referencia en dólares estadounidenses, según la conversión que traen los datos devueltos.
total_pricePrecio total tal como se devuelve; a menudo no aparece.
suggestive_pricePrecio de venta recomendado; a menudo no aparece.
has_discountSi hay descuento.
is_promotionSi el producto está en promoción.
promo_typeTipo de promoción.
is_virtualSi el producto es virtual (no es un bien físico).
brand_idID de la marca.
root_category_idID de la categoría raíz.
category_pathRuta de categorías (migas de pan).
weightPeso del producto tal como se devuelve; a menudo 0 o ausente.
sizeDimensiones del producto; a menudo no aparecen.
favorite_countVeces que el producto se añadió a favoritos.
fans_countNúmero de seguidores tal como se devuelve; a menudo no aparece.
min_order_quantityCantidad mínima de pedido.
shipping_toNota sobre la zona de entrega; a menudo no aparece.
listed_atFecha de publicación del anuncio (ISO 8601); el campo no aparece si los datos no la traen.
modified_atFecha de la última modificación (ISO 8601); el campo no aparece si los datos no la traen.
delist_atFecha de retirada del anuncio (ISO 8601); el campo no aparece si los datos no la traen.
imagesEnlaces de imágenes: fotos del producto en product_detail y fotos del comprador en reviews (no aparece si la reseña no tiene).
category_nameNombre de la categoría final (product_detail).
descriptionResumen o descripción, normalmente más breve que text.
keywordsPalabras clave de la página del producto (product_detail).
titleOriginalConserva el significado de la plataforma
has_cn_titleConserva el significado de la plataforma
shop_score_descriptionPuntuación de la tienda por fidelidad a la descripción, en escala de 5.
shop_score_servicePuntuación de la tienda por atención, en escala de 5.
shop_score_deliveryPuntuación de la tienda por envío, en escala de 5.
free_shippingSi el envío es gratuito.
promotion_pricePrecio promocional (product_detail; a menudo falta).
discount_pricePrecio con descuento (product_detail; a menudo falta).
discount_typeTipo de descuento o campaña con su texto original (por ejemplo, oferta relámpago).
price_noteNota de precio con su texto original (product_detail).
has_price_rangeSi el precio es un rango porque las variantes cuestan distinto (product_detail).
payment_methodsMétodos de pago aceptados (product_detail).
seller_idID del vendedor.
seller_credit_levelNivel de crédito del vendedor (número; cuanto mayor, mejor).
seller_typeCódigo del tipo de vendedor (product_detail).
seller_type_labelNombre del tipo de vendedor (product_detail), por ejemplo Tmall o tienda de empresa.
selling_pointsEtiquetas de puntos de venta.
shop_logo_urlEnlace del logotipo de la tienda (product_detail).
shop_urlEnlace de la tienda (product_detail).
shop_item_countProductos a la venta en la tienda (product_detail).
shop_new_item_countProductos nuevos de la tienda (product_detail).
shop_opened_atFecha de apertura de la tienda con su texto original (product_detail).
review_tagsEtiquetas de reseñas, cada una con tag (texto) y count (veces mencionada; puede faltar).
review_countNúmero de reseñas, en capacidades de productos y negocios. null significa no publicado, no 0.
positive_ratePorcentaje de reseñas positivas del producto (product_detail); a menudo falta.
seven_day_returnSi admite devolución sin motivo en siete días (product_detail).
platformIdentificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok).

Preguntas frecuentes

¿Qué puedo pasar en url?

El ID numérico del producto, un enlace de producto de Taobao o Tmall, o un texto compartido que contenga exactamente un enlace de producto. Los enlaces cortos de e.tb.cn y m.tb.cn solo se aceptan cuando llevan de forma segura a una página de producto. Los códigos sin enlace, los enlaces caducados y las páginas de tienda o de búsqueda se rechazan.

¿Cómo leo los precios de un producto con varias variantes?

skus enumera todas las variantes y cada una puede llevar su propio precio, precio original, precio con cupón y stock, mientras que price es la cifra del producto en conjunto. Registra los precios por variante cuando compares o hagas seguimiento; spec_values añade todos los valores de variante, incluidas las combinaciones que no están a la venta.

¿Los precios están en yuanes? ¿Hay una cifra en dólares?

price, original_price y coupon_price son números sin símbolo de moneda, así que lee la moneda en currency en lugar de suponerla. price_usd es un precio de referencia en dólares estadounidenses según la conversión que traen los datos devueltos; úsalo para comparar a grandes rasgos, no como el importe que vas a pagar.

Errores y facturación

401
Falta la clave o no es válida. La autenticación se comprueba antes que los parámetros, así que las solicitudes sin autenticar no ven el esquema de parámetros.
422
Nombre o valor de parámetro incorrecto. El error enumera los parámetros y valores permitidos de esta capacidad y la opción más cercana; ocurre antes de cualquier cobro.
402
Saldo insuficiente. Recarga primero.
429
Se alcanzó el límite de solicitudes por minuto de la cuenta (todas sus claves API cuentan juntas; antes se aplica el límite propio de una clave si es menor). Espera lo que indique Retry-After y vuelve a intentarlo; un paquete de velocidad en la consola sube el límite.
503
No se pudo completar ahora. Cualquier cargo de la llamada vuelve automáticamente a tu saldo, y el recibo de facturación de la respuesta indica el resultado real, también cuando aún no se conoce. No reenvíes a ciegas.
200 vacío
La solicitud terminó sin datos y no se cobra (billing.reason = empty_result_refunded).

Referencias oficiales

Solo sirven para contrastar objetos y términos. No implican autorización ni respaldo de la plataforma a EveryInfra.

  • Taobao: ID de producto y SKU ↗

    Taobao explica que el ID del producto aparece tras `id=` en el enlace y que un SKU representa una combinación concreta, como color y talla. Ambos identificadores no deben confundirse ni usarse como prueba de inventario actual.

    Comprobado el 2026-09-04