API‑dokumentation

API‑referens

Integrera MailAudit i dina egna applikationer. Gratis API‑åtkomst för MX‑ och svartlistkontroller.

Ingen API‑nyckel

Redo att användas, ingen registrering krävs

Begränsning

60 förfrågningar / minut / IP‑adress

Bas‑URL

https://api.mailaudit.io

Endpoints

MX‑kontroll

GET/tools/mx-check

Hämta en domäns MX‑poster samt SPF- och DMARC‑inställningar.

Parametrar

domainstringobligatorisk
Domännamnet som ska kontrolleras (t.ex. example.com)

Exempel på förfrågan

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

Exempel på svar

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}

Svartlistkontroll

GET/tools/blacklist-check

Kontrollera om en IP-adress eller domän finns på stora spamblocklistor (23+ DNSBL).

Parametrar

querystringobligatorisk
IP‑adress (t.ex. 192.168.1.1) eller domännamn

Exempel på förfrågan

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

Exempel på svar

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}

Kontroll av domänrykte

GET/tools/reputation

Fullständig beräkning av domänens ryktespoäng. Kontrollerar SPF, DKIM, DMARC, MX‑poster, svartliststatus, STARTTLS‑stöd, domänålder och reverse DNS.

Parametrar

domainstringobligatorisk
Domännamnet som ska kontrolleras (t.ex. gmail.com)

Exempel på förfrågan

bash
curl "https://api.mailaudit.io/tools/reputation?domain=gmail.com"
Betygsskala
90-100 = A+
80-89 = A
70-79 = B
60-69 = C
50-59 = D
0-49 = F

Exempel på svar

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‑statuskoder

KodStatusBeskrivning
200OKLyckad förfrågan
400Bad RequestSaknad eller ogiltig parameter
429Too Many RequestsBegränsning överskriden (60/minut)
500Internal Server ErrorServerfel

Felsvar

Vid fel innehåller svaret ett error-fält med felbeskrivning:

json
{
  "error": "Domain is required"
}

Kodexempel

JavaScript / Node.js

javascript
1// Hämta MX‑poster
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‑poster:', data.records);
9  console.log('SPF:', data.hasSpf ? data.spfRecord : 'Ingen');
10  console.log('DMARC:', data.hasDmarc ? data.dmarcRecord : 'Ingen');
11}

Python

python
1import requests
2
3# Svartlistkontroll
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"Kontrollerade: {data['totalChecked']} listor")
11print(f"Listad på: {data['totalListed']} platser")
12
13for result in data['results']:
14    if result['listed']:
15        print(f"⚠️  {result['name']}: LISTAD")

Python - Reputation Check

python
1import requests
2
3# Kontroll av domänrykte
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("\nFaktorer:")
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‑kontroll
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']} (prioritet: {$mx['priority']})\n";
12    }
13}
14?>

Vill du testa API:et?

Prova våra verktyg i webbgränssnittet eller börja utveckla direkt mot API:et.