Concepts clés

Limites de requêtes

Chaque clé peut faire 120 requêtes par minute, et chaque réponse indique combien il en reste.

Limites

LimiteS'applique à
120 requêtes par minuteChaque clé API, sur tous les endpoints. La minute est une fenêtre fixe qui commence à la minute pile.
10 exports par heureChaque compte, sur Créer un export. Au-delà, 429 export_rate_limit_exceeded.
10 DM par minuteChaque compte X, sur Envoyer un message. Au-delà, 429 dm_rate_limited.
300 DM par jourChaque compte X, par jour UTC, ou moins quand X fixe un quota plus bas. Au-delà, 429 dm_daily_limit.
5 essais de code par heureChaque compte, sur Définir le code X Chat. Au-delà, 429 passcode_rate_limited.
6 messages à Julien AI par minuteChaque compte X, sur Envoyer un message et l'outil MCP ask_julien_ai. Au-delà, 429 assistant_rate_limited.
100 messages à Julien AI par jourChaque compte X, par jour UTC. Au-delà, 429 assistant_daily_limit.
Un seul message à Julien AI à la foisChaque chat, et 3 chats en même temps par compte X. Au-delà, 409 assistant_busy.

Headers RateLimit

Chaque réponse indique l'état de la fenêtre de la clé.

HeaderSignification
RateLimit-LimitRequêtes autorisées par fenêtre, 120.
RateLimit-RemainingRequêtes restantes dans la fenêtre en cours.
RateLimit-ResetSecondes avant la prochaine fenêtre.
Retry-AfterSur un 429 uniquement, les secondes à attendre avant de réessayer.
Headers
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
RateLimit-Limit: 120
RateLimit-Remaining: 0
RateLimit-Reset: 17
Retry-After: 17
Request-Id: req_3Vb8YzC1dF6hJ0sW
Réponse429
{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Too many requests. This key can make 120 requests a minute.",
    "param": null,
    "request_id": "req_3Vb8YzC1dF6hJ0sW",
    "doc_url": "https://gemlead.ai/docs/errors#rate_limit_exceeded"
  }
}

Gérer un 429

Attends Retry-After secondes, puis renvoie la même requête.

  • Étale les gros traitements dans le temps au lieu de tout envoyer d'un coup.
  • Lis RateLimit-Remaining pour ralentir avant d'arriver à zéro.
  • Pour récupérer beaucoup de leads d'un coup, un seul export vaut mieux que des centaines de pages.
  • Les webhooks t'envoient les événements, tu ne dépenses donc jamais de requêtes à interroger l'API pour trouver de nouveaux leads.
# curl waits for Retry-After, then tries again
curl --retry 5 https://gemlead.ai/api/v1/leads \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"