curl -X POST "https://api.deliveryman.ai/api/v2/verify-email/" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "alex@draftss.com"
}'import requests
url = "https://api.deliveryman.ai/api/v2/verify-email/"
payload = { "email": "jsmith@example.com" }
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'jsmith@example.com'})
};
fetch('https://api.deliveryman.ai/api/v2/verify-email/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deliveryman.ai/api/v2/verify-email/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => 'jsmith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deliveryman.ai/api/v2/verify-email/"
payload := strings.NewReader("{\n \"email\": \"jsmith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deliveryman.ai/api/v2/verify-email/")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"jsmith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deliveryman.ai/api/v2/verify-email/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"jsmith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"email": "jsmith@example.com",
"status": "valid",
"deliverable": true,
"valid_format": true,
"catch_all": true,
"full_inbox": true,
"disposable": true,
"webmail": true
}{
"message": "<string>"
}{
"message": "<string>"
}Verify Email
Checks whether an email address exists and can receive email. The result is returned as is, nothing is stored and sending isn’t blocked based on it, so you decide what to do with it.
Verification talks to the recipient’s mail server and can take up to a minute.
curl -X POST "https://api.deliveryman.ai/api/v2/verify-email/" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "alex@draftss.com"
}'import requests
url = "https://api.deliveryman.ai/api/v2/verify-email/"
payload = { "email": "jsmith@example.com" }
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'jsmith@example.com'})
};
fetch('https://api.deliveryman.ai/api/v2/verify-email/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.deliveryman.ai/api/v2/verify-email/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => 'jsmith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.deliveryman.ai/api/v2/verify-email/"
payload := strings.NewReader("{\n \"email\": \"jsmith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.deliveryman.ai/api/v2/verify-email/")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"jsmith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.deliveryman.ai/api/v2/verify-email/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"jsmith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"email": "jsmith@example.com",
"status": "valid",
"deliverable": true,
"valid_format": true,
"catch_all": true,
"full_inbox": true,
"disposable": true,
"webmail": true
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Your API key. In the dashboard, go to Integrations and open Deliveryman API Keys to create one.
Body
Email address to verify.
Response
Success
The result of verifying an email address.
The email address that was verified.
Overall result. valid: the mailbox exists and can receive email. invalid_format: not a valid email address. email_not_exists: the mailbox or domain doesn't exist. catchall: the domain accepts every address, so the mailbox can't be confirmed. full_inbox: the mailbox exists but is full. disposable: a temporary email service. dangerous: risky to send to. webmail: a webmail provider that can't be checked directly. unverifiable: the receiving server couldn't be reached or asked us to try later.
valid- validinvalid_format- invalid_formatemail_not_exists- email_not_existscatchall- catchallfull_inbox- full_inboxdisposable- disposabledangerous- dangerouswebmail- webmailunverifiable- unverifiable
valid, invalid_format, email_not_exists, catchall, full_inbox, disposable, dangerous, webmail, unverifiable Whether the mailbox accepts email, or null if it couldn't be determined.
Whether the address has a valid format.
Whether the domain accepts email for any address.
Whether the mailbox is full.
Whether the domain is a disposable email service.
Whether the domain is a webmail provider.