Necesitas información de perfil de Twitter y contexto de interacción en tu aplicación de Node.js esta semana, no el próximo mes. Al final de esta guía, obtendrás detalles de perfil verificados, una lista de seguidores de un usuario y respuestas recientes utilizando la API Todo-en-Uno de Datos de Twitter de Zyla API Hub, con código curl y Node.js que puedes copiar y pegar en producción.
Lo que puedes construir con la API Todo-en-Uno de Datos de Twitter
La API Todo-en-Uno de Datos de Twitter te ayuda a recuperar programáticamente:
- Información adicional del perfil (verificación, etiquetas comerciales, avatar, detalles de origen de la cuenta).
- La lista de cuentas que sigue un usuario.
- Las respuestas recientes de un usuario (incluyendo conteos de retweets, respuestas, citas donde se devuelven).
Los casos de uso típicos incluyen paneles de análisis social, enriquecimiento de CRM para leads con presencia en Twitter, monitoreo automatizado de marcas y flujos de trabajo que necesitan una rápida instantánea de la actividad y relaciones de un usuario.
Todas las llamadas se realizan a través de Zyla API Hub con una cuenta, una clave de API y un modelo de suscripción + cuota (no pago por llamada). El mercado de Zyla abarca más de 10,000 APIs públicas, por lo que puedes reutilizar la misma clave en diferentes categorías según sea necesario.
Comenzando en Zyla API Hub
Para comenzar, abre la página de la API en Zyla: API Todo-en-Uno de Datos de Twitter. Haz clic en Suscribirse o Comenzar Prueba Gratuita si está disponible. La primera API de Zyla generalmente ofrece una prueba de 7 días o 50 solicitudes; no hay Plan Gratuito. Consulta la página de la API para las opciones de acceso y precios actuales.
Después de suscribirte, recibirás una clave de API. Autentica cada solicitud con el encabezado: Authorization: Bearer YOUR_API_KEY.
Si aún no tienes una cuenta, crea una aquí: Registrarse.
Descripción general de los endpoints
Todos los endpoints a continuación requieren el encabezado de Autorización. Los ejemplos utilizan el parámetro screenname documentado y URLs concretas. No agregues parámetros adicionales.
Acerca del perfil
Devuelve información adicional sobre un perfil.
- Método: GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile
- Parámetros de consulta requeridos:
- screenname (string): elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Siguiendo
Obtén la lista de cuentas que el usuario está siguiendo.
- Método: GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following
- Parámetros de consulta requeridos:
- screenname (string): elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Respuestas del usuario
Recupera las respuestas de un usuario.
- Método: GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies
- Parámetros de consulta requeridos:
- screenname (string): elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Inicio rápido de Node.js (Acerca del perfil)
Este ejemplo utiliza fetch nativo (Node.js 18+). Llama al endpoint Acerca del perfil y lee varios campos útiles: verificación, avatar, etiqueta comercial y detalles de origen.
import { setTimeout as delay } from "node:timers/promises";
const API_URL = "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk";
const API_KEY = "YOUR_API_KEY"; // Almacenar de forma segura (var de entorno, administrador de secretos)
async function fetchAboutProfile(retries = 3) {
for (let attempt = 1; attempt <= retries; attempt++) {
const res = await fetch(API_URL, {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
}
});
if (res.ok) {
const data = await res.json();
// Acceder a los campos documentados
const {
status,
profile,
rest_id,
blue_verified,
affiliates,
business_account,
verified_since,
avatar,
name,
protected: isProtected,
about,
id
} = data;
console.log("Status:", status);
console.log("Profile:", profile, "(id:", id, "rest_id:", rest_id + ")");
console.log("Blue verified:", blue_verified);
console.log("Avatar URL:", avatar);
console.log("Protected:", isProtected);
console.log("Business account:", business_account);
console.log("Verified since (raw):", verified_since);
if (affiliates?.label) {
console.log("Affiliate label description:", affiliates.label.description);
console.log("Affiliate badge URL:", affiliates.label.badge?.url);
console.log("Affiliate link URL:", affiliates.label.url?.url);
}
if (about) {
console.log("Account based in:", about.account_based_in);
console.log("Location accurate:", about.location_accurate);
console.log("Learn more URL:", about.learn_more_url);
console.log("Affiliate username:", about.affiliate_username);
console.log("Source:", about.source);
console.log("Username change count:", about.username_changes?.count);
}
return data;
}
// Reintento simple con retroceso en caso de no-2xx
if (attempt < retries) {
const waitMs = 250 * attempt;
console.warn(`HTTP ${res.status} - retrying in ${waitMs}ms...`);
await delay(waitMs);
continue;
} else {
const text = await res.text();
throw new Error(`Request failed after ${retries} attempts: ${res.status} ${text}`);
}
}
}
fetchAboutProfile().catch(err => {
console.error("Error:", err.message);
process.exit(1);
});
JSON esperado (Acerca del perfil)
A continuación se muestra un ejemplo de respuesta documentada para el endpoint Acerca del perfil. Los valores son los devueltos en el ejemplo.
{"status":"active","profile":"elonmusk","rest_id":"44196397","blue_verified":true,"affiliates":{"label":{"badge":{"url":"https:\/\/pbs.twimg.com\/profile_images\/1955359038532653056\/OSHY3ewP_bigger.jpg"},"description":"X","url":{"url":"https:\/\/twitter.com\/X","urlType":"DeepLink"},"userLabelDisplayType":"Badge","userLabelType":"BusinessLabel"}},"business_account":null,"verified_since":"-156836000000000","avatar":"https:\/\/pbs.twimg.com\/profile_images\/2008546467615580160\/57KcqsTA_normal.jpg","name":"Elon Musk","protected":false,"about":{"account_based_in":"United States","location_accurate":false,"learn_more_url":"https:\/\/help.twitter.com\/managing-your-account\/about-twitter-verified-accounts","affiliate_username":"X","source":"United States App Store","username_changes":{"count":"0"}},"id":"44196397"}
Notas de campo que probablemente usarás:
- status: indicador de estado del perfil.
- profile e id/rest_id: identificadores para uniones o cachés posteriores.
- blue_verified: booleano; bueno para insignias de elegibilidad en la interfaz de usuario.
- affiliates.label: insignia estructurada de negocio/afiliado, con enlace y URL de insignia.
- avatar: URL de la imagen de avatar actual.
- about.account_based_in y about.source: contexto sobre el origen de la cuenta.
- verified_since: devuelto como una cadena; trátalo como un valor opaco a menos que hayas confirmado cómo planeas mostrarlo.
Ejemplos adicionales de endpoints
Siguiendo (curl + consejos de uso)
Utiliza esto para construir un explorador de gráficos de seguidores, resaltar intereses compartidos o enriquecer entradas de CRM con una lista de cuentas seguidas.
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Ejemplo de respuesta documentada:
{"following":[{"user_id":"1671483632551186433","screen_name":"TechMine_Mw","description":"Malawi’s premier SAAS firm 🌐 | Leaders in digital transformation, website development, design, and marketing 🖥️🎨 | Shaping Malawi’s tech future 🇲🇼","profile_image":"https:\/\/pbs.twimg.com\/profile_images\/1847661011731431425\/FNhbpOqP_normal.jpg","statuses_count":5,"followers_count":6,"friends_count":10,"media_count":3,"name":"TechMine INC."},{"user_id":"44196397","screen_name":"elonmusk","description":"","profile_image":"https:\/\/pbs.twimg.com\/profile_images\/1874558173962481664\/8HSTqIlD_normal.jpg","statuses_count":65409,"followers_count":210941749,"friends_count":926,"media_count":3038,"name":"Elon Musk"}],"status":"ok","more_users":false}
Notas prácticas:
- Utiliza more_users para decidir si tu interfaz de usuario debe mostrar una opción de “Cargar más”. Trátalo como una señal boolean para la disponibilidad de datos adicionales.
- Los conteos como followers_count y friends_count son instantáneas y pueden cambiar con frecuencia; almacena en caché en consecuencia.
Respuestas del usuario (curl + notas)
Utiliza esto para resaltar los patrones de interacción de un usuario o para activar alertas cuando participen en hilos relevantes para tu producto.
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Extracto de ejemplo de respuesta documentada (los campos varían según el tweet; los valores se muestran como se proporcionaron):
{"timeline":[{"tweet_id":"1867196702865674450","bookmarks":0,"created_at":"Thu Dec 12 13:15:59 +0000 2024","favorites":0,"text":"RT @cb_doge: Every citizen journalist who fought the legacy media narrative and spread the truth this election is the Person of the Year.…","lang":"en","in_reply_to_status_id_str":null,"views":null,"quotes":0,"replies":0,"retweets":10,"conversation_id":"1867196702865674450","media":[],"entities":{"user_mentions":[{"id_str":"1389913567671975937","name":"DogeDesigner","screen_name":"cb_doge"}],"urls":[],"hashtags":[],"symbols":[]},"author":{"rest_id":"44196397","name":"Elon Musk","screen_name":"elonmusk","followers_count":207267106,"favourites_count":99802,"avatar":"https:\/\/pbs.twimg.com\/profile_images\/1858316737780781056\/kPL61o0F_normal.jpg","blue_verified":true},"retweeted":{"id":"1867196122143563838"},"retweeted_tweet":{"tweet_id":"1867196122143563838","bookmarks":0,"created_at":"Thu Dec 12 13:13:41 +0000 2024","favorites":119,"text":"Every citizen journalist who fought the legacy media narrative and spread the truth this election is the Person of the Year. \n\n https:\/\/t.co\/B8boPofzKx","lang":"en","quotes":2,"replies":60,"retweets":10,"conv…
Notas prácticas:
- Los valores created_at se devuelven como cadenas de fecha-hora; maneja como están para mostrar o normaliza a la zona horaria de tu aplicación.
- Las entidades (menciones, urls, hashtags) ayudan a enlazar contenido o filtrar por tema.
- Los conteos como replies, retweets, quotes son conteos instantáneos; no asumas estabilidad a largo plazo para análisis sin actualizaciones periódicas.
Consejos de producción que ahorran tiempo
- Autenticación: Siempre establece Authorization: Bearer YOUR_API_KEY. No agregues claves de consulta adicionales.
- Manejo de errores: En no-2xx, reintenta con retroceso exponencial para problemas transitorios. Registra el cuerpo de la respuesta para depuración.
- Almacenamiento en caché: Los datos de perfil cambian con menos frecuencia que las líneas de tiempo; almacena en caché las respuestas de Acerca del perfil más tiempo que las líneas de tiempo de respuestas.
- Tasa y cuota: El mercado utiliza suscripción + cuota. Tu primera API en Zyla generalmente incluye una prueba de 7 días o 50 solicitudes. Para límites actuales, consulta la página de la API.
- Nullabilidad: Campos como business_account pueden ser nulos. Siempre verifica nulos en rutas anidadas (por ejemplo, affiliates.label.badge).
- Internacionalización: Los campos de texto pueden incluir emojis y caracteres no latinos; asegúrate de un manejo seguro de UTF-8 de extremo a extremo.
- Seguridad: Mantén YOUR_API_KEY en variables de entorno o un administrador de secretos; nunca lo comites en el control de versiones.
Casos de uso en el mundo real
- Enriquecimiento de leads: Obtén Acerca del perfil para marcar blue_verified y adjuntar avatar/nombre para flujos de trabajo de SDR.
- Mapeo de asociaciones: Utiliza Siguiendo para descubrir marcas y creadores que un prospecto sigue antes de contactar.
- Alertas de interacción: Consulta Respuestas del usuario y resalta hilos donde se menciona tu marca o competidores.
- Herramientas de agente: Da a tus asistentes de IA internos la capacidad de obtener una rápida instantánea del perfil y contexto para la toma de decisiones.
Explora la página de la API nuevamente aquí para detalles y actualizaciones: API Todo-en-Uno de Datos de Twitter. Navega más categorías en el mercado: Zyla API Hub.
Llamando a la API desde un agente de IA a través de MCP
La API Todo-en-Uno de Datos de Twitter puede ser llamada desde clientes compatibles con MCP (por ejemplo, Claude Code, Cursor, Windsurf) a través del endpoint MCP de Zyla. Apunta tu cliente MCP a:
Cuando tu agente realice una llamada a la herramienta, dirígelo a invocar las URLs documentadas del Hub (por ejemplo, la URL Acerca del perfil) e incluye el encabezado Authorization: Bearer YOUR_API_KEY. Utiliza los mismos patrones de solicitud que ves en los ejemplos de curl. Esto permite que tu agente de codificación recupere datos de Twitter bajo demanda mientras mantiene la autenticación centralizada en tu configuración de MCP.
Resolución de problemas y observabilidad
- Time-outs de red: Establece time-outs razonables (5–15s). Implementa reintentos en time-outs y respuestas 5xx.
- Datos parciales: Si falta un campo anidado (por ejemplo, affiliates.label), trátalo como opcional en tu esquema y sigue renderizando los campos de perfil primarios.
- Auditoría: Registra las URLs de solicitud y los códigos de estado de respuesta (no secretos) para correlacionar picos con despliegues o tráfico.
- Backfills: Para trabajos por lotes, escalona solicitudes y respeta tu cuota para evitar limitaciones; almacena en caché entidades estables como rest_id.
Referencia para copiar y pegar
Acerca del perfil (curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Siguiendo (curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Respuestas del usuario (curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
FAQ
¿Cómo me autentico?
Incluye el encabezado Authorization: Bearer YOUR_API_KEY en cada solicitud.
¿Hay un plan gratuito?
No hay Plan Gratuito. Para tu primera API en Zyla, generalmente obtienes una prueba de 7 días o 50 solicitudes. Consulta la página de la API para las opciones de acceso y precios actuales.
¿Qué parámetros son requeridos?
Para los endpoints documentados arriba, pasa screenname como se muestra (por ejemplo, screenname=elonmusk). No agregues parámetros adicionales.
¿Cuál es la forma de la respuesta?
Utiliza los ejemplos documentados en este artículo como referencia. Solo confía en los campos mostrados por la API: para Acerca del perfil (status, profile, rest_id, blue_verified, affiliates, business_account, verified_since, avatar, name, protected, about, id), para Siguiendo (array de following con campos de usuario, status, more_users), y para Respuestas del usuario (entradas de timeline con campos de tweet y autor donde se proporcionen).
¿Puedo llamar a la API desde agentes de codificación de IA?
Sí. Utiliza el endpoint MCP de Zyla y haz que tu agente llame a las mismas URLs del Hub con el encabezado de Autorización. Consulta el enlace de MCP arriba.
Implementa tu integración hoy: crea tu cuenta, suscríbete a la API y obtén tu clave aquí: Registrarse. Explora más APIs de redes sociales y más en Zyla API Hub y la lista de API Todo-en-Uno de Datos de Twitter en esta página.