API de Productos en directo de Douyin
Salud de la API
- Salud 24 h
- Normal
- Tiempo medio 24 h
- —
- Saludable / normal
- Disponible
- Limitada
- Casi sin servicio
Últimas 24 horas
Últimos 30 días
Busca productos actualmente en directo mediante keyword y devuelve su live_room_id hasta el límite indicado.
Douyin Productos en directo busca por keyword productos de Douyin Mall que, en el momento de la llamada, están enlazados a una sala de directo, y devuelve para cada uno el título, la imagen, el precio mostrado, el ID del producto, el de SKU, el de la tienda y el live_room_id de la sala que lo ofrece. Sirve a marcas, vendedores y agencias de comercio en directo para ver qué productos de una categoría se están ofreciendo ahora en los directos de Douyin, a qué precio y desde qué salas.
Lee cada fila como una foto del momento: live_room_id solo dice qué sala tenía el producto al hacer la búsqueda, e is_live_product marca que la búsqueda de directos lo devolvió, no que se vendiera antes en directo. price_cny es el precio mostrado, en yuanes. source_keyword guarda la palabra con la que se encontró la fila, útil cuando juntas varias búsquedas, y product_id y sku_id son identificadores distintos.
Precio $0.56 por 1.000 solicitudes ($0.000556 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 Douyin: Productos en directo (douyin/live_product_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 douyin y action en live_product_search, y los parámetros dentro de params.
- Parámetros obligatorios:
- keyword: Término de búsqueda de productos de Douyin Mall. Solo devuelve los productos que, en el momento de la consulta, llevan la marca de directo y el ID de la sala.
- Parámetros opcionales:
- limit: Número máximo de filas que devuelve esta llamada, un entero de 1 a 3. 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. (por defecto: 3)
- Devuelve una lista de registros. Campos principales de cada registro: product_id (ID estable del producto en Douyin Mall), sku_id, title, image_url, price_cny (Precio mostrado del producto, en yuanes), shop_id (ID de la tienda en Douyin Mall), live_room_id, is_live_product, source_keyword (Término de búsqueda con el que coincidi…).
- Cuerpo de solicitud de ejemplo:
{
"platform": "douyin",
"action": "live_product_search",
"params": {
"keyword": "美食"
}
}
- Precio: $0.56 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
| Nombre | Ubicación | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|---|
Authorization | header | string | Sí | - | 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. |
platform | body | string | Sí | douyin | Identificador de la plataforma, valor fijo. |
action | body | string | Sí | live_product_search | Identificador de la capacidad, valor fijo. |
keyword | body.params | No declarado | Sí | - | Término de búsqueda de productos de Douyin Mall. Solo devuelve los productos que, en el momento de la consulta, llevan la marca de directo y el ID de la sala; no es el historial de ventas en directo de un creador concreto. |
limit | body.params | integer (1–3) | No | 3 | Número máximo de filas que devuelve esta llamada, un entero de 1 a 3. 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
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"platform": "douyin",
"action": "live_product_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
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.
{
"id": "req_…",
"platform": "douyin",
"action": "live_product_search",
"results": [
{
"product_id": …,
"sku_id": …,
"title": …,
"image_url": …,
"price_cny": …,
"shop_id": …,
"live_room_id": …,
"is_live_product": …,
"source_keyword": …,
"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.
| Campo | Significado |
|---|---|
product_id | ID estable del producto en Douyin Mall. |
sku_id | Conserva el significado de la plataforma |
title | Título. null cuando la plataforma no usa títulos (por ejemplo publicaciones solo de texto). |
image_url | Enlace de imagen. Las capacidades con varias imágenes pueden devolver una lista image_urls. |
price_cny | Precio mostrado del producto, en yuanes. |
shop_id | ID de la tienda en Douyin Mall. |
live_room_id | Conserva el significado de la plataforma |
is_live_product | Conserva el significado de la plataforma |
source_keyword | Término de búsqueda con el que coincidió esta fila. |
platform | Identificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok). |
Preguntas frecuentes
¿Muestra lo que un creador ha vendido en sus directos?
No. Solo devuelve productos que, al hacer la llamada, llevan la marca de directo y el ID de una sala, así que no es un historial de ventas de ningún creador. is_live_product confirma que la búsqueda de directos devolvió el producto, no una atribución a directos pasados. Para seguir una categoría, repite la búsqueda a intervalos y guarda la hora de cada llamada.
¿Cómo obtengo la ficha completa de un producto?
Pasa su product_id a Douyin Detalles del producto, que devuelve la galería de imágenes, las variantes, la tienda, el precio con descuento cuando lo hay y la cifra pública de unidades vendidas. Usa product_id y no sku_id: el ID de SKU es otro identificador y no abre la ficha del producto.
¿En qué se diferencia de Douyin Búsqueda de productos?
Douyin Búsqueda de productos devuelve un conjunto de productos de Douyin Mall independiente de los directos. Productos en directo solo devuelve los que están enlazados a una sala de directo al hacer la llamada, y añade su live_room_id. Si ningún producto en directo coincide con la keyword, la llamada no devuelve filas, y una llamada que no devuelve filas no se cobra.
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).