Referencia de la API

Resumen

La API de SNSTracker te permite gestionar de forma programática feeds y canales de monitorización. Puedes crear feeds (vídeos, publicaciones, etc.) y canales (cuentas, perfiles), actualizarlos para obtener los datos más recientes y recibir notificaciones en tiempo real mediante webhooks.

Autenticación

Todas las solicitudes a la API requieren autenticación usando una clave de API. Incluye tu clave de API en el encabezado X-API-Key.

Cómo obtener tu clave de API:

  1. Inicia sesión en SNSTracker
  2. Ve a Settings → API Keys
  3. Crea una nueva clave de API o usa una existente
  4. Copia la clave de API (solo la verás una vez cuando se cree)

Endpoints de la API

1. Crear Feeds

Crea feeds de monitorización enviando URLs de feeds (vídeos, publicaciones, etc.).

POST /api/v1/feeds

Solicitud

Encabezados:

  • X-API-Key: Tu clave de API (obligatorio)
  • Content-Type: application/json

Cuerpo de la solicitud:

{
  "urls": [
    "https://www.tiktok.com/@user/video/1234567890",
    "https://www.instagram.com/p/ABC123/"
  ],
  "collectionId": "coll_abc123xyz"
}

Parámetros:

  • urls (obligatorio): Arreglo de URLs de feeds a monitorizar. Máximo 200 URLs por solicitud.
  • collectionId (opcional): ID de la colección donde se agregarán los feeds. Si no se proporciona, se usará la colección predeterminada de tu equipo.

Respuesta

Respuesta exitosa (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": 2,
    "failed": 0,
    "total": 2,
    "results": [
      {
        "index": 0,
        "url": "https://www.tiktok.com/@user/video/1234567890",
        "platform": "tiktok",
        "feedId": "feed_abc123xyz",
        "success": true
      },
      {
        "index": 1,
        "url": "https://www.instagram.com/p/ABC123/",
        "platform": "instagram",
        "feedId": "feed_def456uvw",
        "success": true
      }
    ],
    "errors": [],
    "message": "Feeds creados correctamente. Los datos se actualizarán en breve."
  }
}

Campos de respuesta:

  • success: Número de feeds creados correctamente
  • failed: Número de creaciones de feeds fallidas
  • total: Número total de URLs proporcionadas
  • results: Arreglo de resultados para cada URL
    • index: Índice basado en cero en el arreglo de solicitud
    • url: La URL validada y estandarizada
    • platform: Plataforma detectada (tiktok, instagram, youtube, etc.)
    • feedId: Identificador único del feed creado
    • success: Si el feed se creó correctamente
    • skipped: (opcional) Si el feed se omitió porque ya existe
    • resumed: (opcional) Si se reanudó un feed detenido
    • error: (opcional) Mensaje de error si falló la creación
  • errors: Arreglo de errores para URLs fallidas

Solicitud de ejemplo

curl -X POST https://snstracker.com/api/v1/feeds \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://www.tiktok.com/@user/video/1234567890"
    ]
  }'

2. Actualizar Feeds

Actualiza feeds existentes para obtener los datos más recientes de inmediato. Solo se pueden actualizar los feeds con estado "Pending" o "Tracked".

POST /api/v1/feeds/refresh

Solicitud

Encabezados:

  • X-API-Key: Tu clave de API (obligatorio)
  • Content-Type: application/json

Cuerpo de la solicitud:

{
  "feedIds": ["feed_abc123xyz", "feed_def456uvw"]
}

Parámetros:

  • feedIds (obligatorio): Arreglo de IDs de feeds a actualizar

Respuesta

Respuesta exitosa (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "feedIds": ["feed_abc123xyz", "feed_def456uvw"],
    "total": 2,
    "message": "Se actualizaron correctamente 2 feed(s)"
  }
}

Campos de respuesta:

  • success: Si la operación de actualización fue exitosa
  • feedIds: Arreglo de IDs de feeds que se actualizaron
  • total: Número de feeds actualizados
  • message: Mensaje de éxito

Solicitud de ejemplo

curl -X POST https://snstracker.com/api/v1/feeds/refresh \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "feedIds": ["feed_abc123xyz"]
  }'

3. Crear Canales

Crea canales de monitorización enviando URLs de canales (perfiles de cuentas, etc.).

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

POST /api/v1/channels

Solicitud

Encabezados:

  • X-API-Key: Tu clave de API (obligatorio)
  • Content-Type: application/json

Cuerpo de la solicitud:

{
  "urls": [
    "https://www.tiktok.com/@username",
    "https://www.instagram.com/username/"
  ],
  "collectionId": "coll_abc123xyz"
}

Parámetros:

  • urls (obligatorio): Arreglo de URLs de canales a monitorizar. Máximo 5 URLs por solicitud.
  • collectionId (opcional): ID de la colección donde se agregarán los canales. Si no se proporciona, se usará la colección predeterminada de tu equipo.

Respuesta

Respuesta exitosa (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": 2,
    "failed": 0,
    "total": 2,
    "results": [
      {
        "index": 0,
        "url": "https://www.tiktok.com/@username",
        "platform": "tiktok",
        "channelId": "channel_abc123xyz",
        "success": true
      },
      {
        "index": 1,
        "url": "https://www.instagram.com/username/",
        "platform": "instagram",
        "channelId": "channel_def456uvw",
        "success": true
      }
    ],
    "errors": [],
    "message": "Canales creados correctamente. Los datos se actualizarán en breve."
  }
}

Campos de respuesta:

  • success: Número de canales creados correctamente
  • failed: Número de creaciones de canales fallidas
  • total: Número total de URLs proporcionadas
  • results: Arreglo de resultados para cada URL
    • index: Índice basado en cero en el arreglo de solicitud
    • url: La URL validada y estandarizada
    • platform: Plataforma detectada (tiktok, instagram, youtube, etc.)
    • channelId: Identificador único del canal creado
    • success: Si el canal se creó correctamente
    • skipped: (opcional) Si el canal se omitió porque ya existe
    • resumed: (opcional) Si se reanudó un canal detenido
    • error: (opcional) Mensaje de error si falló la creación
  • errors: Arreglo de errores para URLs fallidas

Solicitud de ejemplo

curl -X POST https://snstracker.com/api/v1/channels \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://www.tiktok.com/@username"
    ]
  }'

4. Actualizar Canales

Actualiza canales existentes para obtener los datos más recientes de inmediato. Solo se pueden actualizar los canales con estado "Pending" o "Tracked".

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

POST /api/v1/channels/refresh

Solicitud

Encabezados:

  • X-API-Key: Tu clave de API (obligatorio)
  • Content-Type: application/json

Cuerpo de la solicitud:

{
  "channelIds": ["channel_abc123xyz", "channel_def456uvw"]
}

Parámetros:

  • channelIds (obligatorio): Arreglo de IDs de canales a actualizar

Respuesta

Respuesta exitosa (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "channelIds": ["channel_abc123xyz", "channel_def456uvw"],
    "total": 2,
    "message": "Se actualizaron correctamente 2 canal(es)"
  }
}

Campos de respuesta:

  • success: Si la operación de actualización fue exitosa
  • channelIds: Arreglo de IDs de canales que se actualizaron
  • total: Número de canales actualizados
  • message: Mensaje de éxito

Solicitud de ejemplo

curl -X POST https://snstracker.com/api/v1/channels/refresh \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "channelIds": ["channel_abc123xyz"]
  }'

5. Sincronizar Feed

Sincroniza datos del feed directamente desde el servicio de scraping. Este endpoint obtiene los datos más recientes del feed de inmediato y consume créditos tras una sincronización exitosa. Todos los miembros y claves de API del equipo comparten un único límite entre todos los endpoints de sincronización. El límite compartido es de 1 para Starter o sin suscripción vigente, 5 para Standard y 10 para Premium.

⚠️ Nota importante: Este endpoint de sincronización es independiente y NO se integra con la plataforma web. Las operaciones de sincronización:

  • NO crearán ni actualizarán registros de feeds en el panel web
  • NO aparecerán en tu lista de feeds ni en tus colecciones
  • NO activarán webhooks ni notificaciones
  • SOLO devolverán los datos obtenidos directamente en la respuesta de la API

Este endpoint está diseñado para recuperación de datos única vía API. Para crear feeds de monitorización persistentes que aparezcan en la plataforma web, usa el endpoint Crear Feeds.

POST /api/v1/feeds/sync

Solicitud

Encabezados:

  • X-API-Key: Tu clave de API (obligatorio)
  • Content-Type: application/json

Cuerpo de la solicitud:

{
  "url": "https://www.tiktok.com/@user/video/1234567890"
}

Parámetros:

  • url (obligatorio): URL del feed a sincronizar. Debe ser una cadena válida y no vacía.

Respuesta

Respuesta exitosa (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.tiktok.com/@user/video/1234567890",
    "feedInfo": {
      "feed_id": "1234567890",
      "platform": 1,
      "platform_name": "tiktok",
      "url": "https://www.tiktok.com/@user/video/1234567890",
      "views": 1000000,
      "likes": 200000,
      "comments": 1000,
      "shares": 2000,
      "bookmarks": 200,
      "engagement": 512000,
      "description": "Descripción del video",
      "hashtags": ["tag1", "tag2"],
      "publish_at": 1234567890
    }
  }
}

Campos de respuesta:

  • success: Si la operación de sincronización fue exitosa
  • url: La URL del feed sincronizado
  • feedInfo: Información completa del feed incluyendo métricas, descripción, hashtags, etc.

Respuestas de error:

  • 429 Too Many Requests: Se alcanzó el límite compartido del equipo. La solicitud no se pone en cola.
  • 400 Bad Request: Créditos insuficientes o URL inválida

Solicitud de ejemplo

curl -X POST https://snstracker.com/api/v1/feeds/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.tiktok.com/@user/video/1234567890"
  }'

6. Sincronizar Canal

Sincroniza datos del canal directamente desde el servicio de scraping. Este endpoint obtiene los datos más recientes del canal de inmediato y consume créditos tras una sincronización exitosa. Todos los miembros y claves de API del equipo comparten un único límite entre todos los endpoints de sincronización. El límite compartido es de 1 para Starter o sin suscripción vigente, 5 para Standard y 10 para Premium.

Channel pricing note: Xiaohongshu channel tasks are priced separately from the default channel task price and currently cost 10 credits per successful request.

⚠️ Nota importante: Este endpoint de sincronización es independiente y NO se integra con la plataforma web. Las operaciones de sincronización:

  • NO crearán ni actualizarán registros de canales en el panel web
  • NO aparecerán en tu lista de canales ni en tus colecciones
  • NO activarán webhooks ni notificaciones
  • SOLO devolverán los datos obtenidos directamente en la respuesta de la API

Este endpoint está diseñado para recuperación de datos única vía API. Para crear canales de monitorización persistentes que aparezcan en la plataforma web, usa el endpoint Crear Canales.

POST /api/v1/channels/sync

Solicitud

Encabezados:

  • X-API-Key: Tu clave de API (obligatorio)
  • Content-Type: application/json

Cuerpo de la solicitud:

{
  "url": "https://www.tiktok.com/@username"
}

Parámetros:

  • url (obligatorio): URL del canal a sincronizar. Debe ser una cadena válida y no vacía.

Respuesta

Respuesta exitosa (200):

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.tiktok.com/@username",
    "channelInfo": {
      "id": "1234567890",
      "platform": 1,
      "platform_name": "tiktok",
      "username": "username",
      "nickname": "User Name",
      "description": "Descripción del canal",
      "followers": 1000000,
      "followings": 2000,
      "likes": 200000000,
      "total_count": 1000,
      "track_count": 1000,
      "status": 1
    }
  }
}

Campos de respuesta:

  • success: Si la operación de sincronización fue exitosa
  • url: La URL del canal sincronizado
  • channelInfo: Información completa del canal incluyendo métricas, descripción, etc.

Respuestas de error:

  • 429 Too Many Requests: Se alcanzó el límite compartido del equipo. La solicitud no se pone en cola.
  • 400 Bad Request: Créditos insuficientes o URL inválida

Solicitud de ejemplo

curl -X POST https://snstracker.com/api/v1/channels/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.tiktok.com/@username"
  }'

7. Sincronizar contenido de un canal

Devuelve una página con un máximo de 12 elementos por solicitud para Instagram y Reels, sin paginación automática. instagram incluye imágenes, vídeos y carruseles; reels devuelve vídeos Reels.

POST /api/v1/channels/feeds/sync
X-API-Key: your-api-key
Content-Type: application/json

Request and pagination

{
  "platform": "instagram",
  "channel_name": "instagram"
}
  • count es un entero positivo opcional que indica la cantidad deseada de elementos en esta página, sin valor predeterminado. Los límites dependen de la plataforma: Instagram y Reels devuelven como máximo 12 elementos por solicitud, y pueden devolver menos. Si se omite, se usa el tamaño de página predeterminado de la plataforma.
  • Omite cursor para la primera página. Para la siguiente, envía el next_cursor anterior sin modificar y conserva platform y channel_name. Al terminar: has_more=false, next_cursor=null.
{
  "platform": "instagram",
  "channel_name": "instagram",
  "cursor": "previous-next-cursor"
}

Cada página obtenida correctamente cuesta 10 créditos, incluidas las páginas vacías. Solo las solicitudes fallidas son gratuitas; se requiere un saldo inicial de 10 créditos. Comparte la concurrencia del equipo con las demás API de sincronización y no crea registros en el panel.

Response example (placeholder cursor) — reels, lunacut.edit, count=1

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "platform": "reels",
    "channel_name": "lunacut.edit",
    "channel_url": "https://www.instagram.com/lunacut.edit/",
    "requested_count": 1,
    "returned_count": 1,
    "has_more": true,
    "next_cursor": "cursor-from-response",
    "items": [
      {
        "feed_id": "4009169989985582972",
        "platform": 5,
        "platform_name": "reels",
        "type": "video",
        "url": "https://www.instagram.com/reel/Dejbt1JPz98/",
        "author_username": "lunacut.edit",
        "publish_at": 1792150387,
        "duration": 70.077,
        "view_count": 310475
      }
    ]
  }
}

platform and channel_name are required. channel_name is the username, not the display name; leading @ is accepted and dots are preserved. requested_count is null when count is omitted; returned_count equals items.length. Unknown metrics/timestamps are null. Posts may lack timestamps and carousel details. items uses the existing feed fields, including video_url, image_urls and cover_url; the example shows only selected fields. publish_at is Unix seconds and duration is seconds. Upstream order is preserved, without a most-popular sorting option; deduplicate across pages by feed_id. Empty pages can still have a next cursor; a carousel counts as one post.

Las métricas de items, como vistas (view_count), Me gusta (like_count), guardados (bookmark_count) y comentarios (comment_count), dependen de la plataforma y de los datos de su listado de contenido. Algunas pueden no estar disponibles. Las métricas no disponibles se devuelven como null, que no significa cero.

Para consultar métricas ausentes del listado, llama por separado a POST /api/v1/feeds/sync usando la url del elemento en el campo url del cuerpo de la solicitud. Esta consulta de detalle se cobra por separado según las reglas de ese endpoint. Los resultados dependen de los datos disponibles en la plataforma; no se garantiza recuperar todas las métricas faltantes.

HTTP: 400 invalid input/cursor or insufficient initial credits; 401 invalid API key; 403 disabled team or inaccessible channel; 402 insufficient credits at settlement; 429 team concurrency limit (Retry-After: 1); 502 upstream/invalid page; 503 service unavailable; 504 timeout.

8. Obtener información adicional del perfil

POST /api/v1/channels/about/sync

Solo Instagram y Reels. La entrada es el mismo url obligatorio de /api/v1/channels/sync: https://www.instagram.com/lunacut.edit/ o https://www.instagram.com/lunacut.edit/reels/. No requiere platform, count ni cursor. No acepta publicaciones ni otras plataformas.

curl -X POST https://snstracker.com/api/v1/channels/about/sync \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.instagram.com/lunacut.edit/"}'

Cada solicitud correcta cuesta 80 créditos, incluso con campos null. Los errores no se cobran; se requieren al menos 80 créditos antes de consultar. Comparte la concurrencia del equipo con las demás API síncronas: Starter/sin suscripción activa 1, Standard 5, Premium 10. No crea registros ni envía webhooks.

Ejemplo de respuesta; los campos dependen de la información pública de la cuenta.

{
  "code": 0,
  "message": "ok",
  "data": {
    "success": true,
    "url": "https://www.instagram.com/lunacut.edit/",
    "channelAbout": {
      "platform": 6,
      "platform_name": "instagram",
      "username": "lunacut.edit",
      "channel_url": "https://www.instagram.com/lunacut.edit/",
      "country": "Brazil",
      "country_visible": true,
      "date_joined": "2020-05",
      "date_joined_text": "May 2020"
    }
  }
}

country: país/región público, solo si country_visible=true; no es la ubicación IP en tiempo real. country_visible: visibilidad o null si se desconoce. date_joined: mes de registro (YYYY-MM) o null si falta/no se reconoce. date_joined_text: texto original de registro o null. No incluye biografía, seguidores ni nombres anteriores.

400 / 401 / 402 / 403 / 429 (Retry-After: 1) / 502 / 503 / 504.

Integración de Webhooks

SNSTracker admite webhooks para recibir notificaciones en tiempo real cuando el contenido monitoreado cumple tus umbrales configurados. Puedes configurar webhooks para recibir notificaciones sobre:

  • Actualizaciones de feeds: Cuando las visualizaciones, la interacción (me gusta + comentarios + compartidos) aumentan según tu umbral
  • Actualizaciones de canales: Cuando los seguidores, seguidos o me gusta aumentan según tu umbral

Configurar Webhooks

  1. Configura los destinos de webhook en la configuración de tus Colecciones
  2. Habilita las notificaciones en la configuración de tu Colección
  3. Establece los umbrales para las métricas que quieres monitorizar

Para instrucciones detalladas de configuración de webhooks, consulta la Guía de configuración de Webhooks.

Respuestas de error

Todos los endpoints pueden devolver las siguientes respuestas de error:

401 Unauthorized - Falta la clave de API

{
  "code": -1,
  "message": "X-API-Key header is required"
}

401 Unauthorized - Clave de API inválida

{
  "code": -1,
  "message": "Invalid API key"
}

400 Bad Request - Entrada inválida

{
  "code": -1,
  "message": "Invalid request: urls must be an array"
}

400 Bad Request - Demasiadas URLs (Crear Feeds)

{
  "code": -1,
  "message": "Maximum 200 URLs allowed per request"
}

400 Bad Request - Demasiadas URLs (Crear Canales)

{
  "code": -1,
  "message": "Maximum 200 URLs allowed per request"
}

400 Bad Request - Créditos insuficientes

{
  "code": -1,
  "message": "Insufficient credits. Required: 10, Available: 5"
}

429 Too Many Requests - Concurrencia de sincronización del equipo

{
  "code": -1,
  "message": "Maximum concurrent sync requests (1) reached for this team. Currently active: 1. Wait for a request to complete, or contact official support to increase the limit."
}

403 Forbidden - Colección inválida

{
  "code": -1,
  "message": "Collection not found or does not belong to your team"
}

404 Not Found

{
  "code": -1,
  "message": "No feeds found"
}

o

{
  "code": -1,
  "message": "No channels found"
}

Ejemplos de uso

Ejemplo en Python - Crear Feeds

import requests

url = "https://snstracker.com/api/v1/feeds"
headers = {
    "X-API-Key": "your-api-key-here",
    "Content-Type": "application/json"
}
data = {
    "urls": [
        "https://www.tiktok.com/@user/video/1234567890",
        "https://www.instagram.com/p/ABC123/"
    ]
}

response = requests.post(url, json=data, headers=headers)
result = response.json()

if result["code"] == 0:
    print(f"Successfully created {result['data']['success']} feeds")
    for feed in result["data"]["results"]:
        print(f"  - {feed['url']}: {feed['feedId']}")
else:
    print(f"Error: {result['message']}")

Ejemplo en JavaScript - Actualizar Feeds

const response = await fetch('https://snstracker.com/api/v1/feeds/refresh', {
  method: 'POST',
  headers: {
    'X-API-Key': 'your-api-key-here',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    feedIds: ['feed_abc123xyz', 'feed_def456uvw'],
  }),
});

const result = await response.json();

if (result.code === 0) {
  console.log(`Successfully refreshed ${result.data.total} feeds`);
  result.data.feedIds.forEach((feedId) => {
    console.log(`  - ${feedId}`);
  });
} else {
  console.error(`Error: ${result.message}`);
}

Notas importantes

  1. Validación de URLs: Todas las URLs se validan automáticamente antes de la creación. Las URLs inválidas se rechazarán.

  2. Elementos duplicados: Si un elemento con la misma URL ya existe en la colección:

    • Si está activo, se omitirá (marcado con skipped: true)
    • Si está detenido, se reanudará (marcado con resumed: true)
  3. Recolección de datos: Después de una creación exitosa, los elementos se ponen en cola para la recolección de datos. Los datos estarán disponibles poco después de la creación.

  4. Estado de actualización: Solo se pueden actualizar los elementos con estado "Pending" o "Tracked". Los elementos con otros estados se filtrarán.

  5. Créditos: Asegúrate de tener suficientes créditos antes de hacer solicitudes. Las operaciones de sincronización consumen créditos inmediatamente tras una recuperación de datos exitosa. Xiaohongshu channel tasks are priced separately and currently cost 10 credits per successful request. /api/v1/channels/feeds/sync: Cada página obtenida correctamente cuesta 10 créditos, incluidas las páginas vacías. Solo las solicitudes fallidas son gratuitas; se requiere un saldo inicial de 10 créditos. Comparte la concurrencia del equipo con las demás API de sincronización y no crea registros en el panel. /api/v1/channels/about/sync: Cada solicitud correcta cuesta 80 créditos, incluso con campos null. Los errores no se cobran; se requieren al menos 80 créditos antes de consultar. Comparte la concurrencia del equipo con las demás API síncronas: Starter/sin suscripción activa 1, Standard 5, Premium 10. No crea registros ni envía webhooks.

  6. Concurrencia de sincronización del equipo (/api/v1/feeds/sync + /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync): Todos los miembros y claves de API del equipo comparten un único límite entre todos los endpoints de sincronización. El límite compartido es de 1 para Starter o sin suscripción vigente, 5 para Standard y 10 para Premium. El límite sigue la suscripción vigente; una configuración específica del equipo establecida por el soporte oficial tiene prioridad. Para aumentar el límite del equipo, contacta con el soporte oficial.

  7. Sincronizar vs Crear: Los endpoints de sincronización (/api/v1/feeds/sync y /api/v1/channels/sync + /api/v1/channels/feeds/sync + /api/v1/channels/about/sync) son independientes y NO se integran con la plataforma web. Solo devuelven datos en la respuesta de la API y no crean registros en el panel. Para crear elementos de monitorización persistentes que aparezcan en la plataforma web, usa los endpoints de Crear (/api/v1/feeds y /api/v1/channels) en su lugar.

  8. Reintentos: Tras un 429, espera a que termine una solicitud activa y reintenta con intervalos crecientes respetando Retry-After. Tras un 503, reintenta más tarde.

  9. Plataformas compatibles: TikTok, Instagram, YouTube y otras plataformas principales de redes sociales.

Solución de problemas

Problema: "X-API-Key header is required"
Solución: Asegúrate de incluir el encabezado X-API-Key en tu solicitud.

Problema: "Invalid API key"
Solución: Verifica que tu clave de API sea correcta. Puedes crear una nueva en Settings → API Keys.

Problema: "Maximum URLs allowed per request"
Solución: Divide tus URLs en varias solicitudes. Los feeds permiten hasta 200 URLs, los canales permiten hasta 5 URLs por solicitud.

Problema: "No collection found"
Solución: Crea una colección primero en el panel, o especifica un ID de colección existente.

Problema: "Insufficient credits"
Solución: Compra más créditos o revisa tu plan de suscripción.

Problema: "No refreshable items found"
Solución: Solo se pueden actualizar los elementos con estado "Pending" o "Tracked". Revisa el estado de tus elementos.

Problema: Algunas URLs fallan la validación
Solución: Revisa el arreglo errors en la respuesta para ver mensajes de error específicos. Asegúrate de que las URLs sean de plataformas compatibles y de acceso público.