Smartlead email verification
Verify Smartlead outreach lists first
Use Verifly before Smartlead import to clean risky contacts and reduce avoidable bounces. It supports single checks, batch checks, and larger async jobs for outbound teams.
curl -X POST "https://verifly.email/api/v1/verify/batch" \
-H "Authorization: Bearer vf_your_api_key" \
-H "Content-Type: application/json" \
-d '{"emails":["first@example.com","second@example.com"]}'Real-time SMTP mailbox checks
Single, batch, and async bulk verification
Disposable, role account, and catch-all detection
Pay-as-you-go credits with no subscription lock-in
Search fit
Built for Smartlead email verification searches
Use Verifly when you need a simple API, predictable pricing, and clean JSON results before emails hit your product, CRM, or campaign tool.
Multi-inbox sending makes list hygiene non-negotiable
Smartlead's edge is running campaigns across many connected mailboxes with automatic rotation. That's excellent for volume, but it also spreads the consequences of a bad list across every inbox in the rotation. When an invalid address bounces, it doesn't just hurt one sender — it nudges the reputation of whichever rotating mailbox happened to send that message. Feed a dirty list into a large Smartlead rotation and you can quietly degrade a dozen warmed inboxes at once.
Smartlead campaigns are also often built from aggregated sources: a Smartlead master list frequently stitches together exports from several databases and scrapers, each with its own staleness. That aggregation is exactly where dead and role-based addresses sneak in, because no single source owns the quality of the merged file.
Verifly sits in front of that master list. Run the merged file through a batch check, strip the undeliverable and disposable rows, and only upload confirmed mailboxes into Smartlead. With pay-as-you-go pricing you clean each campaign's list at the moment you build it, not on a fixed monthly plan.
How to clean a Smartlead master list
- Merge your source exports into one CSV and dedupe on the email column before anything else.
- Create a free Verifly key at verifly.email/api/v1/autonomous/register.
- For a campaign-sized file, submit the whole email column to /verify/batch; the async bulk pipeline accepts up to 1,000,000 addresses per job.
- Split the results: deliverable rows go to Smartlead, undeliverable and disposable rows are removed, and role / catch_all rows go to a review pile.
- Upload only the deliverable segment as your Smartlead campaign list so the mailbox rotation only ever sends to real inboxes.
import requests
emails = [line.strip() for line in open('smartlead_master.csv') if '@' in line]
r = requests.post(
'https://verifly.email/api/v1/verify/batch',
headers={'Authorization': 'Bearer vf_your_api_key'},
json={'emails': emails},
)
results = r.json()['results']
deliverable = [x['email'] for x in results if x['result'] == 'deliverable']
review = [x['email'] for x in results if x['catch_all'] or x['role']]
print(f'Upload {len(deliverable)} to Smartlead, review {len(review)}')FAQ
Frequently asked questions
Why verify if Smartlead rotates inboxes anyway?
Rotation spreads sending load, but it also spreads bounce damage across every mailbox in the pool. Verifying the list first means none of the rotating inboxes ever sends to a dead address, protecting the whole rotation's reputation.
My list is merged from several sources — is that a problem?
It's the most common source of bounces. Merged lists inherit the worst staleness of every source. Dedupe the merged file, then run it through Verifly's batch endpoint so quality is enforced once, at the end, regardless of origin.
How do I handle role and catch-all rows for Smartlead?
Verifly flags role (info@, sales@) and catch_all separately from the deliverability verdict. A common approach is to send confirmed deliverable rows immediately and route role / catch-all rows to a smaller, more cautious sub-campaign.
Can I verify a full campaign list in one request?
Yes. Use /verify/batch for a list, and the async bulk pipeline for very large files up to 1,000,000 addresses, which covers essentially any single Smartlead campaign.
What does it cost per campaign?
Pay-as-you-go: $2 per 1,000 checks scaling down to $0.60 per 1,000 at volume, with 100 free credits to start. There's no subscription, so you only pay when you clean a list.
Does Verifly return SMTP-level results?
Yes. Each row includes a live SMTP check plus disposable, role, and catch-all flags, so you're filtering on an actual mailbox probe rather than syntax or domain guesses.