Pricing
from $1.00 / 1,000 email-validations
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
Unisuraksha Tracking Systems Pvt Ltd
Maintained by CommunityActor stats
1
Bookmarked
18
Total users
2
Monthly active users
6 months ago
Last modified
Categories
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
| Feature | Description |
|---|---|
| Syntax Validation | RFC 5322 compliant email format checking |
| DNS MX Lookup | Verify domain has valid mail exchange servers |
| Disposable Detection | 150K+ known temporary email domains (tempmail, guerrillamail, etc.) |
| Role-Based Detection | Identify generic emails (info@, admin@, support@, sales@) |
| Free Provider Detection | Detect Gmail, Yahoo, Outlook, ProtonMail, etc. |
| Typo Suggestions | Smart suggestions for common typos (gmial.com โ gmail.com) |
| SMTP Verification | Optional deep mailbox verification |
| Risk Scoring | 0-100 score with actionable risk levels |
| Catch-All Detection | Identify 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
emails | array | Yes | - | List of email addresses to validate (max 10,000) |
enableSmtpCheck | boolean | No | false | Enable SMTP mailbox verification for higher accuracy |
timeout | number | No | 10000 | Timeout per SMTP connection in milliseconds |
maxConcurrency | number | No | 10 | Number 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
| Field | Type | Description |
|---|---|---|
valid | boolean | Overall validity (syntax + MX + not disposable) |
syntaxValid | boolean | Email format is RFC 5322 compliant |
domain | string | Extracted domain part of the email |
mxRecords | array | Mail exchange server records found |
mxValid | boolean | Domain has valid MX records |
deliverable | string | Deliverability status: yes, no, risky, unknown |
deliverableConfidence | string | Confidence level: high, medium, low |
disposable | boolean | Is a temporary/throwaway email service |
roleBased | boolean | Is a generic role email (admin@, info@, etc.) |
freeProvider | boolean | Is from a free email provider |
catchAll | boolean | Domain accepts all email addresses |
suggestion | string | Typo correction suggestion if detected |
riskScore | number | Risk score from 0 (safe) to 100 (risky) |
riskLevel | string | Risk category: low, medium, high, critical |
Risk Levels
| Level | Score | Recommendation |
|---|---|---|
| Low | 0-20 | Safe to use - high quality email |
| Medium | 21-40 | Use with caution - may have issues |
| High | 41-60 | Likely problematic - consider removing |
| Critical | 61-100 | Do 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 =newApifyClient({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 ApifyClientclient = 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().itemsprint(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
- GitHub: brainupgrade-in
- LinkedIn: company/brains-upgrade
- YouTube: @GhewareDevOpsAI
Built by Gheware for the Apify $1M Challenge
