Email Verification API for Developers
Add real-time email verification to any app with a single GET request. Bearer token authentication, predictable JSON responses, and credits from €0.0005 per verification.
curl -X GET \ "https://api.stopbouncing.com/v1/verify?email=john@example.com" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"email": "john@example.com",
"status": "valid",
"checks": {
"syntax": true,
"mx": true,
"smtp": true,
"disposable": false,
"catch_all": false,
"role": false
},
"credits_remaining": 9843
}Everything You Need to Verify at Scale
Real-time results
Sub-second response times for most addresses. Results include all six check outcomes plus remaining credit balance.
Secure bearer auth
Authenticate with API keys generated in your dashboard. Scoped keys, revoke anytime, no shared secrets.
Any language, any platform
Standard REST API over HTTPS. Works from Node.js, Python, PHP, Ruby, Go, or any HTTP client.
Predictable JSON schema
Stable response format with versioned endpoints. We never break your integration without notice.
60 requests per minute
Default rate limit of 60 req/min per API key. Need higher throughput? Use bulk CSV upload instead.
Multiple API keys
Create separate keys for development, staging, and production. Track usage per key in your dashboard.
Works in Any Language
const response = await fetch(
'https://api.stopbouncing.com/v1/verify?email=john@example.com',
{ headers: { Authorization: 'Bearer YOUR_API_KEY' } }
);
const { status } = await response.json();
// status: 'valid' | 'invalid' | 'unknown' | 'disposable' | 'role'import requests
result = requests.get(
"https://api.stopbouncing.com/v1/verify",
params={"email": "john@example.com"},
headers={"Authorization": "Bearer YOUR_API_KEY"}
)
print(result.json()["status"]) # "valid"API FAQ
How do I get an API key?
Create a free account, then go to Dashboard → API Keys. Click 'New API Key', give it a label, and copy your key. 100 free credits are included immediately — no payment required to try the API.
What is the rate limit?
The default limit is 60 requests per minute per API key. If you need higher throughput, use our bulk CSV upload feature which processes thousands of addresses concurrently with no per-request rate limit.
What happens if I run out of credits during an API call?
The API returns a 402 Payment Required response. No credits are deducted for unsuccessful requests. You can top up credits any time in the billing section of your dashboard.
Is there an SDK?
No SDK is required — the API is a simple REST endpoint that works with any HTTP client. If you need an SDK for a specific language, check our API documentation for community-contributed libraries.
Can I test the API without spending credits?
Yes. Use the email address 'test@stopbouncing.com' for free test calls that return a predictable 'valid' result without consuming credits. This is useful for integration testing.
Related Resources
Start Verifying via API Today
Get your API key in 30 seconds. 100 free verifications included. No credit card required.