Grundlagen

Rate Limits

Jeder Schlüssel kann 120 Anfragen pro Minute stellen, und jede Antwort zeigt, wie viele noch übrig sind.

Limits

LimitGilt für
120 Anfragen pro MinuteJeden API-Schlüssel, auf jedem Endpoint. Die Minute ist ein festes Fenster, das zur vollen Minute beginnt.
10 Exporte pro StundeJedes Konto, bei Export erstellen. Bei Überschreitung 429 export_rate_limit_exceeded.
10 DMs pro MinuteJedes X-Konto, bei Nachricht senden. Bei Überschreitung 429 dm_rate_limited.
300 DMs pro TagJedes X-Konto, pro UTC-Tag, oder weniger, wenn X ein niedrigeres Kontingent setzt. Bei Überschreitung 429 dm_daily_limit.
5 Code-Versuche pro StundeJedes Konto, bei X Chat-Code setzen. Bei Überschreitung 429 passcode_rate_limited.
6 Nachrichten an Julien AI pro MinuteJedes X-Konto, bei Nachricht senden und dem MCP-Tool ask_julien_ai. Bei Überschreitung 429 assistant_rate_limited.
100 Nachrichten an Julien AI pro TagJedes X-Konto, pro UTC-Tag. Bei Überschreitung 429 assistant_daily_limit.
Eine Nachricht an Julien AI nach der anderenJeden Chat, und 3 Chats gleichzeitig pro X-Konto. Bei Überschreitung 409 assistant_busy.

Rate-Limit-Header

Jede Antwort enthält den aktuellen Stand im Fenster des Schlüssels.

HeaderBedeutung
RateLimit-LimitErlaubte Anfragen pro Fenster, 120.
RateLimit-RemainingVerbleibende Anfragen im aktuellen Fenster.
RateLimit-ResetSekunden, bis das Fenster neu beginnt.
Retry-AfterNur bei 429, die Sekunden bis zu einem neuen Versuch.
Header
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
Antwort429
{
  "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"
  }
}

Mit einem 429 umgehen

Warte Retry-After Sekunden und sende dann dieselbe Anfrage erneut.

  • Verteile große Jobs zeitlich, statt alles auf einmal zu senden.
  • Lies RateLimit-Remaining und drossle das Tempo, bevor du bei null ankommst.
  • Um viele Leads auf einmal zu holen, ist ein Export besser als Hunderte Seiten.
  • Webhooks schicken dir Ereignisse, du verbrauchst also nie Anfragen, um nach neuen Leads zu pollen.
# curl waits for Retry-After, then tries again
curl --retry 5 https://gemlead.ai/api/v1/leads \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"