Inicio / Documentación / Límites de solicitudes

Límites de solicitudes

Cómo funciona la limitación de solicitudes, qué significa un 429 aquí y cómo crear un cliente que no lo provoque.

Los límites garantizan un reparto equitativo de la capacidad compartida del proveedor. Se aplican por cuenta, no por clave, por lo que añadir claves no aumenta tu límite.

Qué se limita

DimensiónComportamiento
Solicitudes simultáneasSolicitudes en curso por cuenta. La causa habitual de un 429.
Solicitudes por minutoFrecuencia sostenida de llamadas.
Tokens por minutoVolumen combinado de tokens de entrada y salida.

Los planes ilimitados aplican límites de uso razonable en lugar de un saldo de créditos: eliminan el cobro por token, no el límite de concurrencia.

Gestionar 429 correctamente

  1. Aplica una espera exponencial con variación aleatoria: 1 s, 2 s, 4 s, 8 s, cada intervalo más o menos una fracción aleatoria.
  2. Limita la concurrencia en el cliente con un semáforo en lugar de enviar todas las solicitudes y reintentar las rechazadas.
  3. Pon el trabajo por lotes en una cola en lugar de paralelizarlo al máximo; el rendimiento está limitado por los tokens por minuto, no por la cantidad de sockets que abras.
  4. Trata 529 de forma distinta a 429 — eso se debe a la capacidad del proveedor, no a ti, y suele resolverse en segundos.
import asyncio

sem = asyncio.Semaphore(8)      class=class="s">"c"># ceiling on concurrency, tune to your plan

async def ask(client, body):
    async with sem:
        return await client.post(class="s">"/v1/messages", json=body)
Las herramientas con agentes como Claude Code ejecutan muchas operaciones en paralelo por diseño. Si ves errores 429 durante un uso intensivo de agentes, reduce el paralelismo de la herramienta antes de pasar a un plan superior.

Reducir la carga en lugar de reintentar