Validate an email address
curl --request POST \
--url https://api.validate.al/v1/validate_email \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"email": "someone@example.com"
}
'import requests
url = "https://api.validate.al/v1/validate_email"
payload = { "email": "someone@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: 'someone@example.com'})
};
fetch('https://api.validate.al/v1/validate_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.validate.al/v1/validate_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' => 'someone@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.validate.al/v1/validate_email"
payload := strings.NewReader("{\n \"email\": \"someone@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.validate.al/v1/validate_email")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"someone@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.validate.al/v1/validate_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\": \"someone@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"cached": false,
"email": "someone@example.com",
"status": true
}Email Validation
Validate an email address
Looks up the domain’s MX records and asks the highest-priority mail server whether it accepts mail for the address. Can take up to about 10 seconds when the recipient’s mail server is slow. Counts against the plan’s daily email check allowance, then welcome checks; checks that fail on our side (502, fatal_exception) don’t count. The address is not stored.
POST
/
validate_email
Validate an email address
curl --request POST \
--url https://api.validate.al/v1/validate_email \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"email": "someone@example.com"
}
'import requests
url = "https://api.validate.al/v1/validate_email"
payload = { "email": "someone@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: 'someone@example.com'})
};
fetch('https://api.validate.al/v1/validate_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.validate.al/v1/validate_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' => 'someone@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.validate.al/v1/validate_email"
payload := strings.NewReader("{\n \"email\": \"someone@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.validate.al/v1/validate_email")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"someone@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.validate.al/v1/validate_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\": \"someone@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"cached": false,
"email": "someone@example.com",
"status": true
}Authorizations
ApiKeyAuthBearerAuth
Your validate.al API key, from the portal (Settings → API Key).
Body
application/json
The address to check. Name <user@example.com> is accepted and reduced to the address.
Example:
"someone@example.com"
Response
The check ran. status holds the verdict, including when the address can't receive mail.