Rate Limits
Verstehe die Request-Limits der API, den Credit-Verbrauch und wie du Drosselung sauber handhabst.
Aktuelle Limits
| Bereich | Limit | Was das bedeutet |
|---|---|---|
| Requests mit API-Key | 60 Requests / Minute und 5,000 Requests / Tag | Standardkontingent für authentifizierte API-Keys. |
/api/batch | Bis zu 500 E-Mails / Request | Sende Batches innerhalb des E-Mail-Limits pro Request. |
| Anonymer Checker | 5 Checks / Tag / IP-Adresse | Gilt für den öffentlichen Checker, wenn kein API-Key eines Accounts verwendet wird. |
| Verifizierungsvolumen | Verfügbare Account-Credits | Credits bestimmen, wie viele Verifizierungen du durchführen kannst. |
| Bulk-CSV-Uploads | Credits für jede E-Mail in der Datei erforderlich | Für Uploads brauchst du genug Credits für die Anzahl der zu verifizierenden E-Mails. |
Request-Kontingente und Credits sind getrennte Steuerungen. API-Keys sind standardmäßig auf 60 Requests pro Minute und 5,000 Requests pro Tag begrenzt. Diese Kontingente legen fest, wie schnell eine authentifizierte Integration die API aufrufen kann. Account-Credits legen fest, wie viele Verifizierungen du durchführen kannst.
Für Listenarbeit mit hohem Volumen gilt: /api/batch nimmt bis zu 500 E-Mails in einem Request an. Bulk-CSV-Uploads werden über Credits gesteuert statt über die Anzahl der Requests: Der Account muss genug Credits für die Anzahl der E-Mails in der hochgeladenen Datei haben, bevor der Verifizierungsjob laufen kann.
Der öffentliche anonyme Checker ist auf 5 Checks pro Tag und IP-Adresse begrenzt. Regeln zum Account-Guthaben findest du unter Credits & Nutzung. Für große Importe nutze Massen-Verifizierung; zum Verhalten von Integrationen siehe Fehlerbehandlung, Schnellstart und Preise.
Antwort bei Rate Limit
Wenn ein API-Key sein Request-Kontingent überschreitet, gibt die API eine 429 Too Many Requests Antwort zurück. Die Antwort enthält Retry-After , damit der Client weiß, wie lange er vor einem erneuten Versuch warten soll.
{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Please retry after the indicated delay.",
"status_code": 429,
"retry_after": 15
}
Retry-After-Header
Die Retry-After Der Response-Header gibt an, wie viele Sekunden du warten sollst, bevor du einen API-Key-Request wiederholst, der das Kontingent überschritten hat:
HTTP/1.1 429 Too Many Requests
Retry-After: 15
Content-Type: application/json
Rate Limits im Code behandeln
Lies zuerst den Header, warte die angegebene Anzahl Sekunden und versuch es dann erneut. Fehlt der Header, nutze eine vorsichtige Standard-Wartezeit.
import requests, time
def verify_with_retry(email, api_key, max_retries=3):
for attempt in range(max_retries):
response = requests.post(
"https://verimails.com/api/verify/single",
headers={"Authorization": f"Bearer {api_key}"},
json={"email": email}
)
if response.status_code == 200:
return response.json()
if response.status_code == 429:
retry_after = int(response.headers.get("Retry-After", 15))
print(f"Rate limited. Waiting {retry_after}s...")
time.sleep(retry_after)
continue
response.raise_for_status()
raise Exception("Max retries exceeded")
Best Practices
- Bleib mit authentifizierten API-Integrationen unter 60 Requests pro Minute und 5,000 Requests pro Tag, sofern dein Account keine anderen Limits hat.
- Halte
/api/batch-Payloads bei höchstens 500 E-Mails. - Beachte immer den
Retry-AfterHeader, wenn ein API-Key-Request eine 429 erhält. - Prüfe die verfügbaren Credits, bevor du einen großen Verifizierungslauf startest.
- Nutze die Bulk-Verifizierung für CSV-Listen und stell sicher, dass der Account genug Credits für die Anzahl der E-Mails in der Datei hat.