Saltar al contenido
Twexapi
Español
Esc
↑↓navegar↵abrir⌘Jvista previa
En esta página

Códigos de error de la API de Twitter y referencia de estados HTTP

Resuelve errores de la API de Twitter/X en TwexAPI: HTTP 401, 403, 429 y 5xx, invalid auth_token, tweets duplicados, límites de mensajes directos y reintentos seguros.

TwexAPI informa los fallos de la API de Twitter/X mediante estados HTTP y, cuando están disponibles, códigos de error de X. Un 401 requiere corregir las credenciales; un 403, resolver un problema de acceso o de la cuenta; y un 429, esperar a que se restablezca el límite de solicitudes. Revisa el cuerpo de la respuesta antes de reintentar.

Usa esta referencia para resolver códigos de error de la API de Twitter, invalid auth_token, tweets duplicados y límites de mensajes directos. Las rutas de los endpoints siguen la referencia de la API actual. Para errores de MCP, recuperación de la paginación y ejemplos de SDK, consulta Manejo de errores.

Los mensajes y códigos de X que aparecen a continuación son ejemplos para diagnosticar problemas; la estructura de las respuestas y su correspondencia con los estados HTTP pueden variar según el endpoint. Consulta tanto el esquema del endpoint como la respuesta real.

Encuentra la solución al error de la API de Twitter

  • HTTP 401 / Invalid auth_token: revisa tanto tu clave de API de TwexAPI como las credenciales de sesión de X que usan los endpoints de escritura. Consulta Autenticación.
  • HTTP 403: revisa si el mensaje indica créditos insuficientes, publicaciones protegidas, restricciones de la cuenta o requisitos de Premium. Repetir una solicitud sin cambios no restablece el acceso.
  • HTTP 429 / Too Many Requests: respeta Retry-After o retry_after y distingue entre la limitación de solicitudes y el límite diario de una cuenta de X. Consulta Límites de solicitudes.
  • HTTP 500 / 502 / 503: reintenta los fallos transitorios de lectura con esperas progresivas que tengan un máximo. Comprueba si una escritura ya se completó antes de repetirla.
  • Códigos de X 187, 344 o 502: son códigos de X, distintos de los estados HTTP. Consulta la tabla de códigos de Twitter/X y las preguntas sobre reintentos.

Formato de las respuestas de error

Conserva el estado HTTP y el cuerpo JSON completo. Las respuestas de TwexAPI pueden incluir code y msg; los errores de validación de solicitudes usan detail:

{
  "code": 500,
  "msg": "Internal server error"
}
{
  "detail": [
    {
      "loc": ["body", "cookie"],
      "msg": "Field required",
      "type": "missing"
    }
  ]
}

Si la respuesta incluye metadatos adicionales de X, consérvalos:

  • error: un mensaje de error, cuando se proporciona. No supongas que todos los endpoints usan este campo.
  • twitter_error_code: un código de error de X, cuando se proporciona. Es independiente del estado HTTP; por ejemplo, el código de X 502 se refiere a un límite de mensajes directos.
  • retry_after: los segundos que debes esperar, cuando se proporciona. Respeta también el encabezado HTTP Retry-After.

No exijas que existan campos opcionales ni decidas qué hacer basándote solo en el texto exacto del mensaje. Un estado HTTP distinto de 2xx indica un fallo, aunque el cuerpo contenga un code diferente.

Errores comunes en todos los endpoints

Revisa estas condiciones en cualquier solicitud. Los mensajes exactos pueden variar.

Estado Mensaje Qué significa Qué hacer
401 Invalid or missing API key Falta tu clave de API o es incorrecta Revisa el encabezado Authorization: Bearer <key>
400 Missing required … param: <x> Falta un campo o parámetro obligatorio, o no es válido Corrige la solicitud
429 Please try again shortly. (nuestra capacidad) · Rate limit exceeded… · o un mensaje de límite de X Demasiadas solicitudes, capacidad de nuestro servicio o un límite de la cuenta de X (p. ej., límite diario de mensajes directos o tweets; puede incluir twitter_error_code) Respeta retry_after / Retry-After; los límites diarios de la cuenta requieren una espera más larga
403 Créditos agotados o acceso denegado Créditos insuficientes o falta de permisos de la cuenta Revisa el saldo y el acceso de la cuenta
422 Error de validación (detail) Los campos de la solicitud no pasaron la validación del esquema Corrige los campos indicados en detail; no reintentes sin cambios
500 Internal server error Ocurrió un error temporal Reintenta en breve

Estados HTTP de la API de Twitter

Estado Significado
200 Éxito
202 Aceptado; si un endpoint devuelve este estado, la acción está pendiente
400 Solicitud incorrecta, parámetros faltantes o no válidos, URL de proxy no válida o archivo multimedia demasiado grande
401 No autorizado, clave de API incorrecta o auth_token no válido o vencido
403 Prohibido: créditos insuficientes, una cuenta de destino protegida/privada o suspendida (no se pueden leer sus publicaciones), una cuenta suspendida o bloqueada que estás usando, una restricción de permisos o una acción exclusiva de Premium
404 No encontrado; el usuario, tweet o recurso no existe
409 Conflicto, tweet duplicado
410 Recurso no disponible; revisa el cuerpo para conocer los detalles de la suspensión de la cuenta
422 Falló la validación de la solicitud; revisa detail y corrige los datos de entrada
423 Si X lo devuelve: la cuenta está bloqueada o requiere verificación
429 Demasiadas solicitudes; se alcanzó un límite de solicitudes
500 / 502 / 503 Error temporal del servidor o del servicio de origen; reintenta

Códigos de error de la API de Twitter/X

Cuando la respuesta incluya un código de X, usa los siguientes significados. Son códigos de X, no estados HTTP, y no todos los endpoints exponen twitter_error_code.

Código Significado Qué hacer
32 No se pudo autenticar tu cuenta Renueva las credenciales de sesión de X proporcionadas en cookie
63 La cuenta de destino está suspendida Usa una cuenta accesible o espera a que se restablezca el acceso
64 Tu cuenta está suspendida Usa otra cuenta
131 Error interno temporal de X Reintenta
139 Ya diste Me gusta Confirma el estado actual; no repitas la acción
144 No se encontró ningún tweet con ese ID Se eliminó el tweet o el ID es incorrecto
187 Tweet duplicado Confirma la publicación anterior y cambia el texto si quieres crear una nueva
226 La solicitud pareció automatizada Reintenta
326 Cuenta bloqueada temporalmente Desbloquéala en x.com/account/access y luego reintenta
327 Ya retuiteaste Confirma el estado actual; no repitas la acción
344 Publicación limitada temporalmente (limitación de red/IP, no de la cuenta) Aumenta la espera y revisa el proxy si proporcionaste uno; confirma el resultado de la escritura antes de reintentar
349 No puedes enviar mensajes a este usuario El destinatario no acepta tus mensajes directos
399 Falló el inicio de sesión en X Revisa las credenciales de sesión de X
433 Respuestas restringidas / se requiere Premium El tweet restringe quién puede responder o la acción requiere X Premium
465 No se puede retuitear un tweet antiguo El tweet es demasiado antiguo para retuitearlo
476 No se permite enviar solicitudes de mensajes La cuenta no puede enviar solicitudes de mensajes directos
502 Se alcanzó el límite diario de mensajes directos (solicitudes de mensajes) Espera 24 horas o usa una cuenta de X Premium para obtener límites más altos

Lectura de tweets y búsqueda

Se aplica a POST /twitter/{screen_name}/timeline/page, /twitter/tweets-replies/page y /twitter/advanced_search/page.

Estado Mensaje Qué hacer
403 This account's posts are not available. The account is protected (private), suspended, or no longer active. No reintentes sin cambios: el acceso debe cambiar para que la solicitud pueda completarse. Solo los seguidores aprobados pueden leer las publicaciones de la cuenta de destino. Dirige la solicitud a una cuenta pública.
403 This account is suspended, so its posts are not available. La cuenta de destino está suspendida. Usa una cuenta accesible o espera a que se restablezca el acceso.
502 Upstream returned an unexpected response — please retry. Fallo del servicio de origen. Reintenta con esperas progresivas que tengan un máximo; conserva el mismo cursor.

Publicaciones e interacciones

Crear un tweet

POST /twitter/tweets/create

Usa tweet_content, el campo opcional reply_tweet_id y tus credenciales de X en cookie. Consulta Crear un tweet o una respuesta.

Estado Código Mensaje Qué hacer
409 187 Status is a duplicate. Comprueba si la publicación ya existe; cambia el texto para crear una nueva
403 433 The original Tweet author restricted who can reply… El tweet no permite tu respuesta
403 433 El texto extenso o video largo requiere Premium Usa una cuenta Premium o acorta el contenido
403 n/a No eres miembro de la comunidad Únete primero a la comunidad
429 344 Publicación limitada temporalmente (limitación de red/IP) Aumenta la espera; revisa el proxy proporcionado y confirma si se creó la publicación
502 n/a X returned an empty result (resultado sin confirmar) Lee la cronología de la cuenta antes de reintentar; el resultado de la escritura no está confirmado
400 n/a File size exceeds… Reduce el tamaño del archivo multimedia
503 226 This request looks automated Aumenta la espera y comprueba el resultado de la escritura antes de reintentar
502 / 503 n/a Error temporal de conexión Reintenta (si proporcionaste un proxy, confirma que funciona)

Me gusta / Retuitear / Guardar en marcadores

POST /twitter/tweets/{tweet_id}/like · /twitter/tweets/{tweet_id}/retweet · /twitter/tweets/{tweet_id}/bookmark

DELETE /twitter/tweets/{tweet_id}/like · /twitter/tweets/{tweet_id}/retweet · /twitter/tweets/{tweet_id}/bookmark

Estado Código Mensaje Qué hacer
403 n/a User is suspended, deactivated or offboarded La cuenta no está disponible; usa otra cuenta
401 32 Could not authenticate you Renueva las credenciales de sesión de X proporcionadas en cookie
403 465 not permitted to retweet an outdated Tweet El tweet es demasiado antiguo para retuitearlo
Varía 139 / 327 Ya diste Me gusta / ya retuiteaste Confirma el estado actual; no repitas la acción
429 n/a Límite de solicitudes Reduce la frecuencia y luego reintenta
502 / 503 n/a Error temporal de conexión Reintenta

Eliminar un tweet

POST /twitter/tweets/delete-batch

Proporciona target_id para eliminar un solo tweet. Si lo omites, seleccionas la eliminación masiva; conserva los campos de la solicitud original al recuperarte de errores.

Estado Mensaje Qué hacer
404 No status found with that ID Ya se eliminó o el ID es incorrecto
403 No eres el autor Solo puedes eliminar tus propios tweets
401 auth_token no válido Renueva las credenciales de sesión de X

Seguir / Dejar de seguir

POST /twitter/user/follow · DELETE /twitter/user/follow

Estado Mensaje Qué hacer
404 User not found Revisa el nombre de usuario o ID
403 Restringido Tu cuenta o la cuenta de destino no lo permite
401 auth_token no válido Renueva las credenciales de sesión de X
429 Límite para seguir cuentas Espera y luego reintenta

Actualizar el perfil / Avatar / Imagen de encabezado

POST /twitter/profile

Usa profile_image y profile_banner para las URL de las imágenes, y cookie para las credenciales de X.

Estado Mensaje Qué hacer
401 Invalid auth_token - could not fetch credentials Renueva las credenciales de sesión de X
400 Imagen demasiado grande / formato incorrecto Corrige la imagen

Archivos multimedia adjuntos

Adjunta archivos multimedia al crear tweets o enviar mensajes directos; la referencia actual no incluye una ruta independiente para cargar archivos multimedia. Al crear un tweet, media_urls admite hasta cuatro imágenes, un GIF o un video. No combines un GIF o video con otros archivos multimedia. Corrige las URL inaccesibles, los formatos no compatibles o los tamaños de archivo rechazados antes de reintentar. Sigue el esquema del endpoint para los nombres de los campos y sus restricciones.

Mensajes directos

POST /v3/twitter/send-dm · /v3/twitter/dm-history · /v3/twitter/conversations

Para comprobar los permisos, usa POST /v2/dm/status. Consulta Enviar un mensaje directo.

Estado Código Mensaje Qué hacer
429 502 You've hit your daily message request limit. Subscribe to Premium for higher limits. Espera 24 h o usa una cuenta Premium
403 476 Sender is not verified to send message requests La cuenta no puede enviar solicitudes de mensajes directos
403 349 Cannot send messages to this user El destinatario no acepta tus mensajes directos
401 32 Could not authenticate you Renueva las credenciales de sesión de X
404 n/a Conversación / usuario no encontrado Revisa el destinatario

Lectura de datos

POST /v2/tweet/detail · /twitter/tweets/lookup · /twitter/users/by_ids · /v3/twitter/users/followers · /v3/twitter/users/following · /twitter/tweets/thread_by_id · /twitter/tweets/{tweet_id}/replies/page

GET /twitter/{screen_name}/about · /twitter/search-user/{keyword}/{target_count}

Estado Mensaje Qué hacer
404 Tweet not found: <id> El tweet se eliminó, está protegido o el ID es incorrecto
404 Could not resolve userId for @<handle> El nombre de usuario no existe, cambió o corresponde a una cuenta suspendida
404 Could not find user with ID: <id> Revisa el ID del usuario
400 Missing required query param: <x> Proporciona el parámetro obligatorio
429 Límite de solicitudes Espera retry_after y luego reintenta

Artículos

POST /x/article · GET /x/article/{tweet_id}/markdown

Para escrituras: POST /x/articles/draft · PUT /x/articles/{article_id}/cover · /x/articles/{article_id}/title · /x/articles/{article_id}/content · POST /x/articles/{article_id}/publish o /x/articles/publish.

El requisito de Premium indicado a continuación se aplica a la publicación de artículos. Usa preferentemente el flujo de artículos paso a paso para conservar article_id y reintentar solo el paso que falló.

Estado Mensaje Qué hacer
403 Se requiere Premium Para publicar artículos necesitas una cuenta de X Premium
404 Artículo no encontrado Revisa el ID del artículo
401 auth_token no válido Renueva las credenciales de sesión de X
400 Contenido no válido Corrige el cuerpo del artículo

Guía de reintentos

Si ves… ¿Reintentar? Notas
429 ✅ después de la espera indicada Respeta tanto los límites diarios de la cuenta como los límites de solicitudes
422 ❌ Corrige los campos indicados en la respuesta de validación
500 / 502 / 503 ✅ Error temporal; reintenta en breve
Código de X 226 Después de comprobar el resultado de la escritura Aumenta la espera; revisa las restricciones de la cuenta antes de reintentar
401 ❌ Corrige tu clave de API o renueva las credenciales de sesión de X
403 (cuenta suspendida/bloqueada) ❌ Usa otra cuenta o desbloquéala primero
404 ❌ Revisa el ID o nombre de usuario
400 / 409 ❌ Corrige la solicitud (parámetros, tamaño del archivo multimedia, texto duplicado)

Consejo: Usa esperas progresivas con un máximo y variación aleatoria para 429 y errores 5xx transitorios. Para 400/401/403/404/409/422, corrige primero los datos de entrada, las credenciales o el acceso de la cuenta.

Preguntas sobre errores y reintentos de la API de Twitter

¿Por qué la API de Twitter devuelve 401 o invalid auth_token?

HTTP 401 puede indicar que falta tu clave de API de TwexAPI o que no es válida. En los endpoints de escritura, Invalid auth_token o el código de X 32 también pueden indicar que la sesión de X venció. Corrige el encabezado Bearer o renueva las credenciales de X proporcionadas en cookie antes de reintentar.

¿Cuál es la diferencia entre los errores 403 y 429 de la API de Twitter?

HTTP 403 indica un problema de acceso, como créditos insuficientes, contenido privado, una cuenta restringida o una acción exclusiva de Premium. HTTP 429 indica un límite de solicitudes o de la cuenta. Corrige la causa de un 403; después de un 429, espera a que se restablezca el límite indicado.

¿Cómo resuelvo el error 429 Too Many Requests de la API de Twitter?

Respeta la espera de Retry-After o retry_after cuando se proporcionen y luego continúa con menos solicitudes simultáneas y esperas progresivas que tengan un máximo. Un límite diario de tweets o mensajes directos requiere esperar su período de restablecimiento, no solo una pausa breve. Conserva el cursor de la página que falló al reintentar una lectura.

¿Qué significa el código de error 187 de Twitter?

El código de error de X 187 significa que el contenido del tweet está duplicado. Comprueba si la escritura anterior ya creó la publicación. Si quieres publicar algo diferente, cambia tweet_content en vez de repetir la misma solicitud.

¿Qué significa el código de error 344 de Twitter?

El código de error de X 344 indica una restricción temporal de publicación asociada a la red o a la IP. Aumenta la espera, revisa cualquier proxy que hayas proporcionado y consulta la cronología de la cuenta antes de reintentar la escritura. Es un código de error de X, no un estado HTTP.

¿Debo reintentar los errores 500, 502 o 503 de la API de Twitter?

Reintenta los fallos transitorios de lectura con esperas progresivas que tengan un máximo y variación aleatoria. Si una escritura agota el tiempo de espera o devuelve 5xx, revisa primero la cronología, el historial de mensajes directos o el estado de la interacción. Una respuesta fallida no demuestra que la escritura no se haya aplicado.

¿Debo reintentar un error de validación 422 de TwexAPI?

No reintentes con los mismos datos de entrada. TwexAPI usa HTTP 422 para los errores de validación de solicitudes. Revisa detail para identificar el campo que falló, su ubicación y el tipo de error; luego corrige la solicitud según el esquema del endpoint.

¿El código de error 502 de Twitter es lo mismo que HTTP 502?

No. El código de error de X 502 se refiere a un límite diario de solicitudes de mensajes directos y puede aparecer junto con HTTP 429. HTTP 502 indica un fallo en la respuesta del servicio de origen. Lee tanto el estado HTTP como twitter_error_code, cuando se proporcione, antes de elegir una política de reintentos.

Páginas relacionadas

Última actualización el 8 de octubre de 2026

¿Te ha resultado útil esta página?