Email Finder & Verifier
Pricing
Pay per event
Email Finder & Verifier
Find and verify business email addresses using SMTP verification, pattern matching, and catch-all detection. Three modes: verify emails, find by name+domain, discover domain emails. Includes confidence scoring, disposable/free detection, and provider identification.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
63
Total users
30
Monthly active users
2 days ago
Last modified
Categories
Share
Email Verifier, Finder & Deliverability Checker
All-in-one email tool: verify email addresses via SMTP, find business emails by name + domain, check domain deliverability (SPF/DKIM/DMARC grading), and discover domain emails. Every result includes a confidence score, catch-all detection, disposable/role flags, and provider identification. Only pay for valid and useful results.
What does Email Verifier, Finder & Deliverability Checker do?
This Actor combines the functionality of four separate email tools into one:
-
Email Verification -- Validates email addresses through up to 10 verification layers: syntax, disposable domain, free provider, role account, MX records, provider detection, SPF/DKIM/DMARC checks, SMTP mailbox verification, catch-all detection, and confidence scoring.
-
Email Finding -- Discovers a person's email address from their name and company domain. Generates 14 common corporate email patterns and verifies each one. Optionally uses website scraping, GitHub commit search, and Gravatar detection as discovery sources.
-
Domain Deliverability Grading -- Checks email authentication setup (SPF, DKIM, DMARC) and produces a letter grade from A+ to F. Identifies misconfigured domains vulnerable to spoofing.
-
Domain Email Discovery -- Finds all role-based email addresses (info@, sales@, support@, admin@, etc.) on a domain and verifies each one.
Use cases
- Sales prospecting -- Find decision-maker emails by providing their name and company domain. The Actor tests 14 common corporate email patterns and verifies each one at the SMTP level. Enable website scraping and GitHub search for even better discovery rates.
- Email list cleaning -- Verify existing email lists before sending campaigns. Remove invalid, disposable, and risky addresses to protect your sender reputation and reduce bounce rates.
- Domain deliverability audit -- Check if a domain's email authentication (SPF, DKIM, DMARC) is properly configured. Get an A+ to F grade with actionable recommendations. Essential before launching email campaigns.
- CRM enrichment -- Enrich your CRM contacts with verified email data, confidence scores, provider detection, deliverability grades, and risk signals.
- Lead generation -- Find contact emails for target companies. Discover role-based addresses (info@, sales@, support@) across domains. Filter by deliverability grade to focus on reachable domains.
- Recruitment -- Find candidate email addresses from company domains. Use GitHub commit search to find developer emails that aren't publicly listed.
- Email security assessment -- Audit domains for SPF, DKIM, and DMARC configuration. Identify domains vulnerable to email spoofing or phishing.
Why use this Actor?
- Four tools in one -- Email verification, finding, deliverability grading, and domain discovery in a single Actor
- 10-layer verification -- Syntax, disposable, free, role, MX, provider, SPF/DKIM/DMARC, SMTP, catch-all, confidence scoring
- Domain deliverability grading -- SPF/DKIM/DMARC checks with A+ to F letter grade and actionable issues list
- Multi-source discovery -- Pattern matching + website scraping + GitHub commits + Gravatar for maximum email finding accuracy
- Real SMTP verification -- Verifies at the mailbox level to confirm the email actually exists
- Confidence scoring -- Every result gets a 0-100 quality score based on verification depth
- Smart detection -- Flags disposable, free, catch-all, and role-based email addresses
- 14 email patterns -- Tests the most common corporate email formats, covering 95%+ of businesses
- Provider identification -- Detects Google Workspace, Microsoft 365, Yahoo, Zoho, ProtonMail, and more
- Detailed syntax errors -- Returns specific error messages for invalid emails (not just pass/fail)
- Pay per result -- $0.003 per email processed, $0.001 start fee
What data can you extract?
Email Verification Fields
| Field | Type | Description |
|---|---|---|
email | string | The email address (verified or best guess) |
firstName | string | First name (when finding emails for contacts) |
lastName | string | Last name (when finding emails for contacts) |
domain | string | Email domain |
isValidFormat | boolean | Whether the email passes RFC 5322 syntax validation |
syntaxErrors | string[] | Specific syntax errors if format is invalid |
hasMxRecords | boolean | Whether the domain has valid MX (mail server) records |
isVerified | boolean | Whether SMTP verification confirmed the mailbox exists |
isCatchAll | boolean | Whether the domain accepts all emails (catch-all) |
isDisposable | boolean | Whether the domain is a disposable/temporary email provider |
isFreeProvider | boolean | Whether the domain is a free email provider (Gmail, Yahoo, etc.) |
isRoleAccount | boolean | Whether the local part is a role account (admin, support, info, etc.) |
confidenceScore | number | Quality score from 0-100 based on verification results |
verificationMethod | string | Deepest verification performed: format, mx, or smtp |
mxHost | string | Mail server hostname used for verification |
provider | string | Detected provider (google_workspace, microsoft_365, yahoo, etc.) |
patternsTried | number | Number of email patterns tested (contact finder mode) |
sources | string[] | Discovery sources used (pattern, website, github, gravatar, pattern-match) |
verificationTimeMs | number | Time taken for verification in milliseconds |
Domain Deliverability Fields
| Field | Type | Description |
|---|---|---|
deliverabilityGrade | string | Letter grade from A+ to F based on email authentication setup |
deliverabilityScore | number | Numeric score from 0-100 |
spfExists | boolean | Whether SPF record exists |
spfValid | boolean | Whether SPF record is properly configured |
dmarcExists | boolean | Whether DMARC record exists |
dmarcPolicy | string | DMARC policy: reject, quarantine, or none |
dkimFound | boolean | Whether DKIM records were found for common selectors |
deliverabilityIssues | string[] | List of identified configuration issues |
Deliverability Grading Scale
| Grade | Score | Meaning |
|---|---|---|
| A+ | 90-100 | Excellent -- MX, SPF, DKIM, and DMARC all properly configured |
| A | 80-89 | Very good -- minor issues only |
| B | 70-79 | Good -- some authentication missing |
| C | 60-69 | Fair -- notable gaps in email security |
| D | 40-59 | Poor -- significant authentication missing |
| F | 0-39 | Failing -- major configuration problems |
How much does it cost?
This Actor uses pay-per-event pricing. You pay a small start fee per run plus a per-email fee for each email processed.
| Event | Price |
|---|---|
| Actor start | $0.001 |
| Email processed | $0.003 |
Cost examples:
| Scenario | Items | Cost |
|---|---|---|
| Verify 100 emails | 100 | $0.001 + (100 x $0.003) = $0.30 |
| Verify 1,000 emails | 1,000 | $0.001 + (1,000 x $0.003) = $3.00 |
| Find 50 contacts by name | 50 | $0.001 + (50 x $0.003) = $0.15 |
| Discover emails on 10 domains | ~140 | $0.001 + (140 x $0.003) = $0.42 |
Confidence score thresholds:
| Verification result | Typical confidence | Description |
|---|---|---|
| SMTP verified (non catch-all) | 95 | Mailbox confirmed to exist |
| Catch-all domain | 60 | Domain accepts all emails |
| Catch-all + role account | 50 | Catch-all with role penalty |
| MX verified only | 45 | Domain has mail servers |
| Role account (MX only) | 35 | Role address on valid domain |
| Format only | 30 | Syntax valid, no server check |
| Disposable email | 0-10 | Temporary email service |
| Invalid / rejected | 0-5 | Email does not exist |
How to verify and find emails
Mode 1: Verify existing emails
- Open the Actor on Apify Console
- Enter email addresses in the "Email addresses to verify" field
- Set verification level (
format,mx, orsmtp) - Enable "Check domain deliverability" for SPF/DKIM/DMARC grading
- Click "Start"
- Each email is checked through all verification layers
Mode 2: Find emails by name + domain
- Enter contacts as JSON in the "Contacts to find emails for" field:
[{ "firstName": "John", "lastName": "Smith", "domain": "example.com" },{ "firstName": "Jane", "lastName": "Doe", "domain": "company.io" }]
- Optionally enable discovery sources:
- Search company website -- scrapes /contact, /about, /team pages for matching emails
- Search GitHub commits -- finds developer emails in public commit history
- Check Gravatar profiles -- verifies if candidate emails have Gravatar accounts
- The Actor generates up to 14 email patterns per contact, prioritizing externally-discovered matches
- Each pattern is verified via SMTP until a valid one is found
- Results include the best-match email, confidence score, and which sources contributed
Mode 3: Discover domain emails
- Enter domains in the "Domains to discover emails for" field
- The Actor tests 14 common role addresses (info@, contact@, support@, admin@, sales@, hello@, team@, office@, hr@, jobs@, press@, media@, billing@, legal@)
- All verified addresses are returned with confidence scores and deliverability grades
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
emails | string[] | [] | List of email addresses to verify |
contacts | object[] | [] | List of contacts with firstName, lastName, and domain |
domains | string[] | [] | List of domains to discover emails for |
verificationLevel | string | "mx" | Verification depth: format, mx, or smtp |
detectCatchAll | boolean | true | Whether to detect catch-all domains |
maxPatternsToTest | integer | 8 | Max email patterns to test per contact (1-14) |
checkDeliverability | boolean | true | Check SPF/DKIM/DMARC and produce deliverability grade |
checkWebsite | boolean | false | Scrape company website for matching emails (contacts mode) |
checkGitHub | boolean | false | Search GitHub commits for matching emails (contacts mode) |
checkGravatar | boolean | false | Check Gravatar profiles for candidate emails (contacts mode) |
githubToken | string | - | Optional GitHub token for higher rate limits |
Output examples
SMTP-verified email with deliverability grade:
{"email": "hello@apify.com","domain": "apify.com","isValidFormat": true,"hasMxRecords": true,"isVerified": true,"isCatchAll": false,"isDisposable": false,"isFreeProvider": false,"isRoleAccount": true,"confidenceScore": 85,"verificationMethod": "smtp","mxHost": "aspmx.l.google.com","provider": "google_workspace","deliverabilityGrade": "A+","deliverabilityScore": 100,"spfExists": true,"spfValid": true,"dmarcExists": true,"dmarcPolicy": "reject","dkimFound": true,"deliverabilityIssues": [],"verificationTimeMs": 703}
Invalid email with syntax errors:
{"email": "not-an-email","domain": "","isValidFormat": false,"hasMxRecords": false,"isVerified": false,"isCatchAll": false,"isDisposable": false,"isFreeProvider": false,"isRoleAccount": false,"confidenceScore": 0,"verificationMethod": "format","syntaxErrors": ["Missing @ symbol"],"verificationTimeMs": 0}
Contact finder with discovery sources:
{"email": "jan.curn@apify.com","firstName": "Jan","lastName": "Curn","domain": "apify.com","isValidFormat": true,"hasMxRecords": true,"isVerified": true,"isCatchAll": false,"isDisposable": false,"isFreeProvider": false,"isRoleAccount": false,"confidenceScore": 95,"verificationMethod": "smtp","mxHost": "aspmx.l.google.com","provider": "google_workspace","patternsTried": 1,"sources": ["pattern", "website"],"deliverabilityGrade": "A+","deliverabilityScore": 100,"spfExists": true,"spfValid": true,"dmarcExists": true,"dmarcPolicy": "reject","dkimFound": true,"deliverabilityIssues": [],"verificationTimeMs": 5470}
Domain with poor deliverability:
{"email": "info@example.com","domain": "example.com","isValidFormat": true,"hasMxRecords": true,"isVerified": false,"confidenceScore": 45,"verificationMethod": "mx","deliverabilityGrade": "D","deliverabilityScore": 55,"spfExists": true,"spfValid": false,"dmarcExists": true,"dmarcPolicy": "none","dkimFound": false,"deliverabilityIssues": ["SPF record has no all mechanism — may not properly reject unauthorized senders","DMARC policy is \"none\" — monitoring only, does not protect against spoofing","No DKIM records found for common selectors — emails may fail authentication"]}
Tips for best results
- Use SMTP level for highest accuracy -- The
smtplevel gives the most accurate results with confidence scores up to 95. Note that some cloud environments block port 25; in those cases, the actor gracefully falls back to MX-level confidence. - Enable deliverability checking -- On by default. The SPF/DKIM/DMARC grade helps you assess whether emails to this domain will actually be delivered. Domains with grade D or F often have deliverability problems.
- Batch contacts by domain -- The Actor caches MX records, deliverability results, and website emails per domain, so grouping contacts by company domain is more efficient.
- Enable discovery sources for contacts -- Website scraping, GitHub, and Gravatar boost confidence when direct SMTP verification isn't available. Website scraping is the most effective for finding non-standard email patterns.
- Understand catch-all domains -- Some domains accept all emails regardless of the local part. The
isCatchAllflag identifies these. Catch-all results get confidence 60 because the email might exist but can't be confirmed. - Check
isDisposable-- Disposable email addresses (Mailinator, Guerrilla Mail, etc.) are detected and scored near 0. Filter these out for sales and marketing use cases. - Use
maxPatternsToTest-- For large batches, reduce patterns (default: 8) to speed up processing. For high-value targets, increase to 14 for maximum coverage. - Filter by confidence -- Use
confidenceScore >= 50as a threshold for reliable emails. Scores below 50 indicate unverified or problematic addresses. - Use deliverability grade for outreach -- Only email domains with grade B or higher to maximize inbox placement and protect your sender reputation.
Integrations
This Actor works with all major automation platforms:
- Make (Integromat) -- Trigger email verification from Make scenarios
- Zapier -- Connect to 5,000+ apps
- n8n -- Self-hosted workflow automation
- GitHub Actions -- CI/CD email verification
- Slack -- Get notifications when runs complete
Using the Apify API
You can start this Actor programmatically using the Apify API.
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });// Verify emails with deliverability gradingconst run = await client.actor('automation-lab/email-enrichment').call({emails: ['john@company.com', 'jane@startup.io'],verificationLevel: 'smtp',checkDeliverability: true,detectCatchAll: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const item of items) {console.log(`${item.email}: ${item.confidenceScore}/100 (${item.deliverabilityGrade})`);}
Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")# Find emails with website + GitHub discoveryrun = client.actor("automation-lab/email-enrichment").call(run_input={"contacts": [{"firstName": "John", "lastName": "Smith", "domain": "company.com"},{"firstName": "Jane", "lastName": "Doe", "domain": "startup.io"},],"verificationLevel": "smtp","checkDeliverability": True,"checkWebsite": True,"checkGitHub": True,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsfor item in items:print(f"{item['email']}: {item['confidenceScore']}/100 | Grade: {item.get('deliverabilityGrade', 'N/A')}")
Use with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~email-enrichment/runs?token=YOUR_API_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"emails": ["john@company.com", "jane@startup.io"],"verificationLevel": "smtp","checkDeliverability": true,"detectCatchAll": true}'
Use with AI agents via MCP
Email Verifier, Finder & Deliverability Checker is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
Once connected, try asking your AI assistant:
- "Verify these email addresses and check their deliverability"
- "Find email addresses for these 50 contacts with website and GitHub search"
- "Check the deliverability grade for these domains"
Learn more in the Apify MCP documentation.
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
FAQ
What verification levels are available?
The Actor supports three levels: format (syntax only), mx (MX record check + provider detection), and smtp (full SMTP-level mailbox verification). Default is mx. Deliverability grading (SPF/DKIM/DMARC) is available at all levels when checkDeliverability is enabled.
What does the confidence score mean? The score ranges from 0 to 100. Score 95 means SMTP-verified on a non-catch-all domain. Score 60 means catch-all domain. Score 45 means MX records verified but no SMTP check. Score 30 means only format was validated. Disposable emails score near 0, and role accounts get a 10-point penalty.
What is a catch-all domain? A catch-all domain is configured to accept emails sent to any address, even if the mailbox doesn't exist. The Actor detects this by probing a random address. Catch-all results get a confidence of 60 because the email might exist but can't be confirmed.
What does the deliverability grade mean? The grade (A+ to F) reflects how well a domain's email authentication is configured. It checks MX records (mail servers exist), SPF (authorized senders), DKIM (email signing), and DMARC (spoofing policy). Grade A+ means all four are properly configured. Grade F means critical components are missing.
What discovery sources are available for finding emails? In addition to pattern matching, you can enable: website scraping (checks /contact, /about, /team pages), GitHub commit search (finds developer emails), and Gravatar profile checking (confirms email existence). Each source boosts confidence when it finds a match.
How many emails can I verify per run? There is no hard limit. The Actor processes emails sequentially with each verification taking 100-500ms for SMTP, or near-instant for format/MX checks. Deliverability grading adds ~200ms per unique domain (cached for repeated emails on the same domain).
Why is SMTP verification returning low confidence for some emails? Some mail servers block SMTP verification queries (greylisting, rate limiting, firewall rules). In cloud environments, port 25 may be restricted. The Actor gracefully falls back to MX-level confidence in these cases. Enable discovery sources (website, GitHub) for additional signals.
Can I pipe results from Google Maps Lead Finder into this actor?
Yes. Export leads from Google Maps Lead Finder, extract the email column, and pass it to the emails field. Or use Make or Zapier to chain the two actors automatically.
What is the difference between this and the separate email actors? This Actor consolidates the functionality of Email Finder, Email Deliverability Checker, and Email Syntax Validator into one tool. You get email finding, verification, syntax validation, and deliverability grading all in a single run, with a unified output format.
Other lead generation tools
- Google Maps Lead Finder -- Find business leads from Google Maps with email and phone extraction
- Website Contact Finder -- Extract contact information, emails, and phone numbers from any website
- LinkedIn Company Scraper -- Extract company data and employee information from LinkedIn