Search Docs…

Search Docs…

Search Docs…

Single Email Validation

The Single Email Validation endpoint performs a real-time check on one email address. It runs a full series of validations including syntax, DNS, MX lookup, SMTP verification, disposable detection, role-based detection, spamtrap risk, abuse signals, and delivers a final deliverability status and score (0–100).

1. Endpoint

POST /api/validate

Authenticates using your API Key:

Example:
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
2. Request Body
Example:
{
  "email": "user@example.com"
}

Required fields

Field

Type

Description

email

string

The email address to validate

Cell 2-1

Cell 2-2

Cell 2-3

3. Example Requests

cURL

curl -X POST https://rapid-email-verifier.fly.dev/api/validate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com"}'

Javascript

const response = await fetch("https://rapid-email-verifier.fly.dev/api/validate", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ email: "user@example.com" })
});

const data = await response.json();
console.log(data.data.status); // VALID
console.log(data.data.score);  // 95

Node.js

const axios = require("axios");

async function validate(email) {
  const res = await axios.post(
    "https://rapid-email-verifier.fly.dev/api/validate",
    { email },
    {
      headers: {
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
      }
    }
  );

  console.log(res.data.data.status);
  console.log(res.data.data.score);
}

validate("user@example.com");

Python

import requests

response = requests.post(
    "https://rapid-email-verifier.fly.dev/api/validate",
    json={"email": "user@example.com"},
    headers={"Authorization": "Bearer YOUR_API_KEY"}
)

data = response.json()
print("Status:", data["data"]["status"])
print("Score:", data["data"]["score"])


4. Success Response

Example (200 OK)

{
  "success": true,
  "data": {
    "email": "user@example.com",
    "validations": {
      "syntax": true,
      "domain_exists": true,
      "mx_records": true,
      "mailbox_exists": true,
      "is_disposable": false,
      "is_role_based": false
    },
    "score": 95,
    "status": "VALID",
    "free_email": false,
    "mx_found": true,
    "mx_record": "mail.example.com",
    "mx_records": ["mail.example.com","mail2.example.com"],
    "smtp_provider": "Custom SMTP",
    "aliasOf": "",
    "typoSuggestion": "",
    "is_spamtrap": false,
    "is_abuse": false,
    "is_toxic": false,
    "is_global_suppression": false
  },
  "message": "Email validated successfully",
  "metadata": {
    "request_id": "550e8400-e29b-41d4-a716-446655440000",
    "processing_time_ms": 125,
    "timestamp": "2025-01-15T10:30:00Z",
    "version": "1.0.0"
  }
}

5. Validation Fields (Explained)

Field

Type

Description

Syntax

boolean

Email format is valid

domain_exists

boolean

DNS query succeeded

mx_records

boolean

MX records found

mailbox_exists

boolean

SMTP mailbox verification

is_disposable

boolean

Disposable/temp email provider

is_role_based

boolean

Role account (admin@, info@)

mx_record

string

Primary MX host

mx_records

array

All MX hosts

smtp_provider

string

SMTP provider name

is_spamtrap

boolean

Known spamtrap address

is_abuse

boolean

High-risk address (abuse reports)

is_toxic

boolean

Toxic/disposable patterns

is_global_suppression

boolean

Appears in global suppression lists

typoSuggestion

string

Suggested correction (gmail → gmail.com)


6. Status Values

Status

Meaning

Description

Valid

Deliverable

Email is safe to send

PROBABLY_VALID

Likely Deliverable

Minor uncertainty (free providers, catch-all domains)

DONOT MAIL

Risky

Disposable, role-based, spamtrap, abuse signals

INVALID

Undeliverable

Bad syntax, no domain, no MX, SMTP fail

SPAMTRAP

Dangreous

Known spamtrap; never send

ABUSE

Extremely Risky

Associated with complaints/abuse


7. Score Interpretation (0–100)

Score Range

Meaning

Recommendation

90-100

Excellent

Safe to Send

70-89

Good

Safe to send

50-69

Fair

Use with caution

30-49

Poor

High Bounce risk

0-29

Very Poor

Donot Send

8. Error Responses

Invalid Email Format (400)

{
  "success": false,
  "error": {
    "code": "VALIDATION_FAILED",
    "message": "Invalid email format",
    "field": "email"
  }
}

Insufficient Credits (402)

{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_CREDITS",
    "message": "Insufficient credits. Please purchase more credits."
  }
}

Unauthorized (401)

{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Missing or invalid API key"
  }
}

9. Best Practices
  • Validate at every signup to maintain clean user data

  • Reject disposable or role-based emails early

  • Treat SPAMTRAP, ABUSE, DO_NOT_MAIL as critical risks

  • Use the score to segment email sending behavior

  • Cache repeated validations for performance

  • Never expose your API key on the client

Search Docs…

Search Docs…