API de Búsqueda de Xiaohongshu
Salud de la API
- Salud 24 h
- 100 %
- Tiempo medio 24 h
- 4.27 s
- Saludable / normal
- Disponible
- Limitada
- Casi sin servicio
Últimas 24 horas
Últimos 30 días
Busca notas de Xiaohongshu mediante keyword, con tipo y orden opcionales. Devuelve título, autor e interacciones visibles; no calcula intención de compra ni cobertura total.
Xiaohongshu Búsqueda localiza notas por keyword y devuelve una página de tarjetas: título, un extracto breve del texto, «me gusta» y guardados, el autor y la fecha de publicación. Las notas de vídeo traen además el enlace de reproducción en video_url y la duración en duration_sec, y las tarjetas con un lugar etiquetado incluyen poi_name. Sirve para ver qué se publica ahora sobre un tema y qué notas generan más interacción: es un buen punto de partida para estudiar tendencias, vigilar una marca o encontrar creadores con los que colaborar.
Ajusta la página con sort (más recientes, más «me gusta», más comentarios o más guardados), date_range (últimas 24 horas o últimos 7 días) y content_type (notas de imagen o de vídeo). Ten en cuenta que text es un extracto: pasa la url del resultado a Detalles de la nota cuando necesites el texto completo. Un like_count o collect_count nulo significa que esta vez no se obtuvo el dato, no que valga cero.
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
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 Xiaohongshu: Búsqueda (xiaohongshu/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 xiaohongshu y action en search, y los parámetros dentro de params.
- Parámetros obligatorios:
- keyword: Término para buscar en el contenido de las notas de Xiaohongshu, como «protector solar piel sensible». No busca por ID de usuario.
- Parámetros opcionales:
- content_type: Filtra las notas devueltas por tipo, como imagen y texto o vídeo. Usa los valores permitidos para la acción seleccionada. (valores admitidos: all / image / video)
- date_range: Filtra las notas por fecha de publicación: last_24_hours (últimas 24 horas) o last_7_days (últimos 7 días); si no lo envías, no hay límite. Mantén el mismo valor al paginar. (valores admitidos: last_24_hours / last_7_days)
- page_token: Cursor de paginación para las acciones comments, sub_comments, search, user_posts, search_users y hashtag: devuelve el valor next_page_token de una fila de la respuesta anterior para obtener la siguiente página.
- sort: Criterio de orden de las listas de notas en search. Valores posibles: relevance (relevancia), newest (más reciente), most_liked (con más «me gusta»), most_commented (con más comentarios) y most_collected (con más guardad… (valores admitidos: most_collected / most_commented / most_liked / newest / relevance)
- Devuelve una lista de registros. Campos principales de cada registro: id, url (Enlace del registro en Xiaohongshu), title, text (Texto de la nota o del comentario), like_count (Número de «me gusta»), collect_count (Número de guardados), comment_count, share_count, posted_at, image_url, author_name, author_id (ID de usuario del autor); 24 campos en total, lista completa en https://api.everyinfra.com/api/v1/social/catalog?platform=xiaohongshu.
- Cuerpo de solicitud de ejemplo:
{
"platform": "xiaohongshu",
"action": "search",
"params": {
"keyword": "小户型收纳"
}
}
- 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í | search | Identificador de la capacidad, valor fijo. |
keyword | body.params | No declarado | Sí | - | Término para buscar en el contenido de las notas de Xiaohongshu, como «protector solar piel sensible». No busca por ID de usuario. |
content_type | body.params | enum | No | - | Filtra las notas devueltas por tipo, como imagen y texto o vídeo. Usa los valores permitidos para la acción seleccionada.Valores permitidosallimagevideo |
date_range | body.params | enum | No | - | Filtra las notas por fecha de publicación: last_24_hours (últimas 24 horas) o last_7_days (últimos 7 días); si no lo envías, no hay límite. Mantén el mismo valor al paginar.Valores permitidoslast_24_hourslast_7_days |
page_token | body.params | No declarado | No | - | Cursor de paginación para las acciones comments, sub_comments, search, user_posts, search_users y hashtag: devuelve el valor next_page_token de una fila de la respuesta anterior para obtener la siguiente página; omítelo para empezar desde la primera página. Cada página es una llamada y se factura por solicitud. |
sort | body.params | enum | No | - | Criterio de orden de las listas de notas en search. Valores posibles: relevance (relevancia), newest (más reciente), most_liked (con más «me gusta»), most_commented (con más comentarios) y most_collected (con más guardados). Usa solo los valores permitidos que se indican para la acción.Valores permitidosmost_collectedmost_commentedmost_likednewestrelevance |
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": "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
Obtenida el 15 de octubre de 2026, 15:15 (UTC) llamando a esta API con los parámetros del ejemplo de código de arriba. results y count son la respuesta real de esa llamada, sin información personal (nombres, usuarios, avatares, enlaces de perfil, datos de contacto); la lista conserva los primeros 2. id, billing y quota cambian en cada llamada, por eso solo se muestra su estructura.
{
"id": "req_…",
"platform": "xiaohongshu",
"action": "search",
"results": [
{
"id": "6a55fff400000000110058c3",
"url": "https://www.xiaohongshu.com/explore/6a55fff400000000110058c3?xsec_token=YBwgl4W48szr36c1jFWrf2WWLLGDKYfA5rrXQivgGAj1A%3D",
"title": "抽屉乱救星!亚克力薄抽治愈收纳焦虑|附教程",
"text": "我发现这种又薄、还自带分隔的亚克力薄抽,简直就是为收纳小工具小零件而生的。今天就来分享详细的改造教程,评论区等你们交作业",
"like_count": 10388,
"collect_count": 19173,
"comment_count": 257,
"share_count": 2323,
"posted_at": "2026-07-14T09:23:00+00:00",
"image_url": "https://sns-na-i6.xhscdn.com/1040g2sg322jlesv1mse043d8j25m1nmqtti8mog?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=5&sc=SRH_PRV&sign=b642658d19400d337f2d5296494687c7&t=6ad0ee01",
"author_name": "(已隐去)",
"author_id": "(已隐去)",
"avatar_url": "https://sns-avatar-qc.xhscdn.com/(已隐去)",
"author_url": "https://www.xiaohongshu.com/(已隐去)",
"is_video": true,
"next_page_token": "n1.p2",
"video_url": "http://sns-video-v6.xhscdn.com/stream/79/110/258/01ea55fdf56356a44f0370019f5ff0eb8f_258.mp4?sign=734255c44c5f43e96d8b4a12707707a8&t=6ad58b41",
"duration_sec": 124,
"platform": "xiaohongshu"
},
{
"id": "6ac221730000000015002ebb",
"url": "https://www.xiaohongshu.com/explore/6ac221730000000015002ebb?xsec_token=YBPVyCh77T_2_QF6CFfJ2TiJ8GngzcLJj_Iho466OzP5o%3D",
"title": "鬼才🔥3平开放式小厨房超实用设计!",
"text": "#家的1%幸福效应 #howto装扮我的家 #适己化装修 #小户型也有完美厨房 #开放式厨房 #利用厨房空间",
"like_count": 38783,
"collect_count": 30796,
"comment_count": 1021,
"share_count": 6986,
"posted_at": "2026-10-04T09:50:43+00:00",
"image_url": "https://sns-na-i6.xhscdn.com/1040g008325t8oj9j4q005pl7le7nc96up4p8rk8?imageView2/2/w/608/format/heif/q/56|imageMogr2/strip&redImage/frame/0/enhance/4&ap=5&sc=SRH_PRV&sign=ee3e432a917938b82ba55751f30a860e&t=6ad0ee01",
"author_name": "(已隐去)",
"author_id": "(已隐去)",
"avatar_url": "https://sns-avatar-qc.xhscdn.com/(已隐去)",
"author_url": "https://www.xiaohongshu.com/(已隐去)",
"is_video": true,
"next_page_token": "n1.p2",
"video_url": "http://sns-video-v6.xhscdn.com/stream/1/110/258/01eac221721521f001037001a106536b1a_258.mp4?sign=e98d44d7b6f666dc2c4e841655d8c578&t=6ad58b41",
"duration_sec": 189,
"platform": "xiaohongshu",
"poi_id": "42303030413832584538"
}
],
"next_page_token": …,
"pagination": { … },
"count": 20,
"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. |
url | Enlace del registro en Xiaohongshu. Los enlaces de search, note, profile y hashtag suelen incluir un token de acceso y se abren sin iniciar sesión (el token caduca; vuelve a llamar para obtener uno nuevo). Los enlaces de notas de user_posts no llevan token y lo necesitan para abrirse en el navegador: llama a note con el ID de la nota para obtener un enlace que se abra. Los enlaces de perfil de search_users tampoco llevan token; llama a profile con el user_id para obtener uno que se abra. |
title | Título. null cuando la plataforma no usa títulos (por ejemplo publicaciones solo de texto). |
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. |
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. |
collect_count | Número de guardados. En resultados de notas, las veces que se guardó esa nota; en profile, el total de guardados de las notas de la cuenta. null significa que no es público o que no se obtuvo en esta llamada, no cero. |
comment_count | Comentarios. null significa no publicado, no 0. |
share_count | Veces compartido. null significa no publicado, no 0. |
posted_at | Fecha de publicación en ISO 8601, UTC (por ejemplo 2026-08-07T12:34:56+00:00). Las cadenas no estándar de la plataforma se transmiten tal cual, así que conviene analizarlas con tolerancia. null significa que la plataforma no la publica. |
image_url | Enlace de imagen. Las capacidades con varias imágenes pueden devolver una lista image_urls. |
author_name | Nombre visible del autor. |
author_id | ID de usuario del autor. Puedes enviarlo a profile o user_posts. En los resultados de notas es el ID de 24 caracteres de la URL del perfil; en los de comentarios (comments, comments_batch, sub_comments) suele ser otra forma de 29 caracteres. Las dos formas de una misma persona no coinciden: antes de eliminar duplicados entre lotes, conviértelas con el user_id que devuelve profile. |
avatar_url | Enlace a la imagen de perfil. Algunas plataformas dan enlaces de CDN con tamaño que pueden caducar. |
author_url | Enlace al perfil del autor. No lleva token de acceso, así que no se abre sin iniciar sesión; la url que devuelve profile para el author_id sí se abre directamente. |
is_video | Si la nota es de vídeo. La URL de reproducción NO va en la respuesta del detalle de la nota (desde 2026-10-14): llama a la acción video aparte con la misma URL de la nota para obtenerla; cada llamada se cobra por uso. |
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. |
video_url | Enlace de reproducción del vídeo (MP4), firmado y con caducidad: si necesitas conservarlo, descarga el archivo cuanto antes. null en las notas de imagen o si esta vez no se obtuvo. Aparece en las filas de search/user_posts y en la acción video aparte; el detalle de la nota no lo incluye (desde 2026-10-14): llama a video con la misma URL de la nota cuando necesites el enlace. |
duration_sec | Duración del vídeo en segundos. null en las notas de imagen o si esta vez no se obtuvo. |
duration_seconds | Duración en segundos. null en contenido que no es video ni audio. |
platform | Identificador de la plataforma, igual que platform en la solicitud (por ejemplo xiaohongshu, tiktok). |
poi_id | ID del lugar etiquetado en la tarjeta del resultado de búsqueda (search); no aparece si no hay lugar etiquetado. |
poi_name | Nombre del lugar etiquetado en la tarjeta del resultado de búsqueda (search). |
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. |
is_goods_note | Indica si la nota es de venta y lleva enlaces de productos (search, user_posts). |
author_is_verified | Conserva el significado de la plataforma |
Preguntas frecuentes
¿Por qué el texto de la nota aparece cortado?
Los resultados de búsqueda traen el extracto que Xiaohongshu muestra en sus tarjetas, normalmente unas pocas decenas de caracteres. Para el texto completo y todas las imágenes, llama a Detalles de la nota con la url de la fila; ese enlace ya lleva el token de acceso que necesita la página de la nota.
¿Cómo obtengo la página siguiente?
Envía como page_token el next_page_token del nivel superior de la respuesta y deja igual el resto de parámetros. Si no envías page_token, empiezas por la primera página. Cada página es una llamada, y una llamada que no devuelve filas no se cobra.
¿Dónde está el vídeo de una nota de vídeo?
Toma video_url de la fila de búsqueda. Es un enlace MP4 firmado que caduca, así que descarga el archivo pronto si quieres conservarlo; duration_sec indica la duración y en las notas de imagen ambos valen null. Detalles de la nota no devuelve el enlace de reproducción: si solo tienes el enlace de la nota, llama con él a Detalles del video.
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.
- Xiaohongshu: nota de imagen, nota de vídeo y comentarios ↗
La documentación pública de los enlaces profundos distingue notas con imágenes, notas de vídeo y la vista de comentarios. Aclara los objetos de contenido; sus parámetros de salto de aplicación no son entradas de EveryInfra.
Comprobado el 2026-09-04