Cold email list verification

Verify cold email lists before they hurt deliverability

Outbound campaigns need clean inputs. Verifly helps teams verify cold email lists before sending so invalid, disposable, and risky addresses can be filtered before they create bounces.

Verify leads before outreachAPI
curl -X GET "https://verifly.email/api/v1/verify?email=prospect@example.com"   -H "Authorization: Bearer vf_your_api_key"

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 cold 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.

Check Apollo, Clay, CRM, or spreadsheet exports before sending
Lower bounce risk before Smartlead, Instantly, or Lemlist campaigns
Filter disposable and role-account addresses from lead lists
Use API responses to automate keep/remove decisions

Why one dirty cold list poisons the good ones

Cold outreach lives or dies on sender reputation, and sender reputation is scored per sending domain and IP. When a cold list is full of stale, guessed, or abandoned addresses, the hard bounces stack up fast — and mailbox providers read a high bounce rate as a signal that you are a spammer who scraped a list without permission. Once you cross roughly 2-3% bounces on a send, providers start throttling and spam-foldering the deliverable addresses on that same campaign.

That is the trap: the invalid addresses do not just fail to arrive, they drag down inbox placement for the real prospects sitting next to them in the CSV. Verifying the list before it touches Smartlead, Instantly, or Lemlist is the difference between a campaign that lands and one that silently rots in spam.

Verifly gives every address a live SMTP check and returns deliverable / undeliverable / risky plus disposable, role, and catch-all flags. Strip the undeliverable rows entirely, and make a per-campaign call on the risky and catch-all ones based on how aggressive you can afford to be with a warm versus a fresh domain.

Clean a cold list before the first send

  1. Export the list from Apollo, Clay, a scrape, or a CRM into a single email column.
  2. Grab 100 free credits at verifly.email/api/v1/autonomous/register.
  3. Send the whole column to POST /verify/batch in one call.
  4. Drop every undeliverable row, and remove role addresses (info@, sales@) that tend to bounce or annoy on cold outreach.
  5. On a fresh or recently-warmed domain, exclude catch-all / risky rows too; on an established domain you can keep them and watch the bounce rate.
  6. Import only the survivors into your sequencer.
Batch-verify and keep only safe-to-send rows
const res = await fetch('https://verifly.email/api/v1/verify/batch', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer vf_your_api_key', 'Content-Type': 'application/json' },
  body: JSON.stringify({ emails }),
})
const { results } = await res.json()

// conservative filter for a fresh sending domain
const safeToSend = results.filter(r =>
  r.result === 'deliverable' && !r.role && !r.disposable && !r.catch_all
)
console.log(`Sending to ${safeToSend.length} of ${results.length}`)

FAQ

Frequently asked questions

What bounce rate is safe for cold email?

Aim to stay under about 2-3% bounces per send. Above that, mailbox providers begin throttling and spam-foldering even your valid recipients, so pre-send verification is the cheapest form of deliverability insurance.

Should I remove catch-all addresses from a cold list?

It depends on the domain. Catch-all domains accept mail for any address so no verifier can confirm a specific mailbox. On a fresh sending domain, exclude them; on an established one you can keep them and monitor bounces.

Why remove role addresses like info@ or sales@?

Role accounts are often shared inboxes or spam traps and tend to bounce or generate complaints on cold outreach. Verifly flags them so you can drop them before importing into a sequencer.

Can Verifly catch disposable addresses in scraped lists?

Yes. Every result carries a disposable flag, so throwaway and temporary-inbox domains that inflate a scraped list are filtered out before they burn a send.

How fresh does verification need to be?

Verify as close to send time as practical. A mailbox valid three months ago may have been deactivated since, so re-check a list that has been sitting before you reuse it.

Does this replace domain warmup?

No — it complements it. Warmup builds reputation; verification protects it. A warmed domain still tanks if you feed it a dirty list, so do both.