> ## Documentation Index
> Fetch the complete documentation index at: https://docs.enrow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> Rate Limits der Enrow API pro API-Schlüssel, die 429-Antwort und wie man Drosselung mit Backoff und Bulk-Endpunkten handhabt

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:

| Endpunkt                    | Rate Limit |
| --------------------------- | ---------- |
| `POST /email/find/single`   | 10 req/s   |
| `POST /email/find/bulk`     | 10 req/s   |
| `POST /email/verify/single` | 10 req/s   |
| `POST /email/verify/bulk`   | 10 req/s   |
| `POST /phone/single`        | 10 req/s   |
| `POST /phone/bulk`          | 10 req/s   |

GET-Endpunkte unterliegen keinem Rate Limit, daher zählt das Abrufen von Ergebnissen — zum Beispiel das [einzelne E-Mail-Ergebnis](/de/api-reference/email-finder/get-single-result) oder die [Bulk-Ergebnisse](/de/api-reference/email-finder/get-bulk-results) — nicht zu Ihrem Kontingent.

<Note>
  Rate Limits gelten **pro API-Schlüssel** und werden in **Anfragen pro Sekunde** (RPS) gemessen. Jeder [API-Schlüssel](/de/authentication) hat sein eigenes unabhängiges Kontingent.
</Note>

## 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:

```json theme={null}
{
  "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:

```javascript theme={null}
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](/de/status-codes) und [Fehlerbehandlung](/de/error-handling).

## 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.

<AccordionGroup>
  <Accordion title="Bulk-Endpunkte verwenden">
    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.

    ```javascript theme={null}
    // ❌ 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](/de/api-reference/email-finder/find-bulk) und [Verify Bulk Emails](/de/api-reference/email-verifier/verify-bulk), um loszulegen.
  </Accordion>

  <Accordion title="Webhooks statt Polling verwenden">
    Das Pollen des GET-Endpunkts verschwendet Ihr Rate-Limit-Kontingent. Verwenden Sie [Webhooks](/de/how-webhooks-work), um Ergebnisse automatisch zu empfangen, sobald eine Suche oder Verifizierung abgeschlossen ist.
  </Accordion>

  <Accordion title="Ergebnisse zwischenspeichern">
    Speichern Sie Ergebnisse, um redundante API-Aufrufe für denselben Kontakt zu vermeiden, was außerdem [Credits](/de/credits-billing) spart.
  </Accordion>
</AccordionGroup>

## Kann ich höhere Rate Limits erhalten?

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

## FAQ

<AccordionGroup>
  <Accordion title="Werden Rate Limits über Endpunkte hinweg geteilt?">
    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.
  </Accordion>

  <Accordion title="Zählen GET-Anfragen für das Rate Limit?">
    Nein. GET-Endpunkte unterliegen keinem Rate Limit, daher verbraucht das Pollen von Ergebnissen Ihr RPS-Kontingent nicht. Dennoch sind Webhooks häufigem Polling vorzuziehen.
  </Accordion>

  <Accordion title="Zählt eine Bulk-Anfrage als eine Anfrage?">
    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.
  </Accordion>

  <Accordion title="Welcher Statuscode signalisiert einen Rate-Limit-Fehler?">
    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](/de/error-handling).
  </Accordion>
</AccordionGroup>

## Nächste Schritte

<CardGroup cols={2}>
  <Card title="E-Mails im Bulk finden" icon="layer-group" href="/de/api-reference/email-finder/find-bulk">
    Führen Sie bis zu 5.000 E-Mail-Suchen in einer einzigen Anfrage aus, um Rate-Limit-Kontingent zu sparen.
  </Card>

  <Card title="Webhooks" icon="bell" href="/de/how-webhooks-work">
    Empfangen Sie Ergebnisse automatisch, anstatt die GET-Endpunkte zu pollen.
  </Card>

  <Card title="Fehlerbehandlung" icon="triangle-exclamation" href="/de/error-handling">
    Behandeln Sie 429 und andere Antworten elegant in Ihrer Integration.
  </Card>

  <Card title="Credits & Abrechnung" icon="coins" href="/de/credits-billing">
    Erfahren Sie, wie Credits für jeden Endpunkt verbraucht werden.
  </Card>
</CardGroup>
