Skip to main content
POST
Check Email Copy for Spam Triggers
Analyse the plain text of a cold email for the content signals SpamAssassin flags. SpamAssassin is the engine many SMB mailboxes, hosting providers, IT shops, and education and government domains run on inbound mail. The response gives the overall score, the spam threshold (default 5.0), a verdict (clean, borderline, or likely_flagged), and the rules that fired with their points and plain-English descriptions. SpamAssassin reacts to phrasing, not strategy. To lower a score, reword the phrases behind the highest-points rules and re-check. You keep the offer, you change the wording. It’s one tool in your deliverability belt: a clean result isn’t a guarantee of inbox placement, but it’s a fast way to reverse-engineer what content filters react to before you send.

Pricing and limits

Free. No credits are deducted. Usage is bounded by 100 checks per day per account, shared with the in-dashboard spam checker (both draw down the same pool), plus the standard 20 requests per second per account. Both limits return 429; the code field (daily_quota_exceeded vs rate_limited) and the Retry-After header tell them apart. See errors for the full reference.

Authorizations

X-API-Key
string
header
required

API key for authentication

Body

application/json

Email copy to analyse for spam-filter triggers.

content
string
required

Plain-text email body to analyse. Cold email is plain text in practice; HTML is not required.

Required string length: 1 - 10000
subject
string | null

Optional subject line. When provided, it is included in the analysis.

Maximum string length: 255

Response

Successful Response

SpamAssassin analysis of the submitted email copy.

score
number
required

Total SpamAssassin score for the copy. Higher means more spam-like.

Example:

2.6

threshold
number
required

Score at or above which mail is treated as spam (SpamAssassin default is 5.0).

Example:

5

verdict
string
required

Overall assessment: clean (well below threshold), borderline (approaching threshold), or likely_flagged (at or above threshold).

Example:

"borderline"

rules
SpamRule · object[]
required

Content rules that fired, highest-scoring first. Empty when nothing triggered.