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

API Reference

Інтегруйте сервіси MailAudit у власний застосунок. Безкоштовний API‑доступ для перевірок MX‑записів та чорних списків.

Без API‑ключа

Готово до використання, без реєстрації

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

60 запитів / хвилину / IP‑адреса

Базовий URL

https://api.mailaudit.io

Endpoints

Перевірка MX‑записів

GET/tools/mx-check

Отримання MX‑записів домену, а також налаштувань SPF і DMARC.

Параметри

domainstringобов’язковий
Доменне ім’я для перевірки (наприклад, example.com)

Приклад запиту

bash
curl "https://api.mailaudit.io/tools/mx-check?domain=gmail.com"

Приклад відповіді

json
1{
2  "domain": "gmail.com",
3  "hasMx": true,
4  "records": [
5    {
6      "exchange": "gmail-smtp-in.l.google.com",
7      "priority": 5,
8      "ip": ["142.250.150.27"]
9    },
10    {
11      "exchange": "alt1.gmail-smtp-in.l.google.com",
12      "priority": 10,
13      "ip": ["142.250.141.26"]
14    }
15  ],
16  "hasSpf": true,
17  "spfRecord": "v=spf1 redirect=_spf.google.com",
18  "hasDmarc": true,
19  "dmarcRecord": "v=DMARC1; p=none; sp=quarantine; rua=mailto:..."
20}

Перевірка чорних списків

GET/tools/blacklist-check

Перевірка, чи IP‑адреса або домен є в основних спам‑блок‑листах (23+ DNSBL).

Параметри

querystringобов’язковий
IP‑адреса (наприклад, 192.168.1.1) або доменне ім’я

Приклад запиту

bash
curl "https://api.mailaudit.io/tools/blacklist-check?query=8.8.8.8"

Приклад відповіді

json
1{
2  "query": "8.8.8.8",
3  "queryType": "ip",
4  "totalChecked": 23,
5  "totalListed": 0,
6  "results": [
7    {
8      "name": "Spamhaus ZEN",
9      "zone": "zen.spamhaus.org",
10      "listed": false,
11      "responseTime": 45
12    },
13    {
14      "name": "Barracuda",
15      "zone": "b.barracudacentral.org",
16      "listed": false,
17      "responseTime": 32
18    }
19    // ...
20  ]
21}

Перевірка репутації домену

GET/tools/reputation

Комплексний розрахунок репутації домену. Перевіряє SPF, DKIM, DMARC, MX‑записи, статус у чорних списках, підтримку STARTTLS, вік домену та reverse DNS.

Параметри

domainstringобов’язковий
Доменне ім’я для перевірки (наприклад, gmail.com)

Приклад запиту

bash
curl "https://api.mailaudit.io/tools/reputation?domain=gmail.com"
Шкала оцінювання
90-100 = A+
80-89 = A
70-79 = B
60-69 = C
50-59 = D
0-49 = F

Приклад відповіді

json
1{
2  "domain": "gmail.com",
3  "ip": "142.250.150.27",
4  "score": 100,
5  "grade": "A+",
6  "factors": [
7    { "name": "SPF", "status": "pass", "detail": "Policy: present", "impact": 15 },
8    { "name": "DKIM", "status": "warn", "detail": "Not found", "impact": 0 },
9    { "name": "DMARC", "status": "warn", "detail": "Policy: none", "impact": 5 },
10    { "name": "MX Records", "status": "pass", "detail": "5 record(s)", "impact": 10 },
11    { "name": "Blacklists", "status": "pass", "detail": "Clean (10 checked)", "impact": 20 },
12    { "name": "STARTTLS", "status": "pass", "detail": "Supported", "impact": 10 },
13    { "name": "Domain Age", "status": "pass", "detail": "30.3 years", "impact": 10 },
14    { "name": "Reverse DNS", "status": "pass", "detail": "wa-in-f27.1e100.net", "impact": 5 }
15  ],
16  "details": {
17    "mx": { "valid": true, "count": 5, "primary": "gmail-smtp-in.l.google.com" },
18    "spf": { "valid": true, "record": "v=spf1 redirect=_spf.google.com" },
19    "dkim": { "valid": false, "selectors": [] },
20    "dmarc": { "valid": true, "policy": "none", "rua": ["mailto:..."] },
21    "blacklists": { "checked": 10, "listed": 0, "clean": true },
22    "tls": { "valid": true, "starttls": true },
23    "domainAge": { "valid": true, "years": 30.3, "registrationDate": "1995-08-13" },
24    "rdns": { "valid": true, "hostname": "wa-in-f27.1e100.net" }
25  },
26  "checkedAt": "2025-12-03T07:05:46.232Z",
27  "cached": false
28}

Коди стану HTTP

КодСтатусОпис
200OKУспішний запит
400Bad RequestВідсутній або некоректний параметр
429Too Many RequestsПеревищено ліміт запитів (60/хв)
500Internal Server ErrorПомилка на боці сервера

Помилки у відповіді

У разі помилки у відповіді буде поле error з описом проблеми:

json
{
  "error": "Потрібно вказати домен"
}

Приклади коду

JavaScript / Node.js

javascript
1// Запит MX‑записів
2const response = await fetch(
3  'https://api.mailaudit.io/tools/mx-check?domain=example.com'
4);
5const data = await response.json();
6
7if (data.hasMx) {
8  console.log('MX‑записи:', data.records);
9  console.log('SPF:', data.hasSpf ? data.spfRecord : 'Немає');
10  console.log('DMARC:', data.hasDmarc ? data.dmarcRecord : 'Немає');
11}

Python

python
1import requests
2
3# Перевірка чорних списків
4response = requests.get(
5    'https://api.mailaudit.io/tools/blacklist-check',
6    params={'query': '192.168.1.1'}
7)
8data = response.json()
9
10print(f"Перевірено: {data['totalChecked']} списків")
11print(f"У списку: {data['totalListed']} записів")
12
13for result in data['results']:
14    if result['listed']:
15        print(f"⚠️  {result['name']}: У СПИСКУ")

Python - Reputation Check

python
1import requests
2
3# Перевірка репутації домену
4response = requests.get(
5    'https://api.mailaudit.io/tools/reputation',
6    params={'domain': 'example.com'}
7)
8data = response.json()
9
10print(f"Score: {data['score']}/100 ({data['grade']})")
11print("\nФактори:")
12for factor in data['factors']:
13    icon = "✅" if factor['status'] == 'pass' else "⚠️" if factor['status'] == 'warn' else "❌"
14    print(f"  {icon} {factor['name']}: {factor['detail']} ({factor['impact']:+d})")

PHP

php
1<?php
2// Перевірка MX
3$domain = 'example.com';
4$url = "https://api.mailaudit.io/tools/mx-check?domain=" . urlencode($domain);
5
6$response = file_get_contents($url);
7$data = json_decode($response, true);
8
9if ($data['hasMx']) {
10    foreach ($data['records'] as $mx) {
11        echo "MX: {$mx['exchange']} (пріоритет: {$mx['priority']})\n";
12    }
13}
14?>

Хочете спробувати API?

Спробуйте наші інструменти у веб‑інтерфейсі або починайте інтеграцію через API.