API de Búsqueda de Taobao

POST

Salud de la API

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

Busca productos de Taobao mediante keyword, con precio, orden y opción tmall_only. Devuelve tienda, precio, ventas mostradas y rating; no confirma stock, autenticidad ni entrega.

Taobao Búsqueda encuentra productos de Taobao y Tmall a partir de keyword y devuelve de cada uno el título, el precio y la moneda, las unidades vendidas, la valoración, la ubicación que indica la ficha, el nombre de la tienda, la imagen principal y el stock. Responde a qué se vende en una categoría y a qué precio, y lo usan equipos de producto, de compras y de estudios de mercado para investigar artículos, seguir los precios de la competencia o analizar una categoría.

Lee price como un número sin símbolo, con la moneda en currency, y antes de comparar rating con otras plataformas mira rating_scale en la misma fila, porque el máximo cambia de un sitio a otro. location llega tal como la muestra la plataforma, sin normalizar, y sold_count refleja las ventas que muestra la ficha.

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: Búsqueda (taobao/search).

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 search, y los parámetros dentro de params.
- Parámetros obligatorios:
  - keyword: Palabra clave de producto de Taobao o Tmall para search. No es una consulta exacta por nombre de tienda.
- Parámetros opcionales:
  - max_price: Importe máximo para la búsqueda de productos. Se usa junto con min_price. No debe interpretarse como un límite de existencias (SKU).
  - min_price: Importe mínimo para la búsqueda de productos. No se refiere a la puntuación de las valoraciones ni al coste de esta API. No se aplica a shop, product_detail, reviews ni questions.
  - sort: Para buscar productos, usa relevance (predeterminado), popular o price_desc. Las búsquedas predeterminadas o por relevancia admiten hasta 20 resultados; popular y price_desc, hasta 10. (valores admitidos: popular / price_desc / relevance)
  - tmall_only: En la búsqueda de productos, el booleano true limita los resultados a Tmall y permite como máximo 10. Envía únicamente un booleano JSON, no strings como "false"; los límites superiores se rechazan antes del cobro.
  - limit: Número máximo de filas que devuelve esta llamada, un entero de 1 a 20. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas. (por defecto: 20)
- Devuelve una lista de registros. Campos principales de cada registro: id, url, title, price, currency, sold_count (Unidades vendidas), rating, rating_scale, location, shop_name (Nombre de la tienda), image_url, stock (Stock); 30 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=taobao.
- Cuerpo de solicitud de ejemplo:
{
  "platform": "taobao",
  "action": "search",
  "params": {
    "keyword": "便携咖啡秤"
  }
}
- 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ísearchIdentificador de la capacidad, valor fijo.
keywordbody.paramsNo declaradoSí-Palabra clave de producto de Taobao o Tmall para search. No es una consulta exacta por nombre de tienda.
max_pricebody.paramsNo declaradoNo-Importe máximo para la búsqueda de productos. Se usa junto con min_price. No debe interpretarse como un límite de existencias (SKU).
min_pricebody.paramsNo declaradoNo-Importe mínimo para la búsqueda de productos. No se refiere a la puntuación de las valoraciones ni al coste de esta API. No se aplica a shop, product_detail, reviews ni questions.
sortbody.paramsenumNo-Para buscar productos, usa relevance (predeterminado), popular o price_desc. Las búsquedas predeterminadas o por relevancia admiten hasta 20 resultados; popular y price_desc, hasta 10. Los límites superiores se rechazan antes del cobro y price_asc no está disponible. reviews y questions no aceptan sort, y shop no expone este parámetro.Valores permitidospopularprice_descrelevance
tmall_onlybody.paramsNo declaradoNo-En la búsqueda de productos, el booleano true limita los resultados a Tmall y permite como máximo 10. Envía únicamente un booleano JSON, no strings como "false"; los límites superiores se rechazan antes del cobro.
limitbody.paramsinteger (1–20)No20Número máximo de filas que devuelve esta llamada, un entero de 1 a 20. Si no lo envías, se usa el valor predeterminado, y una llamada puede devolver menos filas. Los valores mayores devuelven 422 antes de cualquier cobro.

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": "search",
  "params": {
    "keyword": "便携咖啡秤"
  }
}'

[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": "search",
  "results": [
    {
      "id": …,
      "url": …,
      "title": …,
      "price": …,
      "currency": …,
      "sold_count": …,
      "rating": …,
      "rating_scale": …,
      "location": …,
      "shop_name": …,
      "image_url": …,
      "stock": …,
      "shop_id": …,
      "sold_text": …,
      "original_price": …,
      "coupon_price": …,
      "discount_type": …,
      "is_tmall": …,
      "brand": …,
      "category_id": …,
      "seller_credit_level": …,
      "seller_positive_rate": …,
      "shop_score_description": …,
      "shop_score_service": …,
      "shop_score_delivery": …,
      "subtitle": …,
      "search_rank": …,
      "free_shipping": …,
      "selling_points": …,
      "review_tags": …,
      "platform": …
    }
  ],
  "count": …,
  "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).
pricePrecio como número, sin símbolo de moneda; ver currency.
currencyCódigo de moneda del precio (por ejemplo CNY, USD). Si hay price pero currency es null, no supongas una moneda.
sold_countUnidades vendidas.
ratingValoración. La escala depende de la plataforma: rating_scale en la misma fila indica el máximo (normalmente 5; Booking, Douban, iQIYI y NAVER usan 10). Convierte con rating_scale antes de comparar entre plataformas o la comparación puede salir al revés.
rating_scaleMáximo de rating en la misma fila: 5 en escalas de cinco estrellas y 10 en escalas de diez puntos. Solo aparece si la fila tiene rating.
locationDescripción de la ubicación tal como la da la plataforma; el formato varía.
shop_nameNombre de la tienda.
image_urlEnlace de imagen. Las capacidades con varias imágenes pueden devolver una lista image_urls.
stockStock.
shop_idID de la tienda.
sold_textCifra de ventas tal como se muestra (search), por ejemplo 100 000+; las cifras con + o en decenas de miles son redondeos, no ventas exactas.
original_pricePrecio original.
coupon_pricePrecio con cupón: más bajo que price cuando hay un cupón; no aparece en caso contrario.
discount_typeTipo de descuento o campaña con su texto original (por ejemplo, oferta relámpago).
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.
brandMarca.
category_idID de categoría.
seller_credit_levelNivel de crédito del vendedor (número; cuanto mayor, mejor).
seller_positive_ratePorcentaje de valoraciones positivas del vendedor (search): 100 equivale a 100 %.
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.
subtitleSubtítulo del producto (search), una frase corta de venta.
search_rankPosición en este resultado de búsqueda (search), empezando en 1.
free_shippingSi el envío es gratuito.
selling_pointsEtiquetas de puntos de venta.
review_tagsEtiquetas de reseñas, cada una con tag (texto) y count (veces mencionada; puede faltar).
platformIdentificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok).

Preguntas frecuentes

¿Qué órdenes admite sort?

relevance, el orden predeterminado, popular y price_desc, que muestra primero los productos más caros; de momento no existe un orden de más barato a más caro. Al ordenar por popularidad o por precio, cada llamada devuelve como mucho 10 resultados, así que divide las búsquedas amplias en palabras clave más concretas o en tramos de precio con min_price y max_price.

¿Puedo buscar solo productos de Tmall?

Sí: pon tmall_only en el booleano true; el valor predeterminado es false. Debe ser un booleano real, porque la cadena 'false' se rechaza antes de cobrar nada, y con el filtro activado cada llamada devuelve como mucho 10 resultados.

¿Cómo obtengo la ficha completa o las reseñas de un resultado?

Toma el url de la fila y pásalo a Taobao Detalles del producto si necesitas la ficha completa, o a Taobao Reseñas si quieres las opiniones de los compradores; las dos capacidades aceptan también el ID numérico del producto. Así pasas de una búsqueda amplia a un estudio detallado de los productos que te interesan.

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).