Zum Hauptinhalt springen

Rate Limiting

Alle Endpoints sind limitiert, um die mail2many API vor Missbrauch zu schützen und faire Nutzung sicherzustellen.

Aktuelles Limit

  • 600 Requests pro Minute pro API-Key
  • Maximal 10 gleichzeitige Requests pro API-Key

Das Limit gilt pro API-Key und Zeitfenster.

Response-Header

In den Response-Headern findest du den aktuellen Status deines Limits:

HeaderBeschreibung
X-RateLimit-LimitMaximale Anzahl von Requests im aktuellen Zeitfenster
X-RateLimit-RemainingVerbleibende Anzahl von Requests im aktuellen Zeitfenster

Für parallele Requests stellt die API zusätzlich bereit:

HeaderBeschreibung
X-ConcurrencyLimit-LimitMaximale Anzahl gleichzeitiger Requests pro API-Key
X-ConcurrencyLimit-RemainingNoch verfügbare gleichzeitige Requests

Verhalten bei Überschreitung

Wenn ein Limit überschritten wird, liefert die API den Status 429 Too Many Requests.

Beispiel bei Request-Rate-Limit:

{
"status": "error",
"code": 429,
"message": "Too many requests. Please slow down.",
"error": "RATE_LIMIT_EXCEEDED",
"statusCode": 429
}

Beispiel bei Concurrent-Request-Limit:

{
"status": "error",
"code": 429,
"message": "Too many concurrent requests. Please wait for existing requests to complete.",
"error": "CONCURRENT_LIMIT_EXCEEDED",
"statusCode": 429,
"concurrencyLimit": 10,
"remaining": 0
}

Zusätzliche Header bei 429 können sein:

HeaderBeschreibung
Retry-AfterSekunden bis zum nächsten sinnvollen Retry
X-RateLimit-ResetZeitpunkt des Resets des aktuellen Rate-Limit-Fensters (UTC Epoch Seconds)

Empfohlener Umgang

  • Warte auf Basis von Retry-After oder bis das Zeitfenster zurückgesetzt ist
  • Sende danach den fehlgeschlagenen Request erneut
  • Reduziere die Anfragerate dauerhaft
  • Reduziere parallel laufende Requests (Queue/Worker-Limit)
  • Nutze Retry mit exponentiellem Backoff

Für allgemeine Retry-Strategien siehe auch Fehlertoleranz.