Aller au contenu
LinkProfit

Limites de débit

Limites en fenêtre glissante par clé API, en-têtes X-RateLimit et stratégie de reprise correcte.

Mis à jour le 13 août 2026

Les limites sont comptées par clé sur une fenêtre glissante d’une minute. Par défaut : 600 requêtes par minute pour les clés d’espace de travail, 1200 pour les clés partenaires ; votre forfait peut fixer d’autres valeurs, et la limite réelle est toujours dans les en-têtes de réponse.

En-têtes

Chaque réponse porte l’état courant :

X-RateLimit-Limit: 600
X-RateLimit-Remaining: 273
X-RateLimit-Reset: 1755081600
  • X-RateLimit-Limit — la capacité de la fenêtre pour cette clé.
  • X-RateLimit-Remaining — les requêtes restantes dans la fenêtre en cours.
  • X-RateLimit-Reset — l’heure Unix (en secondes) à laquelle la fenêtre se libère.

Au-delà de la limite, l’API répond 429 avec Retry-After :

{
  "error": {
    "code": "rate_limited",
    "message": "Rate limit exceeded, retry later",
    "doc_url": "https://linkprofit.com/docs/api/errors"
  }
}
Retry-After: 12

La fenêtre glisse

Le compteur n’est pas remis à zéro au début de la minute : une rafale à 10:00:55 compte encore dans la fenêtre à 10:01:05. Prévoyez un débit régulier plutôt que des rafales alignées sur la minute.

Les requêtes rejetées comptent aussi — une boucle de reprise serrée sur un 429 ne fait que maintenir la clé bloquée.

Une reprise qui se tient bien

async function withRateLimit(request) {
  for (let attempt = 0; attempt < 5; attempt += 1) {
    const response = await request();
    if (response.status !== 429) return response;

    const wait = Number(response.headers.get("retry-after") ?? "1");
    await new Promise((resolve) => setTimeout(resolve, wait * 1000 + attempt * 250));
  }
  throw new Error("Rate limit retries exhausted");
}

Respectez Retry-After au lieu de deviner, ajoutez un peu d’aléatoire pour que des workers parallèles ne réessaient pas au même instant, et plafonnez le nombre de tentatives.

Rester sous la limite

  • Surveillez X-RateLimit-Remaining et ralentissez avant d’atteindre zéro.
  • Utilisez POST /links/bulk — une requête crée jusqu’à 100 liens.
  • Préférez les webhooks à l’interrogation régulière : les événements vous sont poussés en quelques secondes et ne coûtent aucune requête.