If you're building anything that collects email addresses — signups, newsletters, lead forms — you already know the pain: bounced emails tank your sender reputation, fake signups waste your resources, and deliverability drops like a rock.
Email verification solves this. Here's how to add it to your app in 5 minutes using the Verifly API.
Why Verify Emails?
Quick reality check:
- ~22% of email lists decay every year (people change jobs, abandon accounts)
- Bounce rates above 2% can get your domain flagged by Gmail/Outlook
- Disposable emails (Guerrilla Mail, Mailinator) are signup spam magnets
Verification catches these before they become your problem.
Getting Started
- Sign up at verifly.email
- Grab your API key from the dashboard
- Start verifying
Base URL: https://verifly.email/api/v1
All requests need your API key in the Authorization header:
Authorization: Bearer vf_your_api_key
Single Email Verification
The simplest call — verify one email in real-time:
cURL
curl -X GET "https://verifly.email/api/v1/verify?email=john@company.com" \
-H "Authorization: Bearer vf_your_api_key"
Python
import requests
API_KEY = "vf_your_api_key"
email = "john@company.com"
response = requests.get(
f"https://verifly.email/api/v1/verify?email={email}",
headers={"Authorization": f"Bearer {API_KEY}"}
)
result = response.json()
print(f"Email: {result['email']}")
print(f"Status: {result['result']}") # ok, catch_all, unknown, invalid, disposable
print(f"Quality Score: {result['quality_score']}")
Node.js
const response = await fetch(
`https://verifly.email/api/v1/verify?email=john@company.com`,
{ headers: { Authorization: `Bearer ${API_KEY}` } }
);
const result = await response.json();
console.log(result);
Response
{
"success": true,
"email": "john@company.com",
"result": "ok",
"quality_score": 0.95,
"free_email": false,
"disposable": false,
"did_you_mean": null,
"credits": { "used": 1, "remaining": 4999 }
}
The result field gives you a clear verdict:
-
ok— valid, safe to send -
catch_all— domain accepts everything (proceed with caution) -
unknown— couldn't determine (temporary issue, retry later) -
invalid— bad address, don't send -
disposable— throwaway email (Mailinator, Guerrilla, etc.)
Batch Verification (up to 100 emails)
Got a list? Verify up to 100 emails in one request:
import requests
emails = ["alice@company.com", "bob@startup.io", "fake@mailinator.com"]
response = requests.post(
"https://verifly.email/api/v1/verify/batch",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={"emails": emails}
)
results = response.json()
for r in results["results"]:
print(f"{r['email']}: {r['result']} (score: {r['quality_score']})")
Bulk Verification (up to 1M emails)
For large lists, use async bulk processing:
import requests
import time
# Start a bulk job
response = requests.post(
"https://verifly.email/api/v1/verify/bulk",
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={"emails": big_email_list} # up to 1,000,000
)
job = response.json()
job_id = job["job_id"]
# Poll for completion
while True:
status = requests.get(
f"https://verifly.email/api/v1/jobs/{job_id}",
headers={"Authorization": f"Bearer {API_KEY}"}
).json()
if status["status"] == "completed":
break
print(f"Progress: {status['progress']}%")
time.sleep(10)
# Download results
results = requests.get(
f"https://verifly.email/api/v1/jobs/{job_id}/results",
headers={"Authorization": f"Bearer {API_KEY}"}
).json()
Practical Integration: Verify on Signup
Here's a real-world pattern — validate emails during user registration:
// Next.js API route example
export async function POST(request) {
const { email } = await request.json();
const verification = await fetch(
`https://verifly.email/api/v1/verify?email=${encodeURIComponent(email)}`,
{ headers: { Authorization: `Bearer ${process.env.VERIFLY_API_KEY}` } }
).then(r => r.json());
if (verification.result === 'invalid' || verification.disposable) {
return Response.json(
{ error: 'Please use a valid email address' },
{ status: 400 }
);
}
// Proceed with registration...
return Response.json({ success: true });
}
Pricing
This is where Verifly stands out. Most email verification services charge $25-50+ per 10,000 verifications. Verifly starts at $5 for 5,000 credits — roughly half the price of alternatives like ZeroBounce or NeverBounce.
| Plan | Credits | Price |
|---|---|---|
| Starter | 5,000 | $10 |
| Pro | 25,000 | $40 |
| Business | 100,000 | $120 |
No monthly fees. Credits never expire. Pay for what you use.
Wrapping Up
Clean email lists = better deliverability = more revenue. It's that simple.
If you're sending emails without verifying them first, you're burning money on bounces and risking your sender reputation.
Links:
- Verifly — sign up and get started
- API Docs — full endpoint reference
- Dashboard — manage keys and monitor usage
Questions? Drop a comment below or reach out through the Verifly support chat.
Top comments (0)