Docs/Quick Start

Quick Start

Get from zero to verified email in under 5 minutes.

1. Create your account

Sign up at verimails.com/register — no credit card required. You'll get 100 free credits immediately.

2. Get your API key

After signing in, go to your Dashboard and copy your API key. It looks like:

text
ev_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
â„šī¸
Keep your API key secret. Never expose it in client-side code or public repositories.

3. Make your first request

Send a POST request to /api/verify/single with an email address:

bash
curl -X POST https://verimails.com/api/verify/single \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com"}'
python
import requests

response = requests.post(
    "https://verimails.com/api/verify/single",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={"email": "user@example.com"}
)

data = response.json()
print(data["status"])         # valid
print(data["safe_to_send"])  # True
javascript
const response = await fetch("https://verimails.com/api/verify/single", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ email: "user@example.com" })
});

const data = await response.json();
console.log(data.status);        // valid
console.log(data.safe_to_send);  // true
php
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => "https://verimails.com/api/verify/single",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer YOUR_API_KEY",
        "Content-Type: application/json"
    ],
    CURLOPT_POSTFIELDS => json_encode(["email" => "user@example.com"])
]);

$response = json_decode(curl_exec($ch), true);
echo $response["status"];        // valid
echo $response["safe_to_send"];  // 1

4. Understand the response

A successful response looks like this:

json
{
  "email": "user@example.com",
  "status": "valid",
  "safe_to_send": true,
  "details": {
    "mx_found": true,
    "smtp_check": true,
    "is_catchall": false,
    "catchall_score": null,
    "is_disposable": false,
    "is_role_account": false,
    "is_free_provider": true
  }
}

The most important fields are status and safe_to_send. Use safe_to_send: true as your primary filter for deciding whether to contact an address.

Next steps