API de Reseñas de Xiaohongshu
Salud de la API
No es posible consultar los datos de estado de esta API en este momento, por lo que se desconoce su estado reciente. Esto no significa que no esté disponible.
Lee las reseñas de compradores de un producto de la tienda de Xiaohongshu por su product_id de 24 caracteres, en orden por defecto o de más reciente a más antigua. Cada reseña trae texto completo, puntuación sobre 5, valoración del servicio y del envío, votos de utilidad, número de respuestas, fotos del comprador, etiquetas, la variante comprada y la fecha. Nunca se devuelven el ID, el nombre ni el avatar de quien reseña. Hasta 20 por página.
Precio $5.56 por 1.000 solicitudes ($0.005556 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
Ayúdame a escribir un script de recopilación de datos con el endpoint de EveryInfra Xiaohongshu: Reseñas (xiaohongshu/reviews).
Cómo funciona el 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 xiaohongshu y action en reviews, y los parámetros dentro de params.
- Parámetros obligatorios:
- product_id: ID de producto de 24 caracteres, tomado del id de una fila de product_search, o el enlace https://www.xiaohongshu.com/goods-detail/<ID>. Un ID mal formado se rechaza antes de cobrar.
- Parámetros opcionales:
- page_token: Token de paginación. Omítelo en la primera página y luego devuelve tal cual el next_page_token anterior, sin cambiar los demás parámetros. Una página trae hasta 20 reseñas y es una llamada.
- sort: Orden de las reseñas: default (el orden por defecto de la tienda, igual que no enviarlo) o newest (las más recientes primero). Mantén el mismo valor al paginar. (valores admitidos: default / newest)
- Devuelve una lista de registros. Campos principales de cada registro: id, product_id (Producto al que pertenece la reseña (re…), text (Texto de la nota o del comentario), rating, rating_scale, service_rating (Valoración del servicio que dio el comp…), logistics_rating (Valoración del envío que dio el comprad…), like_count (Número de «me gusta»), reply_count, images (Enlaces de imágenes), tags (Lista de etiquetas: en note, las etique…), sku (Variante que compró el comprador (revie…); 14 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=xiaohongshu.
- Cuerpo de solicitud de ejemplo:
{
"platform": "xiaohongshu",
"action": "reviews",
"params": {
"product_id": "6a4629ef7d09bf0001a45876"
}
}
- Precio: $5.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í | xiaohongshu | Identificador de la plataforma, valor fijo. |
action | body | string | Sí | reviews | Identificador de la capacidad, valor fijo. |
product_id | body.params | string | Sí | - | ID de producto de 24 caracteres, tomado del id de una fila de product_search, o el enlace https://www.xiaohongshu.com/goods-detail/<ID>. Un ID mal formado se rechaza antes de cobrar. |
page_token | body.params | string | No | - | Token de paginación. Omítelo en la primera página y luego devuelve tal cual el next_page_token anterior, sin cambiar los demás parámetros. Una página trae hasta 20 reseñas y es una llamada; la última página no trae next_page_token. |
sort | body.params | string (enum) | No | - | Orden de las reseñas: default (el orden por defecto de la tienda, igual que no enviarlo) o newest (las más recientes primero). Mantén el mismo valor al paginar.Valores permitidosdefaultnewest |
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": "xiaohongshu",
"action": "reviews",
"params": {
"product_id": "6a4629ef7d09bf0001a45876"
}
}'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 la definición de la API, con … como marcadores. No es el resultado de una llamada real.
{
"id": "req_…",
"platform": "xiaohongshu",
"action": "reviews",
"results": [
{
"id": …,
"product_id": …,
"text": …,
"rating": …,
"rating_scale": …,
"service_rating": …,
"logistics_rating": …,
"like_count": …,
"reply_count": …,
"images": …,
"tags": …,
"sku": …,
"posted_date": …,
"next_page_token": …,
"platform": …
}
],
"next_page_token": …,
"pagination": { … },
"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 |
|---|---|
id | Identificador único del registro en la plataforma. Solo es único dentro de una plataforma; puede repetirse entre plataformas. |
product_id | Producto al que pertenece la reseña (reviews); es el product_id de la solicitud. |
text | Texto de la nota o del comentario. note y hashtag devuelven el texto completo; search y user_posts pueden devolver un extracto recortado (unos 60 y 100 caracteres como máximo, respectivamente). Llama a note con el ID de la nota para obtener el texto completo. |
rating | Valoració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_scale | Má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. |
service_rating | Valoración del servicio que dio el comprador, sobre 5 (reviews); no aparece si no la dio. |
logistics_rating | Valoración del envío que dio el comprador, sobre 5 (reviews); no aparece si no la dio. |
like_count | Número de «me gusta». En resultados de notas y comentarios, los de ese elemento; en profile, el total que han recibido las notas de la cuenta. null significa que no es público o que no se obtuvo en esta llamada, no cero. |
reply_count | Respuestas, normalmente a un comentario. null significa no publicado. |
images | Enlaces de imágenes. En note, hashtag, search y user_posts, todas las imágenes de la nota en orden. En los resultados de comentarios (comments, comments_batch, sub_comments), las imágenes adjuntas al comentario, incluidos los stickers; un array vacío significa que no hay ninguna. null significa que esta vez no se obtuvo este dato. |
tags | Lista de etiquetas: en note, las etiquetas de tema de la nota; en profile, las etiquetas personales que muestra el perfil (como signo del zodiaco o región); en reviews, las etiquetas que la tienda pone a la reseña, como buena calidad, y no aparece si no hay. Con su texto original. |
sku | Variante que compró el comprador (reviews), tal como la escribe la página del producto, cada una como nombre: valor, varias separadas por punto y coma, como color: blanco; talla: M. |
posted_date | Fecha de la reseña (reviews, AAAA-MM-DD, hora de Pekín). La tienda solo muestra textos como 06-12 o hace 3 días, que se convierten a fecha en hora de Pekín; no aparece si no se puede leer. Nunca se devuelven el ID, el nombre ni el avatar de quien reseña. |
next_page_token | Token de paginación (search, comments, sub_comments, user_posts, search_users, hashtag): devuélvelo sin cambios como page_token, con los demás parámetros iguales, para obtener la página siguiente. |
platform | Identificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok). |
Errores y facturación
- 401
- Falta la clave o no es válida.
- 402
- Saldo insuficiente. Recarga primero.
- 422
- Nombre o valor de parámetro incorrecto. Corrígelo según las opciones indicadas en el error. Sin cargo.
- 429
- Se alcanzó el límite de solicitudes por minuto. Espera el tiempo indicado en Retry-After y vuelve a intentarlo.
- 503
- No se pudo completar. El cargo retenido vuelve a tu saldo. Si el resultado es incierto, compruébalo antes de reenviar.
- 200 vacío
- Sin datos. Sin cargo.