Zum Hauptinhalt springen
Die Enrow API wendet Rate Limits an, um eine faire Nutzung sicherzustellen und die Servicequalität aufrechtzuerhalten. Das Limit ist über alle Endpunkte und alle Tarife hinweg identisch, es wird pro API-Schlüssel durchgesetzt und in Anfragen pro Sekunde (RPS) gemessen. Diese Seite erklärt die Standardlimits, was beim Überschreiten passiert und wie Sie beim Skalieren innerhalb Ihres Kontingents bleiben.

Welche Standard-Rate-Limits gibt es?

Jeder POST-Endpunkt erlaubt 10 Anfragen pro Sekunde pro API-Schlüssel. Das Limit ist über alle Endpunkte und alle Tarife hinweg identisch:
EndpunktRate Limit
POST /email/find/single10 req/s
POST /email/find/bulk10 req/s
POST /email/verify/single10 req/s
POST /email/verify/bulk10 req/s
POST /phone/single10 req/s
POST /phone/bulk10 req/s
GET-Endpunkte unterliegen keinem Rate Limit, daher zählt das Abrufen von Ergebnissen — zum Beispiel das einzelne E-Mail-Ergebnis oder die Bulk-Ergebnisse — nicht zu Ihrem Kontingent.
Rate Limits gelten pro API-Schlüssel und werden in Anfragen pro Sekunde (RPS) gemessen. Jeder API-Schlüssel hat sein eigenes unabhängiges Kontingent.

Was passiert, wenn ich das Rate Limit überschreite?

Wenn Sie das Rate Limit überschreiten, gibt die API eine 429 Too Many Requests-Antwort zurück:
{
  "message": "Too Many Requests"
}
Die empfohlene Vorgehensweise bei einem 429 ist die Implementierung eines exponentiellen Backoffs — warten Sie vor jedem erneuten Versuch eine progressiv längere Verzögerung, damit der API-Schlüssel Zeit hat, wieder unter das Limit zu fallen:
async function requestWithRetry(url, options, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const delay = Math.pow(2, attempt) * 1000;
      await new Promise(resolve => setTimeout(resolve, delay));
      continue;
    }

    return response;
  }

  throw new Error('Max retries exceeded');
}
Die vollständige Liste der Antwortcodes und wie Sie damit umgehen, finden Sie unter Statuscodes und Fehlerbehandlung.

Wie kann ich vermeiden, das Rate Limit zu erreichen?

Der wirksamste Weg, innerhalb des Kontingents zu bleiben, besteht darin, weniger und dafür größere Anfragen zu senden und Ergebnisse über Webhooks statt durch Polling zu empfangen.
Anstatt 100 Einzelanfragen zu stellen, stellen Sie 1 Bulk-Anfrage (bis zu 5.000 Einträge für E-Mail, 3.000 für Telefon). Ein einzelner Bulk-POST zählt als 1 Anfrage für Ihr Rate Limit.
// ❌ 100 requests = 10 seconds at 10 RPS
for (const contact of contacts) {
  await findEmail(contact);
}

// ✅ 1 request
await findEmailsBulk(contacts);
Lesen Sie Find Bulk Emails und Verify Bulk Emails, um loszulegen.
Das Pollen des GET-Endpunkts verschwendet Ihr Rate-Limit-Kontingent. Verwenden Sie Webhooks, um Ergebnisse automatisch zu empfangen, sobald eine Suche oder Verifizierung abgeschlossen ist.
Speichern Sie Ergebnisse, um redundante API-Aufrufe für denselben Kontakt zu vermeiden, was außerdem Credits spart.

Kann ich höhere Rate Limits erhalten?

Ja. Enrow kann Ihre RPS im Einzelfall erhöhen. Kontaktieren Sie uns unter api@enrow.io und schildern Sie Ihren Anwendungsfall und Ihr erwartetes Volumen.

FAQ

Nein. Das Limit von 10 req/s gilt unabhängig für jeden POST-Endpunkt, und das Kontingent wird pro API-Schlüssel statt pro Konto erfasst.
Nein. GET-Endpunkte unterliegen keinem Rate Limit, daher verbraucht das Pollen von Ergebnissen Ihr RPS-Kontingent nicht. Dennoch sind Webhooks häufigem Polling vorzuziehen.
Ja. Ein einzelner Bulk-POST zählt als 1 Anfrage für Ihr Rate Limit, auch wenn er bis zu 5.000 Einträge für E-Mail oder 3.000 für Telefon enthalten kann.
Eine 429 Too Many Requests-Antwort mit dem Body { "message": "Too Many Requests" }. Wiederholen Sie den Versuch mit exponentiellem Backoff. Weitere Details finden Sie unter Fehlerbehandlung.

Nächste Schritte

E-Mails im Bulk finden

Führen Sie bis zu 5.000 E-Mail-Suchen in einer einzigen Anfrage aus, um Rate-Limit-Kontingent zu sparen.

Webhooks

Empfangen Sie Ergebnisse automatisch, anstatt die GET-Endpunkte zu pollen.

Fehlerbehandlung

Behandeln Sie 429 und andere Antworten elegant in Ihrer Integration.

Credits & Abrechnung

Erfahren Sie, wie Credits für jeden Endpunkt verbraucht werden.