Verify an email address
curl --request POST \
--url https://api.airscale.io/v1/email-verifier \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "person@example.com"
}
'const url = 'https://api.airscale.io/v1/email-verifier';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'person@example.com'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/email-verifier"
payload = { "email": "person@example.com" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"email": "person@example.com",
"status": "success",
"result": "deliverable",
"score": 100,
"is_accept_all": false,
"is_disposable": false,
"is_free": false,
"is_role": false,
"mx_records": [
"mx1.example.com"
],
"smtp_provider": "Example Mail",
"mode": "regular",
"id": "example-verification-000001",
"verify_at": "2026-01-01T00:00:00Z",
"credits_remaining": 1000,
"credits_consumed": 0.5
}
Email verifier
Verify the deliverability of one email address. Rate limit: No endpoint-specific throttle.
POST
/
v1
/
email-verifier
Verify an email address
curl --request POST \
--url https://api.airscale.io/v1/email-verifier \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "person@example.com"
}
'const url = 'https://api.airscale.io/v1/email-verifier';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'person@example.com'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/email-verifier"
payload = { "email": "person@example.com" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"email": "person@example.com",
"status": "success",
"result": "deliverable",
"score": 100,
"is_accept_all": false,
"is_disposable": false,
"is_free": false,
"is_role": false,
"mx_records": [
"mx1.example.com"
],
"smtp_provider": "Example Mail",
"mode": "regular",
"id": "example-verification-000001",
"verify_at": "2026-01-01T00:00:00Z",
"credits_remaining": 1000,
"credits_consumed": 0.5
}
Verify one email address using your workspace API key. Send exactly one
email field in a JSON body of at most 16 KiB. Surrounding whitespace is trimmed, and the trimmed address must be at most 320 characters. The legacy /email-verifier route remains available.
Usage and credits
The cost is 0.5 credits per request, reserved before verification. There is no endpoint-specific throttle. Allow at least 135 seconds, plus a network margin, in your client timeout. If verification remains inconclusive, the result isrisky; waiting for that result does not add another charge.
Reading the response
Read the result frombody when that object is present; otherwise read it from the top level. JSON object results include credits_consumed: 0.5 alongside the result. Wrapped results also include returned_an_error: false at the top level.
Fields such as email, status, and result may be absent or have different types. Check the response content type before parsing: successful responses can also contain non-object JSON or non-JSON content without a credits_consumed field.
Errors and retries
An unsuccessful verification can return an error such as422; error bodies can vary. Failed verification requests are eligible for a refund. A 503 can mean the charge or refund could not be confirmed, so do not assume the credits have been returned.
This endpoint does not support caller idempotency keys. Retrying creates another verification request and can incur another charge. Use bounded backoff for temporary failures and avoid treating a timeout as proof that no credits were charged.
Next step
Use Email finder to find a work email, or check your credit balance.Authorizations
Body
application/json
Response
A verification result, either at the top level or inside body. JSON object results include credits_consumed; other fields are optional and their types can vary. Successful responses can also contain non-object JSON or non-JSON content without a credits_consumed field.
- Option 1
- Option 2