529 es el único error de Claude que tu código no provocó: el saturado es Anthropic. No puedes arreglarlo — solo absorberlo con elegancia. Eso significa reintentos pacientes con backoff, un modelo de reserva en las rutas sensibles a la latencia y, sobre todo, nada de ráfagas de reintentos inmediatos que amplifican la incidencia.
El error
{
"type": "error",
"error": { "type": "overloaded_error",
"message": "Overloaded" }
}Causas y soluciones de un vistazo
| Causa | Solución |
|---|---|
| Saturación del lado del proveedor (días de lanzamiento, incidencias regionales). Afecta a todos los clientes a la vez. | Backoff con jitter; consulta la página de estado de Anthropic en lugar de volver a desplegar tu aplicación. |
| Tu propio pico de carga cae sobre una capacidad ya tensionada. | Reparte los trabajos por lotes; diez minutos de retraso suelen despejarlo. |
| Confusión con 429: en los logs un límite de tasa se parece, pero la causa es completamente distinta. | 429 significa que superaste tus límites (el servidor está bien); 529 significa que el servidor está saturado (tu cuota está bien). Solo 429 trae una pista Retry-After. |
| No hay reserva definida, así que un problema del proveedor llega hasta el usuario final. | Define una cadena de reserva — dentro de la misma familia (Sonnet → Haiku) el comportamiento se mantiene parecido; entre proveedores (Claude → Gemini) sobrevives a una incidencia completa. |
Reintentar sin amplificar la incidencia
Trata el 529 como un 429 sin Retry-After: backoff exponencial desde unos 2 segundos, con jitter, con tope en 30–60 segundos, rendirse tras unos cinco intentos y encolar el trabajo. El jitter es la parte que importa: sin él todos los clientes vuelven a la vez y prolongan justo la saturación de la que intentan salir.
Conmutar en vez de caer
En las rutas sensibles a la latencia, define una cadena de reserva. En un endpoint compatible con OpenAI eso es una sola cadena de texto cambiada — sin un segundo SDK y sin una segunda cuenta:
PREFERRED = ["claude-sonnet-4-6", "claude-haiku-4-5", "gemini-2-5-flash"]
def complete(messages):
last = None
for model in PREFERRED:
try:
return client.chat.completions.create(
model=model, messages=messages, max_tokens=800)
except APIStatusError as e:
if e.status_code not in (429, 500, 529):
raise
last = e # saturado — probar el siguiente nivel
raise lastY solo entonces mirar tu código
Si los 529 aparecen únicamente en un tipo de petición mientras las demás llamadas pasan a la vez, no es una incidencia general: comprueba si esa ruta envía prompts inusualmente grandes o dispara en un bucle cerrado. Si en cambio afecta a todas las llamadas de golpe y desaparece solo, era capacidad — y entonces el trabajo pertenece al reintento y a la reserva, no a una refactorización.
Si llamas a través de Kunavo
Kunavo enruta Claude por más de un camino de origen, y su catálogo multimodelo convierte la conmutación entre proveedores en un cambio de nombre de modelo sobre la misma clave y la misma cartera — el patrón de arriba no necesita una segunda cuenta. Los 529 que aun así te lleguen nunca se facturan. Capacidad y precio son preguntas distintas; para la segunda, las tarifas por modelo están en los precios de Claude.
Preguntas frecuentes
¿Un 529 es culpa mía?
No. Es capacidad del lado del proveedor. Tus únicas responsabilidades son no amplificar la incidencia (backoff, jitter) y tener una salida de reserva si la incidencia dura más que tu presupuesto de latencia.
529 frente a 429, ¿cuál es la diferencia?
429 significa que cruzaste tus límites, el servidor está bien. 529 significa que el propio servidor está saturado, tu cuota está bien. Ambos son reintentables; solo 429 viene con una pista Retry-After.
¿Cuánto dura normalmente un episodio de 529?
No es predecible ni se puede garantizar — por eso la respuesta correcta es un backoff con tope más una cola, y no una espera escrita a fuego en el código. Si tu ruta tiene un presupuesto de latencia, el relevo lo toma la reserva en vez de la espera.
¿Se facturan las llamadas que acaban en 529?
A través de Kunavo no: una petición que termina en error no se factura. En contrato directo depende de las reglas de facturación del proveedor correspondiente.
Guías relacionadas
- «Error en el flujo de mensajes» en ChatGPT — causas y cómo solucionarlo
- Precios de Claude en 2026: Pro, Max, la API por tokens y cuál sale más barato
- Precio de Claude Code en 2026: suscripción o API, cuánto cuesta un mes y cuál compensa
La semántica completa de los errores está en la referencia de errores; conseguir una clave lleva un minuto con crear una cuenta y la documentación de autenticación.