Entwickler

Eine E-Mail-Verifizierungs-API, die einfach funktioniert

Prüfen Sie eine Adresse in Echtzeit oder senden Sie eine ganze Liste als Batch. Alle Anfragen nutzen HTTPS und liefern JSON. Erstellen Sie API-Schlüssel in Ihrem Dashboard unter API-Schlüssel.

  • REST und JSON
  • Batch-Callbacks
  • Dieselben Credits wie im Dashboard
Die Seite API-Schlüssel in BounceBell mit aktiven Schlüsseln und einem Formular zum Erstellen eines neuen Schlüssels

Authentifizierung

Senden Sie Ihren API-Schlüssel bei jeder Anfrage als Bearer-Token im Authorization-Header. Bewahren Sie Schlüssel auf Ihrem Server auf. Verwenden Sie sie niemals in Browser-Code oder mobilen Apps.

Authorization: Bearer YOUR_API_KEY

Die Basis-URL für jeden Endpunkt ist https://bouncebell.com/api/v1.

Eine Adresse prüfen

GET https://bouncebell.com/api/v1/verify

ParameterErforderlichBeschreibung
emailJaDie zu prüfende Adresse. URL-kodiert.
timeoutNeinSekunden, die auf den Mailserver gewartet wird, von 3 bis 30. Standard 10. Läuft die Zeit ab, ist der Status unknown und es wird kein Credit verbraucht.

Beispiel

curl "https://bouncebell.com/api/v1/verify?email=rini.elizabeth%40acme-foods.example" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "email": "rini.elizabeth@acme-foods.example",
  "status": "valid",
  "reason": "mailbox_exists",
  "domain": "acme-foods.example",
  "mx_record": "mx1.acme-foods.example",
  "disposable": false,
  "role": false,
  "free_provider": false,
  "catch_all": false,
  "did_you_mean": null,
  "checked_at": "2026-10-30T09:30:12Z",
  "credits_used": 1
}

Ergebnisfelder

FeldTypBeschreibung
emailstringDie Adresse, wie Sie sie gesendet haben.
statusstringDas Ergebnis. Siehe Status.
reasonstringWarum wir zu diesem Ergebnis kamen, zum Beispiel mailbox_not_found oder no_mail_server.
domainstringDer Domain-Teil, in Kleinbuchstaben.
mx_recordstring or nullDer Mailserver mit der höchsten Priorität.
disposablebooleanTrue, wenn die Domain ein Dienst für temporäre Postfächer ist.
rolebooleanTrue bei gemeinsamen Postfächern wie info@ oder support@.
free_providerbooleanTrue bei Freemail-Anbietern wie Gmail.
catch_allbooleanTrue, wenn die Domain jede Adresse akzeptiert.
did_you_meanstring or nullEine korrigierte Adresse, wenn die Domain nach einem Tippfehler aussieht.
checked_atstringZeitpunkt der Prüfung, in ISO 8601 UTC.
credits_usedinteger1, oder 0, wenn der Status unknown ist.

Status

StatusBedeutungEmpfohlene Aktion
validDas Postfach existiert und nimmt E-Mails an.Senden
invalidDie Adresse, Domain oder das Postfach existiert nicht.Entfernen
disposableEin Dienst für temporäre Postfächer.Entfernen
catch_allDie Domain akzeptiert alle Adressen, daher kann das Postfach nicht bestätigt werden.Prüfen
roleEin gemeinsames Postfach, das existiert.Prüfen
unknownDer Mailserver hat nicht rechtzeitig geantwortet. Nicht berechnet.Später erneut versuchen

Batches

Senden Sie bis zu 100.000 Adressen in einer Anfrage. Der Batch läuft im Hintergrund; fragen Sie seinen Status ab oder geben Sie eine callback_url an, die wir aufrufen, sobald der Batch fertig ist.

Batch erstellen

POST https://bouncebell.com/api/v1/batches

curl -X POST "https://bouncebell.com/api/v1/batches" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "October import", "emails": ["a@example.com", "b@example.com"],
       "callback_url": "https://yourapp.example/hooks/bouncebell"}'
{ "id": "bat_8f2k1q3m9x7w4p", "status": "queued", "total": 2, "done": 0 }

Credits für jede eindeutige Adresse werden beim Erstellen des Batches reserviert, und unbekannte Ergebnisse werden nach Abschluss erstattet. Der Callback erhält einen POST mit {"event": "batch.completed", "batch_id": "...", "status": "done", "counts": {...}}. Callback-URLs müssen HTTPS verwenden.

Fortschritt abfragen

GET https://bouncebell.com/api/v1/batches/{id}

{ "id": "bat_8f2k1q3m9x7w4p", "status": "running", "total": 2, "done": 1 }

Der Status ist queued, running oder done. Bei done enthält die Antwort außerdem counts nach Status.

Ergebnisse herunterladen

GET https://bouncebell.com/api/v1/batches/{id}/results

Liefert standardmäßig JSON. Fügen Sie ?format=csv hinzu, um eine CSV-Datei zu erhalten. Jede Zeile hat dieselben Felder wie eine Einzelprüfung.

Credits

GET https://bouncebell.com/api/v1/credits

{ "credits_remaining": 33420 }

Fehler und Limits

Fehler liefern einen JSON-Body mit einem error-Code und einer lesbaren message.

HTTP-CodeFehlerWas zu tun ist
400bad_requestEin Parameter fehlt oder ist falsch. Lesen Sie die Meldung.
401invalid_keyPrüfen Sie, ob der Schlüssel korrekt ist und nicht widerrufen wurde.
402no_creditsKaufen Sie weitere Credits.
403email_not_confirmedÖffnen Sie den Bestätigungslink, den wir Ihnen bei der Registrierung per E-Mail gesendet haben.
404not_foundDer Batch existiert nicht oder wurde nach 30 Tagen gelöscht.
429rate_limitedBitte langsamer. Warten Sie die Sekunden aus dem Retry-After-Header ab.
500server_errorVersuchen Sie es nach kurzer Pause erneut. Wenn das Problem bestehen bleibt, kontaktieren Sie den Support.

Einzelprüfungen sind auf 20 Anfragen pro Sekunde und Schlüssel begrenzt. Fragen Sie uns, wenn Sie mehr brauchen.