До API-токенів
API Reference

Документація API

Інтегруйте перевірку email у ваші додатки через REST API.

Base URL
https://api.mails.expert
Auth
Bearer token
Endpoints
Single verify + bulk jobs
Автентифікація

Усі запити до API потребують Bearer-токен у заголовку Authorization. Можна використовувати JWT (з логіну) або API-токен (створений у панелі).

Перевірка одного email

Перевірити одну email-адресу. Вартість: 1 токен.

Масова перевірка email

Надішліть список email для перевірки. Вартість: 1 токен за email.

npm package

Використовуйте пакет mails.expert для швидшої інтеграції

Якщо вам зручніше інтегруватися через npm package, а не збирати raw HTTP requests вручну, використовуйте community package для mails.expert і стартуйте з чистішого integration setup.

Встановлення пакета
npm install @d2sutils/mails-expert

Відкрийте сторінку пакета в новій вкладці, щоб переглянути usage, версії та деталі встановлення.

Автентифікація

Усі запити до API потребують Bearer-токен у заголовку Authorization. Можна використовувати JWT (з логіну) або API-токен (створений у панелі).

Authorization: Bearer YOUR_TOKEN

API-токени починаються з префікса mv_.

Перевірка одного email

Перевірити одну email-адресу. Вартість: 1 токен.

Запит
POST /v1/verify
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN

{
  "email": "test@example.com"
}
Відповідь
{
  "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"
}

Масова перевірка email

Надішліть список email для перевірки. Вартість: 1 токен за email.

1. Відправити email
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. Перевірити прогрес
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. Отримати результати
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" }
  ]
}

Типи результатів

  • valid — Email доставляється
  • invalid — Email не існує або недоставляється
  • risky — Email існує, але одноразовий, рольовий або в чорному списку
  • catch_all — Домен приймає будь-які email (catch-all сервер)
  • unknown — Не вдалося визначити доставляємість

Поля перевірок

Кожна відповідь включає детальні результати перевірок:

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

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"]}'

Ліміти запитів

API-запити обмежені за кількістю на користувача. При перевищенні ліміту ви отримаєте код 429. Зверніться до підтримки для збільшення лімітів.

Коди помилок

  • 401 — Невірний або відсутній токен автентифікації
  • 402 — Недостатньо токенів (купіть кредити)
  • 429 — Перевищено ліміт запитів
  • 500 — Внутрішня помилка сервера