Limiti Globali

Brevo applica limiti globali di frequenza su tutti gli endpoint API per garantire un utilizzo equo e prestazioni ottimali.

Livelli dei Limiti di Frequenza

Piano Gratuito

  • Limite Giornaliero: 300 richieste
  • Limite Orario: 50 richieste
  • Limite Burst: 10 richieste/minuto
  • Crediti Email: 300/mese

Piano Starter

  • Limite Giornaliero: 20.000 richieste
  • Limite Orario: 1.000 richieste
  • Limite Burst: 100 richieste/minuto
  • Crediti Email: Illimitati

Piano Business

  • Limite Giornaliero: 50.000 richieste
  • Limite Orario: 3.000 richieste
  • Limite Burst: 300 richieste/minuto
  • Crediti Email: Illimitati

Piano Enterprise

  • Limite Giornaliero: Personalizzato (100.000+)
  • Limite Orario: Personalizzato (10.000+)
  • Limite Burst: Personalizzato (1.000+/minuto)
  • Crediti Email: Illimitati

Header dei Limiti di Frequenza

Ogni risposta API include informazioni sui limiti di frequenza:

HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
X-RateLimit-Retry-After: 3600

Descrizione degli Header

  • X-RateLimit-Limit: Totale richieste consentite nella finestra corrente
  • X-RateLimit-Remaining: Richieste rimanenti nella finestra corrente
  • X-RateLimit-Reset: Timestamp Unix al reset del limite
  • X-RateLimit-Retry-After: Secondi da attendere prima del retry

Monitoraggio dell’Utilizzo

Verifica l’Utilizzo Corrente

const checkRateLimit = async () => {
const response = await fetch('https://api.brevo.com/v3/account', {
headers: { 'api-key': process.env.BREVO_API_KEY }
});
console.log({
limit: response.headers.get('X-RateLimit-Limit'),
remaining: response.headers.get('X-RateLimit-Remaining'),
reset: new Date(response.headers.get('X-RateLimit-Reset') * 1000)
});
};

Monitoraggio da Dashboard

  1. Accedi al tuo account Brevo
  2. Vai su Impostazioni > Chiavi API
  3. Visualizza l’Utilizzo per ogni chiave API
  4. Imposta Avvisi per i limiti in avvicinamento

Finestre di Reset dei Limiti

  • Limiti giornalieri: Reset alle 00:00 UTC
  • Limiti orari: Reset ogni ora allo scoccare del minuto :00
  • Limiti burst: Finestra scorrevole (ultimi 60 secondi)

Gestione dei Limiti di Frequenza

Backoff Esponenziale

const makeRequestWithBackoff = async (url, options, maxRetries = 3) => {
for (let i = 0; i < maxRetries; i++) {
try {
const response = await fetch(url, options);
if (response.status === 429) {
const retryAfter = response.headers.get('X-RateLimit-Retry-After') || 60;
const delay = Math.min(1000 * Math.pow(2, i), retryAfter * 1000);
console.log(`Rate limited. Waiting ${delay}ms before retry ${i + 1}`);
await new Promise(resolve => setTimeout(resolve, delay));
continue;
}
return response;
} catch (error) {
if (i === maxRetries - 1) throw error;
}
}
};

Upgrade del Piano

Quando raggiungi sistematicamente i limiti di frequenza:

  1. Analizza l’Utilizzo: Esamina quali endpoint usi di più
  2. Ottimizza il Codice: Implementa caching e batching
  3. Considera l’Upgrade: Passa a un livello superiore se necessario
  4. Contatta le Vendite: Per requisiti enterprise

Eccezioni ai Limiti di Frequenza

Endpoint Webhook

  • Non soggetti ai limiti di frequenza standard
  • Si applicano limiti di consegna webhook separati

Endpoint Health Check

  • /v3/ping ha limiti più permissivi
  • Progettato per il monitoraggio e i controlli di uptime

Operazioni Batch

  • Contano come singola richiesta ma possono avere limiti sul payload
  • Più efficienti rispetto a più richieste individuali
Assistente AI

Ciao! Chiedimi qualsiasi cosa sulla documentazione.

Inizia gratis con Brevo