📬

Spam Score Checker

Score email content for spam signals using heuristic rules

POST 1 credit /v1/email/spam-score
curl -X POST "https://email.toolkitapi.io/v1/email/spam-score" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{"subject": "LIMITED TIME OFFER - Act Now!!!", "body": "Congratulations! You have been selected to receive a FREE gift card worth $1000. Click here to claim your prize NOW!"}'
import httpx

resp = httpx.post(
    "https://email.toolkitapi.io/v1/email/spam-score",
    json={"subject": "LIMITED TIME OFFER - Act Now!!!", "body": "Congratulations! You have been selected to receive a FREE gift card worth $1000. Click here to claim your prize NOW!"},
)
print(resp.json())
const resp = await fetch("https://email.toolkitapi.io/v1/email/spam-score", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"subject": "LIMITED TIME OFFER - Act Now!!!", "body": "Congratulations! You have been selected to receive a FREE gift card worth $1000. Click here to claim your prize NOW!"}),
});
const data = await resp.json();
console.log(data);
# See curl example
Response 200 OK
{
  "score": 7.5,
  "verdict": "likely_spam",
  "triggered_rules": [
    {"name": "all_caps_subject", "description": "Subject contains excessive capitalization", "score": 2.0},
    {"name": "urgency_language", "description": "Body contains urgency/pressure language", "score": 1.5},
    {"name": "free_offer", "description": "Contains free offer language", "score": 2.0},
    {"name": "money_amount", "description": "Contains specific dollar amounts", "score": 1.0},
    {"name": "exclamation_excess", "description": "Excessive exclamation marks", "score": 1.0}
  ],
  "rule_count": 5
}

Description

Score email content for spam signals using heuristic rules

How to Use

1

1. Send a POST request with `subject` and `body` fields containing your email content.

2

2. Check the `score` — below 3 is clean, 3–5 is suspicious, above 5 is likely spam.

3

3. Review `triggered_rules` to identify which specific patterns are causing issues.

4

4. Rewrite flagged content and re-test until the score is acceptable.

About This Tool

The Spam Score Checker analyzes email subject lines and body content for spam signals using heuristic rules. It returns a score from 0 (clean) to 10 (definite spam), a human-readable verdict, and a list of triggered rules with their individual scores.

Use this to test your marketing emails before sending — catch spam triggers that could land your messages in junk folders. The heuristic approach analyzes patterns commonly flagged by spam filters: excessive capitalization, urgency language, suspicious offers, and more.

Why Use This Tool

Frequently Asked Questions

What score threshold should I use?
A score below 3.0 is generally safe. Between 3.0 and 5.0, review the triggered rules and consider rewording. Above 5.0, the content is very likely to be flagged by spam filters and should be rewritten.
Does this check against real spam filters?
No, this uses heuristic pattern matching similar to but not identical to production spam filters. It catches common spam signals but may not perfectly predict the behavior of Gmail, Outlook, or other specific providers' filters.
Can I test HTML email content?
Yes, the `body` field accepts both plain text and HTML content. The analyzer will process HTML content and check for spam signals in both the markup and the visible text.

Start using Spam Score Checker now

Get your free API key and make your first request in under a minute.