API‑referanse
Integrer MailAudit i din egen applikasjon: DNS-, blacklist- og omdømmesjekker samt fullstendige tester av e‑postlevering via et REST API.
API-nøkkel kreves
Gratis – opprett en i kontrollpaneletRate limit
60 forespørsler/minutt, 1 000/dag per nøkkel
Base‑URL
https://api.mailaudit.io/api/v1
Autentisering
Hver forespørsel krever en API-nøkkel. Send den i headeren Authorization som Bearer-token (eller i headeren X-API-Key). Hold nøkkelen hemmelig – ikke bygg den inn i kode som kjører i nettleseren.
curl -H "Authorization: Bearer ma_live_xxxxxxxxxxxx" \
"https://api.mailaudit.io/api/v1/tools/mx-check?domain=example.com"Hvert svar inneholder headerne X-RateLimit-Remaining og X-RateLimit-Daily-Remaining. Når en grense overskrides, får du HTTP 429 med headeren Retry-After.
Endepunkter
MX‑sjekk
/tools/mx-checkHent et domenes MX‑oppføringer samt SPF‑ og DMARC‑innstillinger.
Parametere
domainstringpåkrevdEksempel på forespørsel
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/tools/mx-check?domain=gmail.com"Eksempel på respons
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}Blacklist‑sjekk
/tools/blacklist-checkSjekk om en IP‑adresse eller et domene står på sentrale spam‑blokklister (32 DNSBL-er).
Parametere
querystringpåkrevdEksempel på forespørsel
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/tools/blacklist-check?query=8.8.8.8"Eksempel på respons
1{
2 "query": "8.8.8.8",
3 "queryType": "ip",
4 "totalChecked": 32,
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}Domeneomdømme‑sjekk
/tools/reputationFull beregning av domeneomdømme. Sjekker SPF, DKIM, DMARC, MX‑oppføringer, blacklist‑status, STARTTLS‑støtte, domenealder og reverse DNS.
Parametere
domainstringpåkrevdEksempel på forespørsel
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/tools/reputation?domain=gmail.com"Karakterskala
Eksempel på respons
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 (39 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}Test av e‑postlevering
Opprett en testadresse, send e‑posten din til den fra serveren du vil teste, og spør deretter etter resultatet til statusen er completed (vanligvis innen ett minutt). Testadresser utløper etter én time.
/test/generateOpprett en ny testadresse.
Eksempel på forespørsel
curl -X POST -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/test/generate"Eksempel på respons
1{
2 "testId": "k3v9x2m1qa",
3 "email": "[email protected]",
4 "expiresAt": "2026-09-24T18:44:14.762Z",
5 "checkUrl": "/test/k3v9x2m1qa"
6}/test/{testId}Hent status og resultater for en test. Status: pending → processing → completed (eller expired / error). Poengsummen er 0–10.
Parametere
testIdstringpåkrevdEksempel på forespørsel
curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
"https://api.mailaudit.io/api/v1/test/k3v9x2m1qa"Eksempel på respons
1{
2 "testId": "k3v9x2m1qa",
3 "status": "completed",
4 "score": 9.2,
5 "createdAt": "2026-09-24T17:44:14.763Z",
6 "receivedAt": "2026-09-24T17:45:02.118Z",
7 "expiresAt": "2026-09-24T18:44:14.762Z",
8 "email": {
9 "from": "[email protected]",
10 "subject": "Our September newsletter",
11 "bounceAddress": null
12 },
13 "checks": {
14 "spf": { "status": "pass", ... },
15 "dkim": { "status": "pass", ... },
16 "dmarc": { "status": "pass", ... },
17 "blacklist": { "status": "pass", ... },
18 "spamassassin": { "status": "pass", ... }
19 }
20}/test/{testId}/recheckKjør alle sjekker på nytt på en e‑post som allerede er mottatt, uten å sende en ny.
Parametere
testIdstringpåkrevdEksempel på respons
1{
2 "success": true,
3 "testId": "k3v9x2m1qa",
4 "message": "Recheck initiated - checks are running"
5}Utviklerinnboks
Hver konto har sin egen engangsadresse ([email protected], valgfri +tagg). E‑post som sendes dit, lagres i 24 timer og kan leses via API-et, i kontrollpanelet eller via en delingslenke. Bruk den i ende-til-ende-tester i stedet for en ekte postkasse.
/inbox/waitVenter (long-poll, opptil 60 s) til en samsvarende melding kommer, og returnerer den med tekst, HTML, lenker og engangskoder. Returnerer 408 hvis ingenting kommer i tide.
Parametere
tagstringtimeoutnumbersinceISO 8601Eksempel på forespørsel
1curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
2 "https://api.mailaudit.io/api/v1/inbox/address?tag=signup-42"
3# → { "address": "[email protected]", … }
4
5curl -H "Authorization: Bearer $MAILAUDIT_API_KEY" \
6 "https://api.mailaudit.io/api/v1/inbox/wait?tag=signup-42&timeout=60"Også tilgjengelig:
- GET /inbox · GET /inbox/address · GET /inbox/messages?tag=&since=
- GET /inbox/messages/{id} · GET /inbox/messages/{id}/raw · DELETE /inbox/messages/{id}
Eksempel på respons
1{
2 "id": "81ab56fe-9546-41a1-b7d1-b0f1a594ad37",
3 "to": "[email protected]",
4 "tag": "signup-42",
5 "from": { "address": "[email protected]", "name": "YourApp" },
6 "subject": "Confirm your email address",
7 "receivedAt": "2026-09-24T19:53:43.624Z",
8 "expiresAt": "2026-09-25T19:53:43.624Z",
9 "links": ["https://yourapp.dev/confirm?t=abc"],
10 "codes": ["482913"],
11 "shareUrl": "https://mailaudit.io/m/UjKgBYNGYXjTaGLe…",
12 "text": "Your code: 482 913 …",
13 "html": "<p>Your code: <b>482 913</b></p>…",
14 "headers": { "subject": "Confirm your email address", … }
15}Bruk den fra en AI-agent (MCP)
Den samme innboksen er en MCP-server, så Claude Code, Cursor og andre MCP-klienter kan selv opprette adresser, vente på e‑post og lese den:
claude mcp add --transport http mailaudit https://api.mailaudit.io/mcp \
--header "Authorization: Bearer $MAILAUDIT_API_KEY"Verktøy: new_address, wait_for_message, list_messages, get_message, extract, share_link, delete_message.
HTTP‑statuskoder
| Kode | Status | Beskrivelse |
|---|---|---|
| 200 | OK | Vellykket forespørsel |
| 400 | Bad Request | Manglende eller ugyldig parameter |
| 401 | Unauthorized | API-nøkkel mangler, er ugyldig eller er tilbakekalt |
| 404 | Not Found | Test ikke funnet |
| 429 | Too Many Requests | Grensen for antall forespørsler er overskredet (60/minutt eller 1 000/dag) |
| 500 | Internal Server Error | Serverfeil |
Feilrespons
Ved feil inneholder responsen et error-felt med beskrivelse av feilen:
{
"error": "Domain is required"
}Kodeeksempler
JavaScript / Node.js
1// Hent MX‑oppføringer
2const response = await fetch(
3 'https://api.mailaudit.io/api/v1/tools/mx-check?domain=example.com',
4 { headers: { Authorization: `Bearer ${process.env.MAILAUDIT_API_KEY}` } }
5);
6const data = await response.json();
7
8if (data.hasMx) {
9 console.log('MX‑oppføringer:', data.records);
10 console.log('SPF:', data.hasSpf ? data.spfRecord : 'Ingen');
11 console.log('DMARC:', data.hasDmarc ? data.dmarcRecord : 'Ingen');
12}Python
1import os
2import requests
3
4# Blacklist‑sjekk
5response = requests.get(
6 'https://api.mailaudit.io/api/v1/tools/blacklist-check',
7 params={'query': '192.168.1.1'},
8 headers={'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"},
9)
10data = response.json()
11
12print(f"Sjekket: {data['totalChecked']} lister")
13print(f"Oppført på: {data['totalListed']} steder")
14
15for result in data['results']:
16 if result['listed']:
17 print(f"⚠️ {result['name']}: OPPFØRT")Python - Reputation Check
1import os
2import requests
3
4# Domeneomdømme‑sjekk
5response = requests.get(
6 'https://api.mailaudit.io/api/v1/tools/reputation',
7 params={'domain': 'example.com'},
8 headers={'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"},
9)
10data = response.json()
11
12print(f"Score: {data['score']}/100 ({data['grade']})")
13print("\nFaktorer:")
14for factor in data['factors']:
15 icon = "✅" if factor['status'] == 'pass' else "⚠️" if factor['status'] == 'warn' else "❌"
16 print(f" {icon} {factor['name']}: {factor['detail']} ({factor['impact']:+d})")Python - Email deliverability test
1import os
2import time
3import requests
4
5# Fullstendig leveringstest
6api = 'https://api.mailaudit.io/api/v1'
7headers = {'Authorization': f"Bearer {os.environ['MAILAUDIT_API_KEY']}"}
8
9test = requests.post(f'{api}/test/generate', headers=headers).json()
10print('Send your email to:', test['email'])
11
12while True:
13 result = requests.get(f"{api}/test/{test['testId']}", headers=headers).json()
14 if result['status'] in ('completed', 'expired', 'error'):
15 break
16 time.sleep(10)
17
18print(f"Status: {result['status']}, score: {result['score']}/10")PHP
1<?php
2// MX‑sjekk
3$domain = 'example.com';
4$url = "https://api.mailaudit.io/api/v1/tools/mx-check?domain=" . urlencode($domain);
5
6$context = stream_context_create(['http' => [
7 'header' => 'Authorization: Bearer ' . getenv('MAILAUDIT_API_KEY'),
8]]);
9$response = file_get_contents($url, false, $context);
10$data = json_decode($response, true);
11
12if ($data['hasMx']) {
13 foreach ($data['records'] as $mx) {
14 echo "MX: {$mx['exchange']} (prioritet: {$mx['priority']})\n";
15 }
16}
17?>Har du lyst til å teste API‑et?
Prøv verktøyene våre i webgrensesnittet, eller kom i gang med API‑integrasjon.