Email Validation Api avatar
Email Validation Api

Pricing

from $1.00 / 1,000 email-validations

Go to Apify Store
Email Validation Api

Email Validation Api

Validate email addresses at scale with enterprise-grade accuracy. This API performs comprehensive email verification including syntax validation, DNS/MX record checks, disposable email detection, and optional SMTP mailbox verification.

Pricing

from $1.00 / 1,000 email-validations

Rating

0.0

(0)

Developer

Gheware Tech

Gheware Tech

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Validate email addresses at scale with enterprise-grade accuracy. This API performs comprehensive email verification including syntax validation, DNS/MX record checks, disposable email detection, and optional SMTP mailbox verification.

Stop wasting money on invalid emails. Whether you're cleaning a marketing list, validating signups, or qualifying leads, this API gives you the data you need to make informed decisions.

Why Use This Actor?

  • Save Money: Reduce bounce rates and protect your sender reputation
  • Increase Conversions: Focus on real, deliverable email addresses
  • Prevent Fraud: Detect disposable and temporary emails at signup
  • Scale Easily: Process up to 10,000 emails per batch
  • Get Insights: Detailed risk scoring and deliverability predictions

Features

FeatureDescription
Syntax ValidationRFC 5322 compliant email format checking
DNS MX LookupVerify domain has valid mail exchange servers
Disposable Detection150K+ known temporary email domains (tempmail, guerrillamail, etc.)
Role-Based DetectionIdentify generic emails (info@, admin@, support@, sales@)
Free Provider DetectionDetect Gmail, Yahoo, Outlook, ProtonMail, etc.
Typo SuggestionsSmart suggestions for common typos (gmial.com โ†’ gmail.com)
SMTP VerificationOptional deep mailbox verification
Risk Scoring0-100 score with actionable risk levels
Catch-All DetectionIdentify domains that accept all emails

Input

{
"emails": [
"john.doe@gmail.com",
"contact@company.com",
"test@tempmail.com"
],
"enableSmtpCheck": false,
"timeout": 10000,
"maxConcurrency": 10
}

Input Parameters

ParameterTypeRequiredDefaultDescription
emailsarrayYes-List of email addresses to validate (max 10,000)
enableSmtpCheckbooleanNofalseEnable SMTP mailbox verification for higher accuracy
timeoutnumberNo10000Timeout per SMTP connection in milliseconds
maxConcurrencynumberNo10Number of emails to validate in parallel

Output

Each email returns a comprehensive validation result:

{
"email": "john.doe@gmail.com",
"valid": true,
"syntaxValid": true,
"domain": "gmail.com",
"mxRecords": ["gmail-smtp-in.l.google.com", "alt1.gmail-smtp-in.l.google.com"],
"mxValid": true,
"deliverable": "yes",
"deliverableConfidence": "high",
"disposable": false,
"roleBased": false,
"freeProvider": true,
"catchAll": false,
"suggestion": null,
"riskScore": 10,
"riskLevel": "low",
"smtpCheck": {
"performed": false,
"success": false,
"smtpResponse": null,
"error": null
},
"checksPerformed": ["syntax", "disposable_check", "role_check", "free_provider_check", "mx_lookup", "typo_check"],
"validationTimeMs": 23
}

Output Fields Explained

FieldTypeDescription
validbooleanOverall validity (syntax + MX + not disposable)
syntaxValidbooleanEmail format is RFC 5322 compliant
domainstringExtracted domain part of the email
mxRecordsarrayMail exchange server records found
mxValidbooleanDomain has valid MX records
deliverablestringDeliverability status: yes, no, risky, unknown
deliverableConfidencestringConfidence level: high, medium, low
disposablebooleanIs a temporary/throwaway email service
roleBasedbooleanIs a generic role email (admin@, info@, etc.)
freeProviderbooleanIs from a free email provider
catchAllbooleanDomain accepts all email addresses
suggestionstringTypo correction suggestion if detected
riskScorenumberRisk score from 0 (safe) to 100 (risky)
riskLevelstringRisk category: low, medium, high, critical

Risk Levels

LevelScoreRecommendation
Low0-20Safe to use - high quality email
Medium21-40Use with caution - may have issues
High41-60Likely problematic - consider removing
Critical61-100Do not use - will likely bounce or cause issues

Use Cases

Email List Cleaning

Clean your marketing lists before campaigns to improve deliverability and protect sender reputation.

Lead Qualification

Score incoming leads based on email quality. Role-based emails and free providers may indicate lower intent.

Signup Validation

Prevent fake registrations by blocking disposable emails and validating in real-time.

CRM Hygiene

Regularly validate your contact database to maintain data quality.

Marketing Automation

Integrate with your marketing stack to automatically filter low-quality emails.

API Integration

Synchronous Request

curl -X POST "https://api.apify.com/v2/acts/ghewaretech~email-validation-api/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"emails": ["test@gmail.com", "user@tempmail.com"],
"enableSmtpCheck": false
}'

Asynchronous Request

curl -X POST "https://api.apify.com/v2/acts/ghewaretech~email-validation-api/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"emails": ["email1@example.com", "email2@example.com"]
}'

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('ghewaretech/email-validation-api').call({
emails: ['test@gmail.com', 'user@company.com'],
enableSmtpCheck: false,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("ghewaretech/email-validation-api").call(run_input={
"emails": ["test@gmail.com", "user@company.com"],
"enableSmtpCheck": False,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Technical Details

  • Runtime: Node.js 20 with TypeScript
  • SDK: Apify SDK v3
  • Email Parsing: RFC 5322 compliant validation
  • Disposable Database: 150K+ domains, regularly updated
  • Typo Detection: Levenshtein distance algorithm
  • Performance: Concurrent processing with configurable parallelism
  • Memory: 512MB - 2GB depending on batch size

Frequently Asked Questions

Q: How accurate is the validation? A: Basic validation (syntax + DNS + disposable) is highly accurate. SMTP verification adds additional confidence but may have false negatives due to greylisting.

Q: Can I validate emails in real-time? A: Yes, use the synchronous API endpoint for real-time validation. Response time is typically under 1 second per email.

Q: What's the difference with and without SMTP check? A: Without SMTP, we verify the domain can receive emails. With SMTP, we actually connect to the mail server to verify the specific mailbox exists.

Q: How often is the disposable domain list updated? A: The list is updated with each actor version release, typically incorporating new disposable domains found in the wild.

Support


Built by Gheware for the Apify $1M Challenge