Guía paso a paso para conectar tus propias credenciales de API de X (Twitter) con Ayrshare
El 31 de marzo de 2026, X cambió la forma en que las plataformas de terceros acceden a su API. Como resultado, cada cuenta de Ayrshare que publique en X a través de Ayrshare debe registrar su propia X Developer App y usar su API Key y API Secret en cada solicitud.Este es un cambio a nivel de plataforma exigido por X que afecta a todas las herramientas de terceros.
Las claves BYO se establecen una vez por plataforma (a nivel de cuenta), no por cliente o subperfil. Creas una X Developer App bajo tu propia cuenta de X, y la misma API Key + API Secret se aplican a nivel de cuenta para X: se utilizan para cada subperfil / usuario final que vincule X bajo tu cuenta de Ayrshare. Si tienes un plan Business o Enterprise con cientos de subperfiles, no necesitas repetir esta configuración para cada uno. La configuras una vez para la plataforma X y luego pasas los mismos dos headers en cada solicitud.
Hemos simplificado el proceso de configuración para hacer esto lo más sencillo posible, y debería llevar menos de 10 minutos completarlo. Sigue nuestra guía paso a paso a continuación, y si necesitas ayuda en el camino, nuestro equipo está aquí para ayudar.
Solo creas una X Developer App por cuenta de Ayrshare. La misma app y su API Key + API Secret se reutilizan para cada subperfil / usuario final que vincules posteriormente bajo tu cuenta de Ayrshare. No creas una nueva app por cliente.
1
Navega a Apps
En la Developer Console, navega a Apps.
2
Crear la app
En el App dashboard, haz clic en Create App (consulta la documentación de configuración de App de X para más detalles). Introduce un nombre de app (típicamente el nombre de tu marca). Este nombre aparecerá en la pantalla de autorización de OAuth cuando los usuarios conecten su cuenta de X.
3
Seleccionar entorno
Selecciona el entorno Production en el desplegable.
4
Cierra la ventana emergente de credenciales inicial
X generará varias credenciales. Ignora estas credenciales y cierra esta ventana.
En “Apps”, localiza la nueva app (actualiza la página si no aparece) y luego haz clic en ella para ver sus detalles.En User authentication settings, haz clic en Set up.
2
Establecer permisos de la app
En App permissions, selecciona Read and write and Direct message. Esto es necesario para el soporte completo de funciones, incluidas las publicaciones y los DMs.
3
Establecer el tipo de app
En Type of App, selecciona Web App, Automated App or Bot. Esta es la elección correcta para integraciones del lado del servidor como Ayrshare.
4
Establece las URLs de callback y del sitio web
En App info:
Callback URL: Añade ambas de las siguientes URLs de callback:
https://profile.ayrshare.com/social-accounts
https://app.ayrshare.com/social-accounts
Website URL:https://app.ayrshare.com
No omitas este paso. Estas URLs de callback son necesarias para el flujo de vinculación OAuth. Cuando tus usuarios finales autorizan la conexión a X, X los redirige a una de estas URLs para completar el proceso de vinculación. Si faltan, el flujo de OAuth fallará con un error 403 Callback URL not approved.
5
Guarda tu configuración
Haz clic en Save. Puedes ignorar la ventana emergente de OAuth 2.0, ya que solo usarás 2 de las claves de OAuth 1.0 (API Key y API Secret).
Importante: establece los permisos antes de vincular. Los permisos que elijas aquí determinan lo que tu app puede hacer. Si cambias los permisos después de vincular tu cuenta de X vía OAuth, tendrás que volver a vincularla para que el nuevo Access Token herede los permisos actualizados.
Asegúrate de almacenar estas 2 claves:
API Key (también conocida como Consumer Key, el identificador de la app de X)
API Secret (también conocida como Consumer Secret)
NO necesitas generar manualmente Access Tokens. Ayrshare se encarga de esto automáticamente cuando vinculas tu cuenta de X vía OAuth.
X ahora usa facturación de API basada en créditos, comprados a través de la developer console.
1
Navega a facturación
En la Developer Console, haz clic en Billing → Credits en la barra lateral izquierda.
2
Comprar créditos
Compra créditos (el mínimo es $5, suficiente para cientos de llamadas a la API). Cada llamada a la API es una fracción de centavo, por lo que el costo debería ser mínimo para la mayoría de los usuarios.
3
Habilita la recarga automática
Puedes habilitar la auto-recharge para evitar interrupciones del servicio y gestionar tu spend cap estableciendo un monto máximo que puedes gastar en tu ciclo de facturación.
Tus llamadas a la API fallarán sin créditos. La API de X es de pago por uso. Si tu saldo de créditos es cero, cada solicitud a la API devolverá un error 402 CreditsDepleted con el mensaje “Your enrolled account does not have any credits to fulfill this request.” Esto incluye publicar, leer tweets y búsquedas de usuarios. Carga créditos antes de probar tu integración. Consulta Cómo funciona el precio de la API de X para una actualización completa sobre los precios de X.
Si los permisos de tu app están mal configurados, tu solicitud a la API puede devolver un error 403 Forbidden con el mensaje: “Your client app is not configured with the appropriate OAuth1 app permissions.”
Si ves este error, actualiza los permisos de tu app a Read and write and Direct message en la X Developer Console, luego vuelve a vincular tu cuenta de X vía OAuth para que el nuevo Access Token herede los permisos actualizados.
curl -X POST https://api.ayrshare.com/api/post \ -H "Authorization: Bearer YOUR_AYRSHARE_API_KEY" \ -H "X-Twitter-OAuth1-Api-Key: your_api_key" \ -H "X-Twitter-OAuth1-Api-Secret: your_api_secret" \ -H "Content-Type: application/json" \ -d '{"post": "Hello from my own X App!", "platforms": ["twitter"]}'
const response = await fetch("https://api.ayrshare.com/api/post", { method: "POST", headers: { "Authorization": "Bearer YOUR_AYRSHARE_API_KEY", "Content-Type": "application/json", "X-Twitter-OAuth1-Api-Key": process.env.X_API_KEY, "X-Twitter-OAuth1-Api-Secret": process.env.X_API_SECRET, }, body: JSON.stringify({ post: "Hello from my own X App!", platforms: ["twitter"], }),});
import osimport requestsheaders = { "Authorization": "Bearer YOUR_AYRSHARE_API_KEY", "Content-Type": "application/json", "X-Twitter-OAuth1-Api-Key": os.environ["X_API_KEY"], "X-Twitter-OAuth1-Api-Secret": os.environ["X_API_SECRET"],}response = requests.post( "https://api.ayrshare.com/api/post", headers=headers, json={"post": "Hello from my own X App!", "platforms": ["twitter"]},)
Tus automatizaciones y flujos de trabajo existentes seguirán funcionando siempre que incluyas los headers API Key y API Secret en cada solicitud dirigida a X.
Migrar perfiles existentes (Business y Enterprise)
Si tienes subperfiles que ya están vinculados a X a través de Ayrshare, esos perfiles necesitan volver a vincular sus cuentas de X después de cambiar a claves BYO. Esto se debe a que los access tokens existentes se emitieron bajo la app de X de Ayrshare y no se pueden usar con tus consumer keys (las firmas de OAuth 1.0a están vinculadas a la app que emitió el token).
1
Incluye tus claves en generateJWT
Añade twitterApiKey y twitterApiSecret al cuerpo de tu llamada a generateJWT. Estas se cifran antes de incrustarse en el JWT y no se exponen a tus usuarios finales.
Esta es la única solicitud donde tus consumer keys van en el cuerpo. Todas las demás solicitudes de X usan los headers descritos arriba.
2
Haz que los usuarios vuelvan a vincular X
Después de generar el JWT con las claves incluidas, tus usuarios necesitan reconectar su cuenta de X a través de la página de vinculación de perfiles. La pantalla de consentimiento de OAuth ahora mostrará el nombre de tu app en lugar del de Ayrshare.Para agilizar esto, puedes:
Desvincular cuentas programáticamente a través de la API de desvinculación, luego hacer que los usuarios re-autoricen
Usar el parámetro logout en generateJWT para forzar un nuevo inicio de sesión
Usar allowedSocial para mostrar solo X en la página de vinculación durante el flujo de migración
3
Sigue enviando headers en todas las llamadas a la API
Después de volver a vincular, continúa incluyendo los headers X-Twitter-OAuth1-Api-Key y X-Twitter-OAuth1-Api-Secret en cada llamada a la API (publicación, analíticas, comentarios, etc.).
Una vez que un perfil se haya vuelto a vincular bajo tu app de X, todas las publicaciones posteriores para ese perfil usarán tus credenciales. Puedes verificar esto revisando la página Usage en tu X Developer Console.
Haz una llamada de prueba a través de la API de Ayrshare con tus nuevos headers para confirmar que todo está funcionando. El endpoint /analytics/social es una buena prueba ligera, ya que no creará ninguna publicación.
Anteriormente, Ayrshare cubría el costo del uso de la API de X en tu nombre. Bajo el modelo actual de X, cada cliente de Ayrshare mantiene su propia cuenta de X Developer y paga a X directamente por las solicitudes a la API que hace su aplicación. (Una cuenta de X Developer por cuenta de Ayrshare, no por usuario final. Todos tus subperfiles comparten la misma cuenta de X Developer y el mismo saldo de créditos.)El modelo de precios de X es de pago por uso: compras créditos en la X Developer Console y se deducen a medida que se realizan las solicitudes a la API. No se necesitan contratos ni suscripciones.Las operaciones típicas son económicas. Por ejemplo:
Operación
Costo aproximado
Crear una publicación (solo texto)
~$0.01 por publicación
Crear una publicación con media
~$0.02 por publicación (la subida de media y la creación de la publicación son solicitudes separadas)
Leer una publicación
~$0.005 por lectura
Búsqueda de usuario
~$0.01 por búsqueda
Enviar un DM
~$0.01 por mensaje
Leer eventos de DM
~$0.01 por evento
Interacciones de usuario (seguir, dar like, etc.)
~$0.015 por solicitud
Como contexto, si publicas unas 100 veces al mes, tu costo directo con X sería probablemente alrededor de $1, y las publicaciones con media serían aproximadamente $2 al mes.
El precio de pago por uso de X está actualmente en fase piloto. Las tarifas están sujetas a cambios y pueden introducirse costos adicionales. Siempre consulta la Developer Console para conocer los precios más actuales. Consulta el desglose de información de precios de X.
Sabemos que esto introduce un costo que antes no existía, y queremos ser transparentes al respecto. Al mismo tiempo, este modelo también desbloquea varios beneficios que no eran posibles bajo la configuración previa de clave compartida.
Usar tus propias credenciales de API de X proporciona más control y fiabilidad que el modelo previo de clave compartida. Esto incluye:
Experiencia OAuth con marca: Los usuarios ven el nombre y la marca de tu app cuando autorizan el acceso a X.
Límites de tasa dedicados: Tu uso de la API se rige por los límites de tu propia cuenta de X Developer, separados de otros usuarios de Ayrshare. Puedes monitorear tu uso en la X Developer Console y revisar la documentación de rate limits de la API de X.
Control de credenciales: Tu API Key y Secret permanecen en tu propia cuenta de X Developer. Ayrshare no almacena tus claves secretas.
Portabilidad: Como los usuarios se autentican con tu X App, tu integración permanece totalmente bajo tu control.
Visibilidad del uso: Tu panel de X Developer muestra las solicitudes a la API, los rate limits y el uso de créditos.
X es la primera plataforma que requiere este modelo, pero más plataformas se están moviendo hacia “bring your own API key”. Estamos expandiendo esta capacidad a todo Ayrshare, para que los desarrolladores tengan el mismo control e independencia en todas las plataformas sociales.
¿Necesito configurar esto para cada cliente / subperfil?
No. Configuras una X Developer App bajo tu propia cuenta de X, y la misma API Key + API Secret se reutilizan para cada subperfil / usuario final que vincules bajo tu cuenta de Ayrshare.
Creas la X Developer App una vez.
Pasas los mismos dos headers (X-Twitter-OAuth1-Api-Key y X-Twitter-OAuth1-Api-Secret) en cada llamada a la API de Ayrshare, independientemente del subperfil al que se dirija la llamada.
Tus usuarios finales aún pasan cada uno por el flujo de vinculación OAuth para autorizar su propia cuenta de X, pero no necesitan su propia X Developer App o claves de API. Se conectan a través de tu app.
Todos los subperfiles comparten la misma cuenta de X Developer, los mismos rate limits y el mismo saldo de créditos.
La única vez que manejas las claves por perfil es en el cuerpo de generateJWT durante la migración, que sigue siendo tus dos mismas claves, solo entregadas a la página de vinculación para que los usuarios finales puedan re-autorizar bajo tu app.
¿El requisito de clave de API de X está activo ahora?
Sí. Desde el 31 de marzo de 2026, todas las operaciones de X a través de Ayrshare requieren tus propias credenciales de API de X. Si aún no has configurado tu cuenta de X Developer, sigue los pasos anteriores.
¿Qué pasa si no añado mi clave de API de X a Ayrshare?
Publicar en X a través de Ayrshare requiere tus propias credenciales de API de X. Las solicitudes sin credenciales BYO válidas son rechazadas. Publicar en otras plataformas (Instagram, LinkedIn, Facebook, TikTok, etc.) no se ve afectado.
¿Cuánto cuesta la API de X?
X cobra por llamada a la API. Crear una publicación cuesta alrededor de $0.01, y leer una publicación cuesta alrededor de $0.005. Por ejemplo, publicar 100 publicaciones al mes costaría aproximadamente $1. Consulta la página de precios de X para más detalles.
¿Esto cambia el precio de mi suscripción de Ayrshare?
No. El precio de tu suscripción de Ayrshare permanece igual. El único costo adicional es la tarifa de uso de la API de X facturada directamente por X a través de tu cuenta de desarrollador.
Ya tengo una cuenta de X Developer. ¿Puedo usar mi clave existente?
Sí. Puedes usar tu X App existente siempre y cuando tenga habilitados los permisos “Read and write” (y Direct Messages si usas funciones de DM).Necesitarás tu API Key (Consumer Key) y API Secret (Consumer Secret) de la sección Keys and tokens de la X Developer Console. Vincula tu cuenta de X vía OAuth y luego incluye estos 2 headers en tus solicitudes a la API de Ayrshare.Si has cambiado los permisos de tu app desde la configuración inicial, vuelve a vincular tu cuenta de X para que el Access Token herede los permisos actualizados.
El X Developer Portal muestra muchas credenciales. ¿Cuáles necesito realmente?
Necesitas tu API Key (Consumer Key) y API Secret (Consumer Secret). Consulta la tabla de referencia de headers arriba para saber exactamente a qué header de Ayrshare se asigna cada uno. Puedes ignorar el Client ID, Client Secret, Bearer Token, Access Token y Access Token Secret.
¿Cuál es la diferencia entre 'API Key' y 'Client ID'?
Son credenciales completamente diferentes para diferentes métodos de autenticación:
API Key (también llamada “Consumer Key”) es para OAuth 1.0a. API Key (Consumer Key) + API Secret es lo que Ayrshare usa. Funciona con todas las funciones de X, los tokens nunca expiran y no se necesita lógica de renovación.
Client ID es para OAuth 2.0. NO necesitas esto para Ayrshare. Los tokens de OAuth 2.0 expiran después de un corto período y requieren la gestión de refresh tokens.
Para Ayrshare, solo necesitas tu API Key y API Secret. Puedes ignorar el Client ID, Client Secret y Bearer Token.
¿Por qué OAuth 1.0a y no OAuth 2.0?
Los access tokens de OAuth 2.0 expiran cada 2 horas y los refresh tokens de X son de un solo uso (cada renovación invalida el token antiguo). Esto hace imposible soportar un modelo BYO sin estado, especialmente para publicaciones programadas. Los tokens de OAuth 1.0a nunca expiran, funcionan con todas las funciones de X y no requieren gestión de tokens.
¿Mis usuarios existentes necesitan volver a vincular sus cuentas de X?
Sí. Si tus usuarios vincularon X a través de Ayrshare antes de que configuraras claves BYO, tendrán que reconectarse. Los access tokens existentes se emitieron bajo la app de X de Ayrshare y no funcionarán con tus consumer keys. Consulta Migrar perfiles existentes arriba para el proceso paso a paso.
¿Este cambio afecta la publicación en Instagram, LinkedIn u otras plataformas?
No. Este cambio solo afecta la publicación en X. Todas las demás integraciones de plataformas en Ayrshare siguen funcionando como de costumbre.
¿Qué pasa con la publicación automática de RSS/Feed en X?
La publicación automática de RSS en X ya no está soportada. Los feeds RSS se ejecutan automáticamente según un horario, pero el modelo bring-your-own API key requiere que se proporcionen credenciales con cada solicitud a la API. Debido a esto, los feeds RSS no pueden autenticarse cuando se envía la publicación.Si previamente usabas RSS para publicar en X, recomendamos cambiar a publicaciones programadas o llamadas directas a la API que incluyan tus credenciales. La publicación automática de RSS en todas las demás plataformas no ha cambiado.
¿Por qué recibo un error 402 "CreditsDepleted"?
Esto significa que tu cuenta de X Developer no tiene créditos de API disponibles. Ve a console.x.com → Billing → Credits y compra créditos. Incluso $5 son suficientes para cientos de llamadas a la API. Una vez cargados los créditos, reintenta tu solicitud.
¿Por qué recibo un error 403 "Forbidden: OAuth1 App Permissions"?
Tu Access Token no tiene los permisos correctos. Esto normalmente significa una de dos cosas:
Los permisos de tu app están establecidos en “Read” en lugar de “Read and write.” Ve a la configuración de tu app en la Developer Console y cámbialos a Read and write and Direct message.
Cambiaste los permisos después de vincular tu cuenta de X. Los Access Tokens conservan los permisos con los que fueron creados. Vuelve a vincular tu cuenta de X vía OAuth para que el nuevo token herede los permisos actualizados.
¿Qué pasa si necesito ayuda para configurar esto?
Nuestro equipo de soporte está encantado de ayudar. Si tienes alguna pregunta o encuentras problemas durante la configuración, contáctanos a través de support@ayrshare.com y te guiaremos en el proceso.
Asegúrate de estar enviando ambos headers requeridos:
X-Twitter-OAuth1-Api-Key
X-Twitter-OAuth1-Api-Secret
Si ves un error de par no coincidente (por ejemplo, “You provided Api-Key but not Api-Secret”), significa que uno de los dos está faltando. Ambos son siempre necesarios.El mensaje de error te dirá qué header específico falta.
Recibo un error 403: "Callback URL not approved"
Si ves este error al intentar vincular tu cuenta de X, asegúrate de haber añadido las URLs de callback requeridas a la configuración de tu X Developer App (en Authentication settings > Callback URI / Redirect URL):
Tu cuenta de X Developer no tiene créditos de API cargados. Ve a console.x.com → Billing → Credits y compra créditos. Incluso $5 son suficientes para cientos de llamadas a la API.
Recibo un error 403: "oauth1 app permissions"
Tu Access Token no tiene los permisos correctos. Esto normalmente significa:
Los permisos de tu app están establecidos en “Read” en lugar de “Read and write.” Ve a la configuración de tu app en la Developer Console y cámbialos a Read and write and Direct message.
Cambiaste los permisos después de vincular tu cuenta de X. Los Access Tokens conservan los permisos con los que fueron creados. Vuelve a vincular tu cuenta de X vía OAuth para que el nuevo token herede los permisos actualizados.
Si tienes alguna pregunta o encuentras problemas al configurar tu clave de API de X, nuestro equipo de ingeniería está encantado de ayudar. Puedes contactarnos en cualquier momento en support@ayrshare.com.