Base URL: https://www.emailverify.se/api/v1
Pass your API key in the X-Api-Key header, or as the api_key query/body parameter.
X-Api-Key: ev_your_api_key_here
# OR as query param
GET /api/v1/[email protected]&api_key=ev_your_api_key
/api/v1/verify
Verify a single email address. Costs 1 credit.
| Param | Type | Required | Description |
|---|---|---|---|
email | string | ✓ Yes | The email address to verify |
smtp | boolean | No | Enable SMTP mailbox probe (slower, default: false) |
# cURL example
curl "https://www.emailverify.se/api/v1/[email protected]" \
-H "X-Api-Key: ev_your_api_key"
# With SMTP check
curl "https://www.emailverify.se/api/v1/[email protected]&smtp=true" \
-H "X-Api-Key: ev_your_api_key"
{
"success": true,
"email": "[email protected]",
"result": "valid", // valid | invalid | risky | unknown
"score": 87, // 0-100 confidence score
"syntax_ok": true,
"mx_found": true,
"smtp_ok": false, // false if smtp=true not set
"disposable": false,
"catch_all": false,
"free_email": false,
"role_based": false,
"domain": "example.com",
"suggestion": null, // typo suggestion e.g. "gmail.com"
"reason": null, // reason if invalid
"duration_ms": 142,
"credits_remaining": 99
}
/api/v1/verify/bulk
Verify up to 1,000 emails per request. Costs 1 credit per email.
curl -X POST "https://www.emailverify.se/api/v1/verify/bulk" \
-H "X-Api-Key: ev_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"emails": ["[email protected]", "[email protected]", "bad@fake"],
"smtp": false
}'
{
"success": true,
"total": 3,
"valid": 2,
"invalid": 1,
"risky": 0,
"credits_used": 3,
"credits_remaining": 97,
"results": [
{ "email":"[email protected]", "result":"valid", "score":90, ... },
{ "email":"[email protected]", "result":"valid", "score":85, ... },
{ "email":"bad@fake", "result":"invalid", "score":0, ... }
]
}
/api/v1/usage
curl "https://www.emailverify.se/api/v1/usage" \
-H "X-Api-Key: ev_your_api_key"
// Response
{
"success": true,
"plan": "starter",
"plan_name": "Starter",
"credits": 9847,
"credits_used": 153,
"credits_total": 10000,
"reset_at": "2025-02-01 00:00:00"
}
| Field | Type | Description |
|---|---|---|
result | string | valid | invalid | risky | unknown |
score | int | 0–100 confidence. ≥70 = valid, 40–69 = risky, <40 = invalid |
syntax_ok | bool | Passes RFC 5321 syntax check |
mx_found | bool | Domain has MX DNS record |
smtp_ok | bool | Mailbox responded to SMTP probe (only if smtp=true) |
disposable | bool | Matches known throwaway domain list |
catch_all | bool | Domain accepts all addresses (reduces deliverability confidence) |
free_email | bool | From a free provider (Gmail, Yahoo, etc.) |
role_based | bool | Role address (info@, admin@, support@, etc.) |
suggestion | string|null | Possible typo correction (e.g. "gmail.com") |
duration_ms | int | Time taken for this verification in milliseconds |
| HTTP | Code | Description |
|---|---|---|
| 401 | missing_key | No API key provided |
| 401 | invalid_key | API key is invalid or revoked |
| 402 | no_credits | Insufficient credits |
| 422 | missing_param | Required parameter missing |
| 429 | rate_limit | Too many requests |
| Endpoint | Limit |
|---|---|
| Single verify | 60 req/min per key |
| Bulk verify | 5 req/min per key |
Rate limit headers are returned on every response: X-RateLimit-Limit, X-RateLimit-Remaining.
<?php
$apiKey = 'ev_your_api_key';
$email = '[email protected]';
$ch = curl_init("https://www.emailverify.se/api/v1/verify?email=" . urlencode($email));
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["X-Api-Key: $apiKey"],
CURLOPT_RETURNTRANSFER => true,
]);
$result = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $result['result']; // valid | invalid | risky
import requests
api_key = 'ev_your_api_key'
resp = requests.get(
'https://www.emailverify.se/api/v1/verify',
params={'email': '[email protected]'},
headers={'X-Api-Key': api_key}
)
data = resp.json()
print(data['result'], data['score'])
const res = await fetch('https://www.emailverify.se/api/v1/[email protected]', {
headers: { 'X-Api-Key': 'ev_your_api_key' }
});
const data = await res.json();
console.log(data.result, data.score);
const res = await fetch('https://www.emailverify.se/api/v1/verify/bulk', {
method: 'POST',
headers: {
'X-Api-Key': 'ev_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
emails: ['[email protected]', '[email protected]', '[email protected]']
})
});
const { results } = await res.json();
results.forEach(r => console.log(r.email, r.result));