Zu API-Token
API Reference

API-Dokumentation

Integrieren Sie E-Mail-Verifizierung in Ihre Apps über unsere REST-API.

Base URL
https://api.mails.expert
Auth
Bearer token
Endpoints
Single verify + bulk jobs
Authentifizierung

Alle API-Anfragen erfordern ein Bearer-Token im Authorization-Header. Sie können entweder ein JWT-Token (vom Login) oder ein API-Token (im Dashboard erstellt) verwenden.

Einzelne E-Mail-Verifizierung

Eine einzelne E-Mail-Adresse verifizieren. Kosten: 1 Token.

Massen-E-Mail-Verifizierung

Eine Liste von E-Mails zur Verifizierung senden. Kosten: 1 Token pro E-Mail.

npm-Paket

Nutzen Sie das mails.expert-Paket für eine schnellere Integration

Wenn Sie lieber über ein npm-Paket integrieren statt rohe HTTP-Requests manuell zu bauen, nutzen Sie das Community-Paket für mails.expert und starten Sie mit einem saubereren Integrations-Setup.

Paket installieren
npm install @d2sutils/mails-expert

Öffnen Sie die Paketseite in einem neuen Tab, um Nutzung, Versionen und Installationsdetails anzusehen.

Authentifizierung

Alle API-Anfragen erfordern ein Bearer-Token im Authorization-Header. Sie können entweder ein JWT-Token (vom Login) oder ein API-Token (im Dashboard erstellt) verwenden.

Authorization: Bearer YOUR_TOKEN

API-Token beginnen mit dem Präfix mv_.

Einzelne E-Mail-Verifizierung

Eine einzelne E-Mail-Adresse verifizieren. Kosten: 1 Token.

Anfrage
POST /v1/verify
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN

{
  "email": "test@example.com"
}
Antwort
{
  "email": "test@example.com",
  "result": "valid",
  "checks": {
    "format": true,
    "domainExists": true,
    "hasMx": true,
    "domainReachable": true,
    "smtpStatus": "valid",
    "isDisposable": false,
    "isRole": false,
    "isBlacklisted": false,
    "isKnownProvider": true,
    "isCatchAll": false
  },
  "reason": "250 2.1.5 OK"
}

Massen-E-Mail-Verifizierung

Eine Liste von E-Mails zur Verifizierung senden. Kosten: 1 Token pro E-Mail.

1. E-Mails senden
POST /v1/bulk-verify
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN

{
  "emails": [
    "user1@example.com",
    "user2@example.com",
    "info@company.com"
  ]
}

// Response:
{
  "jobId": "abc-123",
  "queued": 3
}
2. Fortschritt abfragen
GET /v1/bulk-verify/abc-123/progress
Authorization: Bearer YOUR_TOKEN

// Response:
{
  "job_id": "abc-123",
  "status": "processing",
  "total": 3,
  "processed": 2,
  "progress_percent": 66
}
3. Ergebnisse abrufen
GET /v1/bulk-verify/abc-123
Authorization: Bearer YOUR_TOKEN

// Response:
{
  "id": "abc-123",
  "status": "completed",
  "total": 3,
  "processed": 3,
  "results": [
    { "email": "user1@example.com", "result": "valid" },
    { "email": "user2@example.com", "result": "invalid" },
    { "email": "info@company.com", "result": "catch_all" }
  ]
}

Ergebnistypen

  • valid — E-Mail ist zustellbar
  • invalid — E-Mail existiert nicht oder ist nicht zustellbar
  • risky — E-Mail existiert, ist aber Wegwerf-, Rollen- oder Blacklist-Adresse
  • catch_all — Domain akzeptiert jede E-Mail (Catch-all-Server)
  • unknown — Zustellbarkeit konnte nicht ermittelt werden

Prüffelder

Jede Antwort enthält detaillierte Prüfergebnisse:

format        — Email format is valid
domainExists  — Domain exists (DNS resolves)
hasMx         — Domain has MX records
domainReachable — Domain web server responds
smtpStatus    — SMTP RCPT TO result: valid / invalid / unknown
isDisposable  — Temporary/disposable email provider
isRole        — Role-based address (admin@, info@, support@...)
isBlacklisted — Found on spam blacklists
isKnownProvider — Known trusted provider (Gmail, Yahoo, etc.)
isCatchAll    — Domain accepts all addresses (catch-all)

cURL-Beispiele

Single verify
curl -X POST https://api.mails.expert/v1/verify \
  -H "Authorization: Bearer mv_your_api_token" \
  -H "Content-Type: application/json" \
  -d '{"email": "test@example.com"}'
Bulk verify
curl -X POST https://api.mails.expert/v1/bulk-verify \
  -H "Authorization: Bearer mv_your_api_token" \
  -H "Content-Type: application/json" \
  -d '{"emails": ["a@example.com", "b@example.com"]}'

Anfragelimits

API-Anfragen sind pro Benutzer begrenzt. Bei Überschreitung erhalten Sie einen 429-Statuscode. Kontaktieren Sie den Support für höhere Limits.

Fehlercodes

  • 401 — Ungültiges oder fehlendes Authentifizierungstoken
  • 402 — Nicht genug Token (kaufen Sie Guthaben)
  • 429 — Anfragelimit überschritten
  • 500 — Interner Serverfehler