📨
Self-hosted Validation API

EmailFilter

A lightweight, self-hosted API service to verify & filter email addresses.✌️

Designed with data protection in mind, it performs syntax validation, domain checks, and MX/server-level verification - all without exposing your data to any third-party APIs.

Get Started
or
Try it online
Protect User Privacy.
Designed with data protection in mind, all checks are performed locally - data never leaves your server.
Scale Effortlessly.
API is designed to handle millions of requests without performance degradation. Run unlimited nodes.
Seamless Integration.
Integrate with Postfix or Exim to protect on the server-level, or per-website in your WordPress or Applications.

Customizable email intelligence

The data you need to validate email adresses

{"disposable": true}

Block

Disposable email detection

Automatically identify and block disposable emails using online databases.

{"mx_exists": true}

{"smtp_valid": true}

Ok

MX records validation

Verify that a domain has an MX record and server is accepting emails.

{"new_domain": true}

{"domain_age_in_days": 45}

Block

WHOIS domain validation

Validate domain age and avoid newly registered domains.

hello@viagrashop123.com

Spam Keyword

Spam keywords check

Validate email addresses against your custom spam keywords lists.

{"reputation_penalty": 17.5}

Block

Spam Lists

Maintain your own spam list for users to report domains.

{"whitelisted": true}

Accept

Custom Whitelist

Maintain your own lists with custom score.

{"blacklisted": true}

Block

Custom Blacklist

Maintain your own lists with custom score.

Block fake users with one API call

Send any email address to API and instantly know if it's:

  • A disposable email address (like TempMail)
  • A newly registered domain
  • A valid domain with working mail servers
  • Reported as SPAM by your other users
curl -X POST "http://localhost:8000/filter-email" \
     -H "Content-Type: application/json" \
     -d '{"email": "[email protected]"}'
{
    "email": "[email protected]",
    "domain": "example.com",
    "disposable": false,
    "blacklisted": false,
    "mx_exists": true,
    "gibberish": false,
    "smtp_valid": true,
    "new_domain": false,
    "domain_age_in_days": 3650,
    "spam_keywords": false,
    "reputation_penalty": 0,
    "score": 95,
    "verdict": "accepted"
}