Skip to main content
POST
/
v1
/
tools
/
verify
/
email
Verify Email
curl --request POST \
  --url https://api.example.com/v1/tools/verify/email \
  --header 'Content-Type: application/json' \
  --data '
{
  "email": "<string>"
}
'

Overview

Verify whether an email address is deliverable. Checks MX records, mailbox existence, and other factors to determine if an email will be successfully delivered.

Request Body

email
string
required
Email address to verify

Response (202 - Processing)

{
  "request_id": "req_abc123",
  "status": "processing",
  "tool": "verify_email",
  "message": "Email verification job queued successfully"
}

Job Result

{
  "status": "completed",
  "result": {
    "email": "[email protected]",
    "valid": true,
    "deliverable": true,
    "catch_all": false,
    "disposable": false
  }
}

Result Fields

FieldTypeDescription
validbooleanEmail format and domain are valid
deliverablebooleanMailbox exists and can receive email
catch_allbooleanDomain accepts all emails (can’t verify specific mailbox)
disposablebooleanTemporary/disposable email address

SDK Usage

const result = await agent.verifyEmail({
  email: "[email protected]",
});

if (result.deliverable) {
  console.log("Email is deliverable");
} else if (result.catch_all) {
  console.log("Catch-all domain — may or may not deliver");
} else if (result.disposable) {
  console.log("Disposable email — skip");
}

Example: Verify Before Sending

// Find email first
const found = await agent.findEmail({
  full_name: "John Doe",
  company_domain: "example.com",
});

if (found.found) {
  // Verify before sending
  const verification = await agent.verifyEmail({
    email: found.email,
  });

  if (verification.deliverable) {
    await agent.email({
      to: found.email,
      subject: "Hello",
      body: "Your message here...",
    });
  } else {
    console.log(`Skipping undeliverable email (catch_all: ${verification.catch_all}, disposable: ${verification.disposable})`);
  }
}

Best Practices

  1. Always verify before bulk sends - Reduces bounce rates
  2. Handle catch-all domains - These accept all emails but may not deliver
  3. Skip disposable emails - Usually not worth sending to
  4. Consider role-based emails - May go to shared inboxes