Basisbegrippen
Rate limits
Elke sleutel mag 120 requests per minuut doen, en elke response laat zien hoeveel er nog over zijn.
Limieten
| Limiet | Geldt voor |
|---|---|
| 120 requests per minuut | Per API-sleutel, op elk endpoint. De minuut is een vast venster dat op de hele minuut begint. |
| 10 exports per uur | Per account, bij Een export maken. Daarboven krijg je 429 export_rate_limit_exceeded. |
| 10 DM's per minuut | Per X-account, bij Een bericht sturen. Daarboven krijg je 429 dm_rate_limited. |
| 300 DM's per dag | Per X-account, per UTC-dag, of minder als X een lager quotum hanteert. Daarboven krijg je 429 dm_daily_limit. |
| 5 codepogingen per uur | Per account, bij De X Chat-code instellen. Daarboven krijg je 429 passcode_rate_limited. |
| 6 berichten aan Julien AI per minuut | Per X-account, bij Een bericht sturen en de MCP-tool ask_julien_ai. Daarboven krijg je 429 assistant_rate_limited. |
| 100 berichten aan Julien AI per dag | Per X-account, per UTC-dag. Daarboven krijg je 429 assistant_daily_limit. |
| Eén bericht tegelijk aan Julien AI | Per chat, en 3 chats tegelijk per X-account. Daarboven krijg je 409 assistant_busy. |
Headers voor rate limits
Elke response bevat de stand van het venster van de sleutel.
| Header | Betekenis |
|---|---|
RateLimit-Limit | Toegestane requests per venster, 120. |
RateLimit-Remaining | Resterende requests in het huidige venster. |
RateLimit-Reset | Seconden tot het venster opnieuw begint. |
Retry-After | Alleen bij een 429, het aantal seconden dat je moet wachten voordat je het opnieuw probeert. |
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_3Vb8YzC1dF6hJ0sWResponse429
{
"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"
}
}Een 429 afhandelen
Wacht Retry-After seconden en stuur dan hetzelfde request opnieuw.
- Spreid grote taken in de tijd in plaats van ze in één keer af te vuren.
- Lees
RateLimit-Remaininguit om af te remmen voordat je op nul komt. - Wil je veel leads tegelijk ophalen, dan is één export beter dan honderden pagina's.
- Webhooks sturen gebeurtenissen naar je toe, dus je verspilt nooit requests aan pollen op nieuwe leads.
# curl waits for Retry-After, then tries again
curl --retry 5 https://gemlead.ai/api/v1/leads \
-H "Authorization: Bearer $GEMLEAD_API_KEY"