Verifizierungs-API
Ein Aufruf, und Sie wissen, was beim Senden passiert.
Prüfen Sie Adressen bei der Registrierung und vor jedem Versand, damit fehlerhafte Daten weder Ihre Liste noch Ihre Absenderreputation erreichen. Token rein, Urteil raus, mit Score und Begründungscodes dahinter.
Anfrage und Antwort
Die ganze Integration, auf einem Bildschirm.
Kein SDK, kein Client zum Aufbauen, kein Wrapper zum Lernen. Ein Bearer-Token, ein POST und ein Objekt, dessen Feldnamen Ihr Code auswerten kann.
curl -X POST https://api.bounceintel.com/v1/check_email \
-H "Authorization: Bearer $BOUNCEINTEL_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'{
"input": "[email protected]",
"is_reachable": "safe",
"syntax": {
"domain": "stripe.com",
"username": "ada",
"is_valid_syntax": true
},
"mx": {
"accepts_mail": true,
"records": ["aspmx.l.google.com", "alt1.aspmx.l.google.com"]
},
"smtp": {
"can_connect_smtp": true,
"is_deliverable": true,
"is_catch_all": false,
"is_disabled": false,
"has_full_inbox": false
},
"misc": {
"is_disposable": false,
"is_role_account": false,
"is_b2c": false
},
"provider": "google_workspace",
"provider_rules_applied": true,
"score": {
"score": 100,
"category": "valid",
"sub_reason": "deliverable",
"safe_to_send": true,
"confidence": 0.97,
"confidence_level": "high",
"reason_codes": ["deliverable", "tenant_history_positive"]
},
"bounce_risk": {
"score": 3,
"category": "low",
"confidence": 0.94,
"action": "send",
"model_version": "br-2026.06",
"risk_factors": [
{
"signal": "smtp_is_deliverable",
"direction": "decreases_risk",
"contribution": -0.41,
"description": "Mailbox accepted the recipient at RCPT TO."
}
]
}
}- 01
Ein Endpunkt
POST /v1/check_email mit einer Adresse. Es gibt keine Session aufzubauen.
- 02
Begründungscodes
Dokumentierte Codes, auf die Sie verzweigen können, statt Freitext.
- 03
Ihr eigener Score
Eine Zahl von 0 bis 100, damit Ihre Schwelle eine Konfiguration ist und nicht unsere Entscheidung.
- 04
Ehrliche Unbekannte
Eine unklare Prüfung liefert 200 mit dem Urteil unbekannt, niemals ein erfundenes.
- 05
Massenlauf als Job
POST /v1/bulk nimmt eine Liste und liefert eine Job-ID zum Abfragen.
- 06
Rotierbare Schlüssel
Mehrere aktive Schlüssel, einzeln widerrufbar, ohne Ausfall.
Erste Schritte
Von keinem Konto zu einem Urteil in Ihrem eigenen Code.
- 01
Schlüssel anlegen
Schlüssel werden im Dashboard ausgegeben. Sie können mehrere gleichzeitig aktiv halten und einzeln widerrufen, eine Rotation kostet also keine Ausfallzeit.
- 02
Adresse senden
Ein POST mit einem Authorization-Header und einem JSON-Body. Es gibt keine Sitzung aufzubauen und keinen Handshake davor.
- 03
Auf die Antwort verzweigen
Lesen Sie das Urteil, oder den Score gegen Ihren eigenen Schwellenwert, oder die Begründungscodes. Alle drei stehen im selben Objekt, ein zweiter Aufruf für das Warum entfällt.
- 04
Auf Listen skalieren
Derselbe Schlüssel reicht einen Stapel als Auftrag ein und fragt ihn ab. Die Urteile sind identisch mit denen des Einzelendpunkts, denn es ist dieselbe Pipeline.
Referenz
Die Oberfläche, gegen die Sie integrieren.
Vier Endpunkte und zwei Header. Die vollständige Referenz, mit einer Live-Testkonsole, steht in der Dokumentation.
| Endpunkt oder Header | Art | Was er tut |
|---|---|---|
| POST /v1/check_email | synchronous | Eine Adresse prüfen und den bewerteten Bericht in derselben Antwort erhalten. Das ist der Aufruf, den fast jede Integration macht. |
| POST /v1/bulk | job | Eine Liste einreichen und eine Auftrags-ID erhalten. Nimmt weit mehr Adressen an, als Sie mit offener Verbindung halten wollen würden. |
| GET /v1/bulk/{job_id} | job | Einen Auftrag nach Status und Fortschritt abfragen, damit Ihre eigene Oberfläche einen Fortschritt zeigt statt einer sich drehenden Anzeige. |
| GET /v1/bulk/{job_id}/results | json | csv | Die Zeilen eines fertigen Auftrags seitenweise abrufen, als JSON oder als dieselbe CSV, die das Dashboard herunterlädt. |
| Authorization: Bearer | header | Wie sich jede Anfrage authentifiziert. Behalten Sie den Schlüssel auf Ihrem Server: ein Schlüssel, der den Browser erreicht, ist ein öffentliches Credit-Guthaben. |
| 429 / Retry-After | header | Was Sie erhalten, wenn Sie das Ratenlimit Ihres Plans überschreiten. Warten Sie die im Header genannten Sekunden und versuchen Sie es erneut; eine abgewiesene Anfrage wird nicht berechnet. |
FAQ
Was Entwickler zuerst fragen
Wie authentifiziere ich mich?
Ein Authorization-Header mit Token. Der Schlüssel bleibt auf Ihrem Server: ein Schlüssel im Browser ist ein öffentliches Guthaben.
Was mache ich mit dem Urteil unbekannt?
Den Nutzer durchlassen, den Datensatz markieren und später erneut prüfen. Meist verweigert nur der Zielserver die Antwort.
Welche Tarife enthalten API-Schlüssel?
Jeder bezahlte Tarif, monatlich oder nach Bedarf. Kostenlose Konten prüfen im Dashboard, was reicht, um das Antwortformat zu sehen.
Kann ich sie aus dem Browser aufrufen?
Nein. Leiten Sie sie über Ihren eigenen Server. Ein Schlüssel im Browser ist ein öffentliches Guthaben.
Wie hoch sind die Ratenlimits?
Sie werden je Plan festgelegt statt als eine globale Zahl veröffentlicht, denn eine Integration in ein Anmeldeformular und ein nächtlicher Listenlauf haben sehr unterschiedliche Profile. Bei Überschreitung antwortet die API mit 429 und einem Retry-After-Header und berechnet die Anfrage nicht.
Gibt es ein SDK?
Nein, und genau darum geht es. Ein Endpunkt mit JSON-Body braucht keine Client-Bibliothek, und ein dünner Wrapper ist eine Abhängigkeit, die man ohne Gegenwert aktuell halten muss. Jede Sprache in den Beispielen oben nutzt ihren eigenen Standard-HTTP-Client.
Lesen Sie die Antwort, bevor Sie dagegen programmieren.
100 Credits bei der Anmeldung, ohne Karte. Echte Adressen prüfen und genau das Objekt sehen, das Ihr Code bekommt.