API Documentation

Welcome to the MailSniff API documentation. Learn how to integrate our email and domain validation services into your applications.

Email Validation

Validate single emails or bulk lists with our powerful validation engine

POST /validate

Up to 500 email validations per API call with real-time results

Domain Validation

Check domain availability and retrieve WHOIS information

POST /validate/domain

Up to 1000 domain validations per API call

Authentication

API Key Authentication

All API requests require authentication using your API key

Header Format

Authorization: Bearer YOUR_API_KEY

Keep your API key secure

Never expose your API key in client-side code or public repositories

REST API Reference

Base URL

https://api.mailsniff.com

POST /validate

Validate a single email address and get detailed results

Request Body

{
  "email": "user@example.com"
}

Response

{
  "success": true,
  "result": {
    "email": "user@example.com",
    "deliverability": "DELIVERABLE",
    "confidence": "HIGH",
    "valid_format": true,
    "valid_mx_record": true,
    "valid_smtp": true,
    "free_email": false,
    "disposable_email": false,
    "scores": {
      "format": 100,
      "domain": 50,
      "mx": 20,
      "connectivity": 80,
      "overall": 57.0
    }
  }
}

POST /validate/bulk

Validate multiple email addresses in a single request (up to 500 emails)

Request Body

{
  "emails": [
    "user1@example.com",
    "user2@example.com",
    "user3@example.com"
  ],
  "mode": "manual"
}

Note: "mode" is optional (defaults to "manual"). Valid values: "manual", "upload", or "ai-composer". Maximum 500 emails per request.

Response

{
  "success": true,
  "results": [
    {
      "email": "user1@example.com",
      "deliverability": "DELIVERABLE",
      "confidence": "HIGH",
      ...
    }
  ],
  "summary": {
    "total": 2,
    "deliverable": 1,
    "undeliverable": 1,
    "errors": 0
  }
}

POST /validate/domain

Check domain availability and retrieve WHOIS information for a single domain

Request Body

{
  "domain": "example.com"
}

Response

{
  "success": true,
  "result": {
    "domain": "example.com",
    "available": false,
    "dns_resolvable": true,
    "whois_info": {
      "domain_name": "example.com",
      "registrar": "...",
      "creation_date": "1995-08-14T04:00:00",
      "expiration_date": "2026-08-13T04:00:00"
    }
  }
}

POST /validate/domains/bulk

Check availability and retrieve WHOIS information for multiple domains (up to 1000 domains)

Request Body

{
  "domains": [
    "example.com",
    "test.com",
    "sample.org"
  ]
}

Note: Maximum 1000 domains per request.

Response

{
  "success": true,
  "results": [
    {
      "domain": "example.com",
      "available": false,
      "dns_resolvable": true,
      "whois_info": {...}
    }
  ],
  "summary": {
    "total": 3,
    "available": 1,
    "unavailable": 2,
    "errors": 0
  }
}

Connectors

Make
Make

Visual automation platform with advanced email validation scenarios

Documentation for integrating MailSniff with Make is currently being prepared. Comprehensive guides, step-by-step tutorials, and example workflows will be available soon to help you automate your email validation processes.

Documentation Coming Soon

n8n
n8n
Coming Soon

Open-source workflow automation

Self-hosted automation with MailSniff email validation

Zapier
Zapier
Coming Soon

Connect with 6,000+ apps and automate your email validation workflows

Connect MailSniff to 5000+ apps with Zapier

Code Examples

JavaScript
JavaScript/Node.js
Coming Soon

Installation

npm install mailsniff-js

Code Example

const MailSniff = require('mailsniff-js');

const client = new MailSniff('YOUR_API_KEY');

// Validate single email
const result = await client.validateEmail('user@example.com');
console.log(result);

// Validate bulk emails
const results = await client.validateBulkEmails([
  'user1@example.com',
  'user2@example.com'
], 'manual');
console.log(results);

// Validate single domain
const domainResult = await client.validateDomain('example.com');
console.log(domainResult);

// Validate bulk domains
const domainResults = await client.validateBulkDomains([
  'example.com',
  'test.com'
]);
console.log(domainResults);

Testing

Try the API

Test our endpoints with your API key. Enter your API key below and try the different endpoints.

Your API key is stored locally in your browser and never sent to our servers except for API requests.

Single Email Validation

POST /validate

Bulk Email Validation

POST /validate/bulk

0/200 emails

Single Domain Validation

POST /validate/domain

Bulk Domain Validation

POST /validate/domains/bulk

0/200 domains

Still have questions?

We're here to help! Reach out to our support team.