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
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
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
email | Ja | Die zu prüfende Adresse. URL-kodiert. |
timeout | Nein | Sekunden, 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
| Feld | Typ | Beschreibung |
|---|---|---|
email | string | Die Adresse, wie Sie sie gesendet haben. |
status | string | Das Ergebnis. Siehe Status. |
reason | string | Warum wir zu diesem Ergebnis kamen, zum Beispiel mailbox_not_found oder no_mail_server. |
domain | string | Der Domain-Teil, in Kleinbuchstaben. |
mx_record | string or null | Der Mailserver mit der höchsten Priorität. |
disposable | boolean | True, wenn die Domain ein Dienst für temporäre Postfächer ist. |
role | boolean | True bei gemeinsamen Postfächern wie info@ oder support@. |
free_provider | boolean | True bei Freemail-Anbietern wie Gmail. |
catch_all | boolean | True, wenn die Domain jede Adresse akzeptiert. |
did_you_mean | string or null | Eine korrigierte Adresse, wenn die Domain nach einem Tippfehler aussieht. |
checked_at | string | Zeitpunkt der Prüfung, in ISO 8601 UTC. |
credits_used | integer | 1, oder 0, wenn der Status unknown ist. |
Status
| Status | Bedeutung | Empfohlene Aktion |
|---|---|---|
valid | Das Postfach existiert und nimmt E-Mails an. | Senden |
invalid | Die Adresse, Domain oder das Postfach existiert nicht. | Entfernen |
disposable | Ein Dienst für temporäre Postfächer. | Entfernen |
catch_all | Die Domain akzeptiert alle Adressen, daher kann das Postfach nicht bestätigt werden. | Prüfen |
role | Ein gemeinsames Postfach, das existiert. | Prüfen |
unknown | Der 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-Code | Fehler | Was zu tun ist |
|---|---|---|
| 400 | bad_request | Ein Parameter fehlt oder ist falsch. Lesen Sie die Meldung. |
| 401 | invalid_key | Prüfen Sie, ob der Schlüssel korrekt ist und nicht widerrufen wurde. |
| 402 | no_credits | Kaufen Sie weitere Credits. |
| 403 | email_not_confirmed | Öffnen Sie den Bestätigungslink, den wir Ihnen bei der Registrierung per E-Mail gesendet haben. |
| 404 | not_found | Der Batch existiert nicht oder wurde nach 30 Tagen gelöscht. |
| 429 | rate_limited | Bitte langsamer. Warten Sie die Sekunden aus dem Retry-After-Header ab. |
| 500 | server_error | Versuchen 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.