API-Nutzung
Spamexx stellt eine HTTP-API bereit, mit der Sie programmatisch prüfen können:
- Threat-Lookup – einen Indikator (Domain, E-Mail, IP, URL oder Hash) gegen die Spamexx-Bedrohungsdatenbank abfragen.
- Content-Prüfung – eine Nachricht durch die Spam- und Virenprüfung laufen lassen und ein Verdikt erhalten.
- Tariflimits & Verbrauch – die Limits Ihrer gebuchten Tarife und den aktuellen Verbrauch abfragen (ohne Kontingent-Verbrauch).
Basis-URL: https://api.spamexx.com
Authentifizierung
Erstellen Sie einen API-Key unter Einstellungen → API-Keys. Der Schlüssel wird aus Sicherheitsgründen nur einmal angezeigt – bewahren Sie ihn sicher auf.
Senden Sie ihn bei jeder Anfrage im Authorization-Header:
Authorization: Bearer sx_ihr_schluesselKontingent (Anfragen/Monat) und Rate-Limit (Anfragen/Minute) richten sich nach Ihrem API-Tarif. Ohne gebuchten API-Tarif gilt die kostenlose Stufe. Den aktuellen Verbrauch sehen Sie unter Einstellungen → API-Keys.
Threat-Lookup
POST /api/v1/check/lookup
Anfrage-Body:
{ "type": "domain", "value": "beispiel.de" }type ist eines von domain, email, ip, url, hash.
Antwort:
{ "verdict": "clean", "score": 0.0, "matched": false }verdict–clean,suspiciousoderspamscore– Reputationswert zwischen 0 und 1matched– ob ein Treffer in der Bedrohungsdatenbank vorlag
Beispiel:
curl -X POST https://api.spamexx.com/api/v1/check/lookup \
-H "Authorization: Bearer sx_ihr_schluessel" \
-H "Content-Type: application/json" \
-d '{"type":"url","value":"http://verdaechtige-domain.example/pfad"}'Content-Prüfung
POST /api/v1/check/message
Senden Sie entweder die komplette Roh-Mail oder einzelne Felder.
Komplette Mail (empfohlen – mit allen Headern für die genaueste Bewertung):
{ "raw": "<RFC-822-Mail als Text oder Base64>" }Einzelne Felder:
{ "from": "absender@example.com", "subject": "Betreff", "body": "Text der Nachricht", "source_ip": "203.0.113.5" }Hinweis: Für ein korrektes Ergebnis senden Sie möglichst die vollständige Roh-Mail mit Headern. Eine minimale Nachricht ohne Header kann allein wegen fehlender Standard-Header höher bewertet werden.
Antwort:
{ "verdict": "deliver", "score": 2.1, "is_spam": false, "is_virus": false }verdict–deliver,quarantine(Spam) oderreject(Virus)score– aggregierter Prüf-Scoreis_spam/is_virus– Klassifikations-Flags
Der eingesandte Inhalt wird nur kurzzeitig geprüft und niemals gespeichert oder protokolliert.
Tariflimits & Verbrauch
GET /api/v1/limits
Liefert die Ihrem API-Key zugeordneten Tariflimits je Produktlinie samt aktuellem Verbrauch. Dieser Abruf verbraucht KEIN Kontingent (eigenes Limit 60/min) – ideal, um vor einem Lauf das Restkontingent zu prüfen oder es in Ihrer App anzuzeigen.
curl https://api.spamexx.com/api/v1/limits \
-H "Authorization: Bearer sx_ihr_schluessel"Antwort (nicht gebuchte Linien werden weggelassen):
{
"tenant_id": "…",
"period": "2026-06",
"unlimited": false,
"api": { "plan": "Community", "requests": { "used": 0, "max": 5000 }, "remaining": 5000, "rate_per_min": 10 },
"saas": { "plan": "Enterprise", "domains": { "used": 1, "max": 50 }, "mailboxes": { "used": 6, "max": 500 }, "retention_days": 365 },
"spool": { "plan": "Basic", "domains": { "used": 0, "max": 3 }, "spool_retention_hours": 72 }
}api– API-Kontingent:requests.used/requests.max(Monat),remaining,rate_per_min.saas– Online/SaaS:domainsundmailboxesjeweilsused/max,retention_days.spool– Backup/Failover:domains(used/max),spool_retention_hours.max: 0bedeutet unbegrenzt;unlimited: truehebt alle Limits auf;periodist der Abrechnungs-Monat des Verbrauchszählers.
Hinweis: Die verbindliche Durchsetzung des Kontingents erfolgt weiterhin an den Check-Endpunkten (429 bei Erschöpfung). Die hier gemeldeten Verbrauchswerte sind informativ.Fehler & Grenzen
401– Schlüssel fehlt, ist ungültig oder widerrufen.429– Rate-Limit (Anfragen/Minute) oder Monats-Kontingent erreicht.503– Prüfung vorübergehend nicht verfügbar (Anfrage später wiederholen).
Brauchen Sie mehr Kontingent? Wechseln Sie Ihren API-Tarif oder stellen Sie sich unter Abrechnung einen individuellen Tarif zusammen.