# E-Mail-Verifizierung API

> Eine einzelne Adresse in Echtzeit verifizieren.

Basis-URL: `https://api.emailit.com/v2`. Authentifizieren Sie sich mit `Authorization: Bearer <API key>`.

## Adresse verifizieren — POST /email-verifications

> Prüfen Sie eine E-Mail-Adresse in Echtzeit: Syntax, Wegwerf- und Rollenadressen, MX-Einträge und im vollständigen Modus das Postfach selbst.

# Adresse verifizieren

Verifiziert eine E-Mail-Adresse und gibt das Ergebnis in der Antwort zurück. Jede Verifizierung kostet 5 Credits, die vor der Prüfung berechnet werden. Um viele Adressen auf einmal zu verifizieren, [erstellen Sie eine Verifizierungsliste](/de/docs/api-reference/email-verifications/lists/create/). Erfordert einen API-Schlüssel mit dem Scope `full`.

`POST /email-verifications`

## Anfrage-Body

- `email` (string, erforderlich): Zu verifizierende Adresse. Ein Wert, der keine gültige Adresse ist, gibt trotzdem `200` zurück, mit `result: "invalid"` und einem Score von `0`, und wird berechnet.

- `mode` (string): `fast` (Standard) prüft Syntax, Wegwerf- und Rollenadressen, Freemail-Anbieter, sinnlose Zeichenfolgen, MX-Einträge und das Alter der Domain. `full` verbindet sich zusätzlich mit dem Mailserver des Empfängers, um zu prüfen, ob das Postfach existiert, deaktiviert oder voll ist und ob die Domain alle Adressen annimmt. Im Modus `fast` sind die Postfachprüfungen `null`.

## Rückgabe

Gibt `200 OK` mit einem Objekt `email_verification` zurück. Emailit sendet außerdem das Webhook-Event [`email_verification.created`](/de/docs/webhooks/events/email-verification/created/).

| Status | Wann |
| --- | --- |
| `400` | `email` fehlt oder `mode` ist nicht `fast` oder `full` (Standard-Validierungsfehler). |
| `402` | Im Workspace sind keine 5 Credits mehr übrig. Der Body ist `{"error": {"message": "…", "code": 402}}`. |

### Ergebnis

| `result` | Bedeutung |
| --- | --- |
| `safe` | Hat alle Prüfungen bestanden und einen Score von 70 oder mehr erreicht. |
| `invalid` | Die Syntax ist ungültig oder die Domain hat keine MX-Einträge und kann daher keine E-Mails empfangen. |
| `disposable` | Die Domain gehört zu einem Wegwerf-E-Mail-Dienst. |
| `disabled` | Das Postfach existiert, ist aber deaktiviert. Nur im Modus `full`. |
| `inbox_full` | Das Postfach ist voll. Nur im Modus `full`. |
| `role` | Eine Rollenadresse wie `info@` oder `support@`. |
| `unknown` | Keine Prüfung ist fehlgeschlagen, aber der Score liegt unter 70. |

### Score und Risiko

`score` reicht von `0` bis `100`. `risk` ist `high`, wenn die Syntax ungültig ist, die Domain keine MX-Einträge hat, die Adresse eine Wegwerf-Adresse ist oder das Postfach deaktiviert ist. Andernfalls richtet sich der Wert nach dem Score: `low` ab 80, `medium` ab 50 und `high` unter 50.

### Felder

- `status` (string): `completed` bei Einzelverifizierungen.

- `checks` (object): Einzelne Prüfungen: `valid_syntax`, `disposable`, `role_account`, `free_email`, `gibberish` und `has_mx_records` (Booleans), `domain_age` (Alter der Domain in Tagen oder `null`, wenn unbekannt) sowie die Prüfungen des Modus `full`: `smtp_connect`, `deliverable`, `disabled`, `inbox_full` und `catch_all` (`null` im Modus `fast`).

- `address` (object): Die Adresse, aufgeteilt in `mailbox`, `domain`, `suffix` (der Teil nach `+` oder `null`) und `root` (die Adresse ohne Suffix).

- `did_you_mean` (string | null): Korrekturvorschlag für einen wahrscheinlichen Tippfehler, zum Beispiel `ada@gmail.com` für `ada@gmial.com`.

- `mx_records` (object[]): Die MX-Einträge der Domain, jeweils mit `priority` und `exchange`.

**Anfrage** `POST /email-verifications`

**Node.js**

```javascript
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const result = await emailit.emailVerifications.verify({ email: 'ada@example.com' });
```

**Python**

```python
from emailit import EmailitClient
client = EmailitClient("your_api_key")

result = client.email_verifications.verify({"email": "ada@example.com"})
```

**PHP**

```php
$emailit = Emailit::client('your_api_key');

$result = $emailit->emailVerifications()->verify(['email' => 'ada@example.com']);
```

**Ruby**

```ruby
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

result = client.email_verifications.verify(email: "ada@example.com")
```

**Go**

```go
import "github.com/emailit/emailit-go/v2"
client := emailit.NewClient("your_api_key")

result, err := client.EmailVerifications.Verify(&emailit.VerifyEmailRequest{Email: "ada@example.com"})
```

**Rust**

```rust
use emailit::Emailit;
let emailit = Emailit::new("your_api_key");

let result = emailit.email_verifications.verify(emailit::types::VerifyEmailParams::new("ada@example.com")).await?;
```

**Java**

```java
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");

EmailitObject result = emailit.emailVerifications().create(EmailVerificationCreateParams.builder().setEmail("ada@example.com").build());
```

**.NET**

```csharp
using Emailit;

var emailit = new EmailitClient("your_api_key");

var result = emailit.EmailVerifications.Verify(new EmailVerificationVerifyOptions { Email = "ada@example.com" });
```

**Laravel**

```php
use Emailit\Laravel\Facades\Emailit;

$result = Emailit::emailVerifications()->verify(['email' => 'ada@example.com']);
```

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/email-verifications \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "ada@example.com"}'
```

**200**

```json
{
  "id": "ev_2xLd4Wq8Bn1Ys6Pk3Rm9Tc0Fh5a",
  "object": "email_verification",
  "email": "ada@example.com",
  "status": "completed",
  "score": 100,
  "risk": "low",
  "result": "safe",
  "mode": "fast",
  "checks": {
    "valid_syntax": true,
    "disposable": false,
    "role_account": false,
    "inbox_full": null,
    "deliverable": null,
    "disabled": null,
    "catch_all": null,
    "free_email": false,
    "smtp_connect": null,
    "has_mx_records": true,
    "domain_age": 10957,
    "gibberish": false
  },
  "address": {
    "mailbox": "ada",
    "domain": "example.com",
    "suffix": null,
    "root": "ada@example.com"
  },
  "did_you_mean": null,
  "mx_records": [
    { "priority": 10, "exchange": "mx1.example.com" }
  ],
  "created_at": "2026-10-01T10:20:31.118000+00:00",
  "updated_at": "2026-10-01T10:20:31.118000+00:00"
}
```

**402**

```json
{
  "error": {
    "message": "Workspace has insufficient email credits for email verification. Each verification requires 5 credits.",
    "code": 402
  }
}
```

---
Quelle: https://emailit.com/de/docs/api-reference/email-verifications/verify/
