EasyDown API Docs
API de descarga por plataforma

API de descarga de videos de Xiaohongshu / RedNote

Usa la API de RedNote / Xiaohongshu con URL públicas compatibles y recibe videos, imágenes, audio y datos completos sin campos sensibles.

Envía una nota pública o un enlace corto compatible de RedNote/Xiaohongshu. La API devuelve el video y todos los elementos de la galería solicitada.

Úsala para integrar descarga de videos de RedNote y Xiaohongshu, incluidos los enlaces cortos compatibles.

Usa este endpoint cuando necesites campos propios de la plataforma además de medios descargables estables.

Endpoints

POST https://api.easydown.org/api/v1/platforms/xiaohongshu/parse

Formatos de URL compatibles

  • xiaohongshu.com/explore/{id}
  • xiaohongshu.com/discovery/item/{id}
  • rednote.com/explore/{id}
  • xhslink.com/{path}
  • xhslink.cn/{path}

Ejemplos aceptados

  • https://www.xiaohongshu.com/discovery/item/67f75b07000000000b0154b3
  • https://www.xiaohongshu.com/explore/671e2c6500000000210016b9
  • https://www.rednote.com/explore/6a51ee42000000001702879f
  • http://xhslink.com/o/2CxGwu8nSPx

Contenido de la respuesta de la plataforma

Una nota puede devolver video, portada y todas las imágenes del carrusel, cada elemento como archivo independiente.

Campos publicados de la plataforma

La API conserva otros campos públicos del objeto final después de eliminar de forma recursiva los datos sensibles. Los campos documentados se mantienen estables durante esta versión de platformData.

CampoTipoDescripción
data.mediaobjectImágenes, videos, audios, título, miniatura y duración normalizados.
data.platformDataVersionstringVersión pública del contrato de datos de RedNote / Xiaohongshu; actualmente 1.
data.platformData.note_idstringIdentificador público del contenido. Guárdalo como texto para evitar pérdidas de precisión con números grandes.
data.platformData.titlestringTítulo, texto o descripción que se muestra públicamente en la publicación solicitada.
data.platformData.descstringTítulo, texto o descripción que se muestra públicamente en la publicación solicitada.
data.platformData.typestringCampo público incluido en la respuesta de la plataforma para el contenido solicitado.
data.platformData.userobjectDatos públicos del autor de la publicación, sin contactos ni credenciales.
data.platformData.images_listarrayImágenes, portadas o elementos del carrusel; el orden coincide con la respuesta de la plataforma.
data.platformData.video_info_v2objectDatos de reproducción, calidad, códec, dimensiones y URL multimedia del video solicitado.
data.platformData.interact_infoobjectMétricas públicas de reproducciones, Me gusta, comentarios, guardados o compartidos.
data.platformData.native_voice_infoobjectInformación pública de música, sonido original o pistas de audio independientes.
{
  "status": 200,
  "data": {
    "media": {
      "platform": "xiaohongshu",
      "title": "Ejemplo de publicación pública",
      "thumbnail": "https://public-cdn.example/cover.jpg",
      "duration": 18,
      "images": [],
      "videos": [
        {
          "url": "https://public-cdn.example/video.mp4",
          "quality": "1080p",
          "mimeType": "video/mp4",
          "width": 1920,
          "height": 1080,
          "hasAudio": true,
          "source": "direct"
        }
      ],
      "audios": []
    },
    "platformData": {
      "note_id": "67f75b07000000000b0154b3",
      "title": "Example public RedNote post",
      "desc": "Example note description",
      "type": "video",
      "user": {
        "user_id": "creator-id",
        "nickname": "Example creator"
      },
      "images_list": [
        {
          "width": 1080,
          "height": 1440,
          "url": "https://media.example/image.jpg"
        }
      ],
      "interact_info": {
        "liked_count": "120",
        "collected_count": "24"
      }
    },
    "platformDataVersion": "1"
  },
  "msg": "success"
}

Descarga y uso de proxy

Descarga desde el backend con Referer de Xiaohongshu, User-Agent y Range. Conserva los parámetros de las URL firmadas y vuelve a analizar cuando caduquen.

Límites y comportamiento

No admite perfiles, búsquedas, colecciones, notas privadas o eliminadas ni enlaces cortos que ya hayan caducado.

Solo se admite contenido público. El contenido privado, eliminado, restringido por edad o región, en directo o no disponible puede fallar sin consumir créditos.

Solo se cobra después de devolver medios descargables: 1 crédito por análisis correcto. Los fallos de autenticación, validación, permisos, contenido, medios o servicio externo no se cobran.

Solución de problemas

  • Resuelve el enlace corto y conserva el note_id como texto antes de guardarlo en caché.
  • Recorre images[] completo para no perder elementos de una publicación con varias imágenes.
  • Vuelve a analizar la nota si una URL multimedia firmada ha caducado.

Preguntas frecuentes

¿Una solicitud fallida consume créditos?

No. Solo se cobra 1 crédito cuando la API devuelve medios descargables.

¿Por qué puede fallar una URL pública válida?

La publicación puede estar eliminada, ser privada, tener restricciones regionales, ser un directo, no contener medios o sufrir una indisponibilidad externa.

Guías relacionadas

Referencia interactiva de la API

Los ejemplos en curl, JavaScript y Python, junto con los esquemas, se generan desde el contrato OpenAPI 3.1 de producción.

El panel «Try it» envía solicitudes directamente a api.easydown.org. El token solo permanece en la memoria de la página y se elimina al recargar.

POST

Probar

Una respuesta correcta con medios descargables consume 1 credit. Las solicitudes fallidas no se cobran.

El token solo permanece en la memoria de esta página y se borra al cerrar o recargar.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/platforms/xiaohongshu/parse" \  -H "Content-Type: application/json" \  -d '{}'
{  "status": 200,  "data": {    "media": {      "platform": "tiktok",      "title": "string",      "thumbnail": "string",      "duration": 0,      "images": [        {          "url": "http://example.com",          "width": 0,          "height": 0        }      ],      "videos": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "width": 0,          "height": 0,          "hasAudio": true,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ],      "audios": [        {          "url": "http://example.com",          "quality": "string",          "mimeType": "string",          "bitrate": 0,          "source": "direct",          "headers": {            "property1": "string",            "property2": "string"          }        }      ]    },    "platformData": {      "note_id": "string",      "title": "string",      "desc": "string",      "type": "string",      "user": {},      "images_list": [        null      ],      "video_info_v2": {},      "interact_info": {},      "native_voice_info": {}    },    "platformDataVersion": "1"  },  "msg": "success"}