Rate limits
De Brevo API beperkt verzoeken per endpoint, niet per dag. Elke limiet is een aantal verzoeken per seconde (RPS), per uur (RPH) of beide, en als beide gelden moet je onder beide blijven. Als je een limiet overschrijdt, krijg je 429 Too Many Requests terug.
Limieten op het algemene niveau
Het algemene niveau geldt voor elk Brevo-abonnement: Free, Starter, Standard, Professional en Enterprise. Dit zijn de limieten die Brevo ervoor publiceert:
| Endpoint | Limiet |
|---|---|
POST /v3/smtp/email, GET /v3/smtp/blockedContacts | 1.000 RPS, 3.600.000 RPH |
POST /v3/transactionalSMS/send | 150 RPS, 540.000 RPH |
Alle endpoints onder /v3/contacts | 10 RPS, 36.000 RPH |
POST /v3/events | 10 RPS, 36.000 RPH |
POST /v3/orders/status | 5 RPS, 18.000 RPH |
POST /v3/products | 2 RPS, 7.200 RPH |
GET /v3/smtp/emails | 2 RPS, 7.200 RPH |
Overige endpoints onder /v3/smtp | 300 RPH |
Alle endpoints onder /v3/loyalty | 600 RPH |
| Alle overige endpoints | 100 RPH |
Professional- en Enterprise-accounts kunnen het geavanceerde niveau gebruiken, dat de meeste van deze limieten verdubbelt. Enterprise-accounts kunnen het uitgebreide niveau gebruiken, het hoogste. Zie Globale limieten voor de drie niveaus naast elkaar en de pagina met rate limits van Brevo voor de actuele cijfers.
Rate limit-headers
Endpoints met een rate limit geven drie headers terug:
x-sib-ratelimit-limit: 1000x-sib-ratelimit-remaining: 750x-sib-ratelimit-reset: 1x-sib-ratelimit-limit: toegestane verzoeken in het huidige vensterx-sib-ratelimit-remaining: resterende verzoeken in het huidige vensterx-sib-ratelimit-reset: tijd tot het venster wordt gereset, meestal in seconden
Best practices
- Houd de rate limit-headers in de gaten
- Gebruik exponentiële backoff als je een verzoek opnieuw probeert
- Spreid verzoeken gelijkmatig over het venster
- Cache antwoorden waar dat kan
- Gebruik webhooks in plaats van polling