Skip to content

API Documentation

Check email domain blacklists, DNS authentication records, and deliverability scores programmatically. No API key required for public checks.

Base URL

https://ismyemailblacklisted.com

Rate Limits

The public API is rate-limited to 3 requests per minute per IP address. For higher limits and additional features (SMTP checks, 60+ blacklists), upgrade to a paid plan.

Endpoints

POST/api/check-public

Check a domain's email deliverability — blacklists, SPF, DKIM, DMARC, and MX records. Returns a score from 0–100.

Request Body

{
  "domain": "example.com"
}
ParameterTypeRequiredDescription
domainstringYesThe domain to check (e.g., "example.com"). URLs and subdomains are accepted — the API strips protocols and paths automatically.

Response 200 OK

{
  "domain": "example.com",
  "score": 85,
  "summary": {
    "blacklists": {
      "checked": 30,
      "listed": 0,
      "listedOn": [],
      "ip": "93.184.216.34"
    },
    "spf": {
      "found": true,
      "valid": true,
      "record": "v=spf1 -all",
      "issues": [],
      "mechanisms": ["-all"],
      "lookupCount": 0
    },
    "dkim": {
      "found": true,
      "valid": true,
      "record": "v=DKIM1; k=rsa; p=MIG...",
      "issues": [],
      "selectors": ["default", "google"]
    },
    "dmarc": {
      "found": true,
      "valid": true,
      "record": "v=DMARC1; p=reject; rua=mailto:...",
      "policy": "reject",
      "issues": [],
      "tags": { "p": "reject", "rua": "mailto:..." }
    },
    "mx": {
      "found": true,
      "records": [
        { "priority": 10, "exchange": "mail.example.com" }
      ],
      "issues": []
    }
  }
}

Response Fields

scoreOverall deliverability score (0–100). 90+ is excellent, 70–89 is good, below 70 needs attention.
summary.blacklistsResults from all 60 public DNSBLs — same coverage on free and paid plans.
summary.spfSPF record validation including mechanisms and DNS lookup count.
summary.dkimDKIM record check across common selectors (default, google, selector1, etc.).
summary.dmarcDMARC policy and tag parsing. Policy values: none, quarantine, reject.
summary.mxMX records sorted by priority.

Error Responses

400Invalid or missing domain parameter
429Rate limit exceeded (3 requests/minute)
500Internal server error — DNS resolution failed or service unavailable

Examples

cURL

curl -X POST https://ismyemailblacklisted.com/api/check-public \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'

JavaScript (fetch)

const response = await fetch(
  "https://ismyemailblacklisted.com/api/check-public",
  {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ domain: "example.com" }),
  }
);
const data = await response.json();
console.log(`Score: ${data.score}/100`);
console.log(`Blacklisted on: ${data.summary.blacklists.listed} lists`);

Python (requests)

import requests

resp = requests.post(
    "https://ismyemailblacklisted.com/api/check-public",
    json={"domain": "example.com"}
)
data = resp.json()
print(f"Score: {data['score']}/100")
print(f"SPF: {'✓' if data['summary']['spf']['valid'] else '✗'}")
print(f"DMARC policy: {data['summary']['dmarc']['policy']}")

Need More? Upgrade for Full API Access

Paid plans unlock additional API capabilities through the authenticated dashboard:

  • SMTP connectivity checks — verify mail server responsiveness
  • Automated monitoring — scheduled checks every 15 minutes
  • Alerts — get notified via email, Slack, or webhook when issues arise
  • Historical data — track deliverability score trends over time

FAQ

Do I need an API key?

No. The public check endpoint requires no authentication. Just send a POST request with a domain.

What blacklists do you check?

The free API checks all 60 major DNSBLs including Spamhaus, Barracuda, and SpamCop. Paid plans check all 60 blacklists including enterprise and regional lists.

How is the score calculated?

The 0–100 score is based on blacklist status, SPF/DKIM/DMARC configuration, and MX record health. Each category contributes to the overall score with blacklist status having the highest weight.

Can I use this in production?

The free tier is rate-limited to 3 requests/minute. For production workloads, sign up for a paid plan to get higher limits and automated monitoring.