Home / Documentazione / Limiti di frequenza

Limiti di frequenza

Come funziona la limitazione delle richieste, cosa significa un 429 in questo contesto e come creare un client che non lo provochi.

I limiti garantiscono un uso equo della capacità condivisa dei fornitori a monte. Si applicano per account, non per chiave, quindi aggiungere chiavi non aumenta il limite massimo.

Cosa viene limitato

AspettoComportamento
Richieste simultaneeRichieste in corso per account. La causa più comune di un 429.
Richieste al minutoFrequenza continuativa delle chiamate.
Token al minutoVolume complessivo di token in ingresso e in uscita.

I piani illimitati applicano limiti di uso equo anziché un saldo di crediti: eliminano il costo per token, non il limite massimo di richieste simultanee.

Gestire correttamente 429

  1. Aumenta esponenzialmente l'attesa tra i tentativi con una variazione casuale: un secondo, due secondi, quattro secondi, otto secondi, ciascuno più o meno una frazione casuale.
  2. Limita le richieste simultanee lato client con un semaforo, invece di inviarle tutte e riprovare quelle rifiutate.
  3. Metti in coda le elaborazioni in batch invece di parallelizzarle al massimo; il throughput è limitato dai token al minuto, non dal numero di socket che apri.
  4. Tratta 529 in modo diverso da 429 — dipende dalla capacità del fornitore a monte, non da te, e di solito si risolve in pochi secondi.
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)
Gli strumenti agentici come Claude Code avviano molte operazioni in parallelo per progettazione. Se riscontri errori 429 durante un uso intensivo degli agenti, riduci il parallelismo dello strumento prima di passare a un piano superiore.

Ridurre il carico invece di riprovare