Limiti di utilizzo
Comprendi i limiti di utilizzo dell'API, le intestazioni di risposta e le buone pratiche per gestire elegantemente gli errori di limite.
Panoramica
I limiti di utilizzo proteggono l'API da abusi e garantiscono un uso equo per tutti i clienti. Ogni chiave API ha una quota di richieste che si reimposta ogni ora. Quando superi il limite, le richieste ricevono un errore 429 (Too Many Requests) finché il limite non viene reimpostato.
Limiti predefiniti
Limiti di utilizzo standard per chiave API: | Tipo di limite | Limite | Periodo di reset | |----------------|--------|------------------| | Richieste | 1.000/ora | Ogni ora | | Burst | 100/minuto | Al minuto | | Dimensione batch | 100 elementi | Per richiesta | **Limiti per endpoint:** • Verifica email: 1.000/ora • Ricerca email: 500/ora • Arricchimento: 200/ora • Ricerca lead: 500/ora • Analisi SEO: 200/ora Hai bisogno di limiti più alti? Contatta il supporto per valutare opzioni enterprise.
Intestazioni di limite di utilizzo
Ogni risposta include informazioni sul limite di utilizzo nelle intestazioni: ``` X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 856 X-RateLimit-Reset: 1709046000 Retry-After: 3600 ``` | Intestazione | Descrizione | |--------------|-------------| | `X-RateLimit-Limit` | Richieste massime consentite all'ora | | `X-RateLimit-Remaining` | Richieste rimanenti nella finestra corrente | | `X-RateLimit-Reset` | Timestamp Unix di reset del limite | | `Retry-After` | Secondi prima di poter riprovare (solo su 429) |
Gestire i limiti di utilizzo
Quando ricevi una risposta 429, implementa una logica di retry: ```javascript async function makeRequest(url, options) { const response = await fetch(url, options); if (response.status === 429) { const retryAfter = response.headers.get('Retry-After') || 60; await sleep(retryAfter * 1000); return makeRequest(url, options); // Riprova } return response; } ``` **Backoff esponenziale:** In caso di fallimenti ripetuti, usa il backoff esponenziale con jitter: ```javascript const delay = Math.min(baseDelay * 2 ** attempt + randomJitter, maxDelay); ```
Buone pratiche
Ottimizza l'utilizzo dell'API per evitare i limiti: • **Usa endpoint in batch** – verifica 100 email in una sola richiesta invece di 100 richieste • **Metti in cache le risposte** – non rifare richieste di dati che hai già • **Distribuisci le richieste** – non lanciarle tutte in una volta • **Monitora le intestazioni** – tieni d'occhio in modo proattivo la quota residua • **Gestisci gli errori in modo elegante** – implementa una logica di retry corretta • **Usa i webhook** – per le operazioni asincrone aspetta il callback invece di fare polling **Approccio basato su coda:** ```javascript // Elabora richieste con limitazione di velocità const queue = new RateLimitedQueue({ maxConcurrent: 10, minDelay: 100 // ms tra le richieste }); await queue.addAll(requests); ```
Articoli correlati
Gestione degli errori
Gestisci elegantemente errori 429 e altri errori dell'API.
Autenticazione
Gestione delle chiavi API e buone pratiche di sicurezza.
Endpoint SEO
Genera report SEO, analizza la performance, traccia il posizionamento delle keyword e monitora i Core Web Vitals.
API di personalizzazione con IA
Genera hook e righe oggetto per le email scritti dall'IA tramite l'API. Scopri quando usare sync o batch, i pattern di idempotenza e polling, i prezzi e i codici di errore.