Limites de debit

Les limites de debit protegent l'API contre les abus et assurent une utilisation equitable pour tous les utilisateurs.

Limites par plan

| Plan | Requetes/mois | Debit burst (req/min) | |---|---|---| | Gratuit | 100 | 10 | | Starter | 5 000 | 30 | | Growth | 25 000 | 60 | | Scale | 100 000 | 120 |

En-tetes de limite de debit

Chaque reponse API inclut les informations de limite de debit :

| En-tete | Description | |---|---| | X-RateLimit-Limit | Nombre maximum de requetes par minute pour votre plan | | X-RateLimit-Remaining | Requetes restantes dans la fenetre actuelle | | X-RateLimit-Reset | Timestamp Unix de la reinitialisation |

Quand la limite est atteinte

Vous recevrez une reponse 429 Too Many Requests :

{
  "success": false,
  "request_id": "req_abc123",
  "error": {
    "code": "RATE_LIMITED",
    "message": "Rate limit exceeded. Please wait before making more requests."
  }
}

Gerer les limites de debit

JavaScript

async function classifyWithRetry(email, apiKey, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const res = await fetch(
      `https://emailkind.com/v1/classify?email=${encodeURIComponent(email)}`,
      { headers: { Authorization: `Bearer ${apiKey}` } }
    );

    if (res.status !== 429) return res.json();

    const wait = Math.pow(2, attempt) * 1000;
    await new Promise((r) => setTimeout(r, wait));
  }
  throw new Error("Limite de debit depassee apres les tentatives");
}

Python

import time
import requests

def classify_with_retry(email, api_key, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(
            "https://emailkind.com/v1/classify",
            params={"email": email},
            headers={"Authorization": f"Bearer {api_key}"}
        )
        if response.status_code != 429:
            return response.json()

        wait = 2 ** attempt
        time.sleep(wait)

    raise Exception("Limite de debit depassee apres les tentatives")

PHP

function classifyWithRetry(string $email, string $apiKey, int $maxRetries = 3): array {
    for ($attempt = 0; $attempt < $maxRetries; $attempt++) {
        $ch = curl_init();
        curl_setopt_array($ch, [
            CURLOPT_URL => "https://emailkind.com/v1/classify?" . http_build_query(["email" => $email]),
            CURLOPT_HTTPHEADER => ["Authorization: Bearer $apiKey"],
            CURLOPT_RETURNTRANSFER => true,
        ]);
        $body = curl_exec($ch);
        $status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);

        if ($status !== 429) {
            return json_decode($body, true);
        }

        sleep(pow(2, $attempt));
    }
    throw new \Exception("Limite de debit depassee apres les tentatives");
}

Quota mensuel

Lorsque votre quota mensuel est atteint, toutes les requetes retournent 429 jusqu'au prochain cycle de facturation. Vous pouvez :

  1. Upgrader votre plan pour plus de requetes
  2. Attendre le mois suivant pour la reinitialisation du quota
  3. Surveiller votre utilisation dans le Tableau de bord pour eviter les surprises