Email Verifier | $0.9 / 1k | Enterprise Grade
Pricing
from $0.89 / 1,000 results
Email Verifier | $0.9 / 1k | Enterprise Grade
Advanced email verification with live handshakes and catch-all detection by using validatedmails.com API. Validates SMTP, DNS/MX, and deliverability; returns rich detailed reasoning. Use to clean lists, cut bounces, protect sender reputation.
Pricing
from $0.89 / 1,000 results
Rating
5.0
(2)
Developer

Fatih Tahta
Actor stats
12
Bookmarked
192
Total users
24
Monthly active users
17 days
Issues response
4 days ago
Last modified
Share
Email Verifier Pro
Slug: fatihtahta/email-verifier-validator-pro
Overview
Email Verifier Pro validates email addresses and returns structured records with normalized email values, domain details, deliverability verdicts, confidence indicators, and validation checks. Each run produces consistent JSON output for every submitted address, making the results straightforward to use in reporting, segmentation, and operational workflows. The actor is built around ValidatedMails.com, a dedicated email validation service, which makes the output especially useful for improving contact quality before outreach or onboarding. It automates repetitive verification tasks at scale so teams can avoid manual checks and keep decision rules consistent. In practice, this saves time for both one-time cleanups and recurring data quality operations.
Why Use This Actor
- Market research and analytics teams: Measure email list quality over time, track deliverability trends by domain, and monitor risk patterns such as disposable or role-based addresses.
- Product and content teams: Improve signup and lead form quality by identifying invalid or risky addresses early and reducing downstream friction in lifecycle campaigns.
- Developers and data engineering teams: Feed standardized validation records into ETL jobs, data warehouses, and internal services without custom parsing for each run.
- Lead generation and enrichment teams: Pre-qualify prospect lists before outreach, prioritize high-confidence records, and reduce bounce-related waste.
- CRM and revenue operations teams: Maintain cleaner customer data, support healthier sender reputation, and improve segmentation accuracy for engagement workflows.
Input Parameters
Provide any combination of URLs, queries, and filters…
| Parameter | Type | Description | Default |
|---|---|---|---|
emailList | string[] | List of email addresses to validate (for example: tester@company.com). Add one or many addresses; each entry is validated and returned as a separate result record. Allowed values: any syntactically valid email string format. | – |
Example Input
{"emailList": ["amigos@apify.com","support@databricks.com","hello@validatedmails.com","sales@example.org","notamail@email.com"]}
Output
6.1 Output destination
The actor writes results to an Apify dataset as JSON records. And the dataset is designed for direct consumption by analytics tools, ETL pipelines, and downstream APIs without post-processing.
6.2 Record envelope (all items)
Every dataset item includes these stable identifiers:
- type (string, required)
- id (number, required)
- url (string, required)
Recommended idempotency key: type + ":" + id.
Use this key for deduplication and upserts so repeated runs update existing entities instead of creating duplicates.
6.3 Examples
Example: email verification | Valid (type = "email_verification")
{"type": "email_verification","id": 100001,"url": "https://validatedmails.com","email": "user.one@example-company.com","normalizedEmail": "user.one@example-company.com","domain": "example-company.com","request": {"succeeded": true,"httpStatusCode": 200,"errorMessage": null,"durationMs": 2131},"verdict": {"isValid": true,"status": "valid","state": "Deliverable","confidenceScore": 100,"primaryReason": "ACCEPTED EMAIL","reasons": ["syntax_ok","mx_ok","a_ok"]},"classification": {"isFreeProvider": false,"isRoleBased": false,"isDisposable": false,"hasTag": false},"checks": {"smtpReachable": true,"syntaxValid": true,"mxRecordsValid": true,"aRecordValid": true,"catchAllDomain": null,"mxHosts": ["example-company-com.mail.protection.outlook.com"],"apiResponseTimeMs": 2002},"traceId": "11111111-2222-4333-8444-555555555555"}
Example: email verification | Invalid (type = "email_verification")
{"type": "email_verification","id": 100002,"url": "https://validatedmails.com","email": "user.two@example-agency.com","normalizedEmail": "user.two@example-agency.com","domain": "example-agency.com","request": {"succeeded": true,"httpStatusCode": 200,"errorMessage": null,"durationMs": 936},"verdict": {"isValid": false,"status": "invalid","state": "Not Deliverable","confidenceScore": 60,"primaryReason": "INVALID MAIL","reasons": ["syntax_ok","mx_ok","a_ok"]},"classification": {"isFreeProvider": false,"isRoleBased": false,"isDisposable": false,"hasTag": false},"checks": {"smtpReachable": false,"syntaxValid": true,"mxRecordsValid": true,"aRecordValid": true,"catchAllDomain": null,"mxHosts": ["aspmx.l.google.com","alt1.aspmx.l.google.com","alt2.aspmx.l.google.com"],"apiResponseTimeMs": 712},"traceId": "66666666-7777-4888-9999-aaaaaaaaaaaa"}
Example: email verification | Valid but catch-all domain (type = "email_verification")
{"type": "email_verification","id": 100003,"url": "https://validatedmails.com","email": "user.three@example-technology.com","normalizedEmail": "user.three@example-technology.com","domain": "example-technology.com","request": {"succeeded": true,"httpStatusCode": 200,"errorMessage": null,"durationMs": 5481},"verdict": {"isValid": true,"status": "valid","state": "Deliverable","confidenceScore": 70,"primaryReason": "ACCEPTED EMAIL","reasons": ["syntax_ok","mx_ok","a_ok"]},"classification": {"isFreeProvider": false,"isRoleBased": false,"isDisposable": false,"hasTag": false},"checks": {"smtpReachable": true,"syntaxValid": true,"mxRecordsValid": true,"aRecordValid": true,"catchAllDomain": true,"mxHosts": ["example-technology.in.tmes.trendmicro.com"],"apiResponseTimeMs": 5303},"traceId": "bbbbbbbb-cccc-4ddd-8eee-ffffffffffff"}
Field reference
Email verification fields (type = "email_verification")
- type (string, required): Record type label.
- id (number, required): Stable numeric record identifier.
- url (string, required): Source website homepage URL.
- email (string, required): Email exactly as provided in input.
- normalizedEmail (string, optional): Normalized email representation.
- domain (string, optional): Domain parsed from the email address.
- request.succeeded (boolean, required): Indicates whether validation request completed.
- request.httpStatusCode (number, required): HTTP status code for the validation request.
- request.errorMessage (string, optional): Error details when available.
- request.durationMs (number, required): End-to-end request duration in milliseconds.
- verdict.isValid (boolean, required): Pass/fail validity signal.
- verdict.status (string, required): Verdict status (
valid,invalid, orunknown). - verdict.state (string, required): Human-readable deliverability state.
- verdict.confidenceScore (number, required): Confidence score from 0 to 100.
- verdict.primaryReason (string, required): Primary reason text for the verdict.
- verdict.reasons (string[], optional): Machine-friendly reason codes.
- classification.isFreeProvider (boolean, required): Whether provider is a free email service.
- classification.isRoleBased (boolean, required): Whether local part appears role-based.
- classification.isDisposable (boolean, required): Whether domain appears disposable.
- classification.hasTag (boolean, required): Whether plus-tagging is detected.
- checks.smtpReachable (boolean, optional): SMTP-level reachability signal.
- checks.syntaxValid (boolean, required): Syntax validation result.
- checks.mxRecordsValid (boolean, required): MX routing validation result.
- checks.aRecordValid (boolean, required): A-record fallback routing result.
- checks.catchAllDomain (boolean, optional): Catch-all detection signal.
- checks.mxHosts (string[], optional): Resolved MX host list.
- checks.apiResponseTimeMs (number, required): Validation API response time in milliseconds.
- traceId (string, required): Trace identifier for diagnostics and support.
Data guarantees & handling
- Best-effort extraction: fields may vary by region/session/availability/UI experiments.
- Optional fields: null-check in downstream code.
- Deduplication: recommend
type + ":" + id.
How to Run on Apify
- Open the actor in Apify Console.
- Configure your search parameters (for this actor, provide the email addresses you want to validate).
- Set the maximum number of outputs to collect.
- Click Start and wait for the run to finish.
- Download results in JSON, CSV, Excel, or other supported formats.
Scheduling & Automation
Scheduling
Automated Data Collection You can schedule recurring runs to keep your validation dataset current without manual execution. This is useful for routine CRM hygiene, lead intake checks, and periodic list refreshes.
- Navigate to Schedules in Apify Console
- Create a new schedule (daily, weekly, or custom cron)
- Configure input parameters
- Enable notifications for run completion
- (Optional) Add webhooks for automated processing
Integration Options
This actor is designed to plug directly into automated validation workflows and downstream systems.
- Webhooks: Automatically trigger downstream processing (e.g., CRM updates, tagging, cleanup jobs) when a run completes. Ideal for fully hands-off validation pipelines.
- Zapier: Connect validation results to 5,000+ apps without writing code. Common flows include updating HubSpot, Airtable, Notion, or triggering Slack alerts for risky emails.
- Make (Integromat): Build multi-step logic such as validating emails → filtering by status → enriching → storing only "deliverable" results.
- Google Sheets: Push validated results into a spreadsheet for internal review, segmentation, or campaign preparation.
- Slack / Discord: Send automated summaries of run results (e.g., total validated, invalid count, catch-all domains detected).
- Email Reports: Automatically send structured validation reports to stakeholders after scheduled runs.
All integrations work via Apify run outputs, webhooks, or API access — enabling both no-code and developer-based automation setups.
Performance
Estimated run times:
- Small runs (< 1,000 outputs): ~2–3 minutes
- Medium runs (1,000–5,000 outputs): ~5–15 minutes
- Large runs (5,000+ outputs): ~15–30 minutes
Execution time varies based on filters, result volume, and how much information is returned per record.
Compliance & Ethics
Responsible Usage
This actor processes email addresses provided directly by the user for validation purposes only.
It does not crawl, scrape, or harvest data from third-party platforms.
Legitimate use cases include:
- CRM hygiene and database cleanup
- Lead intake validation in signup or onboarding flows
- Fraud prevention and abuse mitigation
- Pre-campaign list verification
- Internal data quality and deliverability audits
Users are responsible for ensuring their collection and use of data complies with applicable laws, regulations, and platform terms. This section is informational and not legal advice.
Best Practices
- Use collected data in accordance with applicable laws, regulations, and the target site’s terms
- Respect individual privacy and personal information
- Use data responsibly and avoid disruptive or excessive collection
- Do not use this actor for spamming, harassment, or other harmful purposes
- Follow relevant data protection requirements where applicable (e.g., GDPR, CCPA)
Support
For help, use the Issues tab on the actor page in Apify Console. Include the input you used (redacted), the run ID, a clear expected vs. actual behavior summary, and an optional small output sample so troubleshooting can start quickly.