API version v1
Welcome to the public API reference for version v1. Use it to check email addresses before account creation, form submission, or list import.
This documentation covers authentication, shared error responses, and the endpoints in the sidebar: /check for a single address and /bulk for batches.
All endpoints accept POST with a JSON body. Authenticate with Authorization: Bearer YOUR_API_KEY and keep that key on your server (never in browser JavaScript).
The samples below show a single-email check against POST /api/v1/check. See /check and /bulk for full request and response field reference.
Each successful check returns the same result object. Starter plans receive null for advanced-only values (risk_score, mx, website_status). Newly discovered domains can return null for domain-derived values until evidence has been evaluated.
cURL request
curl -X POST "/api/v1/check" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"james847@mailinator.com"}'
Node.js request
const response = await fetch('/api/v1/check', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ email: 'james847@mailinator.com' })
});
const result = await response.json();
PHP request
$ch = curl_init('/api/v1/check');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'email' => 'james847@mailinator.com',
]),
]);
$result = json_decode(curl_exec($ch), true);
Laravel request
use Illuminate\Support\Facades\Http;
$result = Http::withToken(config('services.spamova.key'))
->acceptJson()
->post('/api/v1/check', [
'email' => 'james847@mailinator.com',
])
->json();
Symfony request
use Symfony\Contracts\HttpClient\HttpClientInterface;
$response = $httpClient->request('POST', '/api/v1/check', [
'auth_bearer' => 'YOUR_API_KEY',
'json' => [
'email' => 'james847@mailinator.com',
],
]);
$result = $response->toArray();
Response
{
"email": "james847@mailinator.com",
"syntax": "valid",
"is_disposable": true,
"risk_score": 98,
"mx": "valid",
"website_status": "redirect"
}