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 verifier
Verify the deliverability of one email address. Rate limit: No endpoint-specific throttle.
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 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
Use an Airscale workspace API key. Never expose the key in client-side code.
Body
One email address. Surrounding whitespace is trimmed; the trimmed value must be at most 320 characters. Maximum JSON body size: 16 KiB.
^\s*[^\s@]+@[^\s@]+\.[^\s@]+\s*$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
Email address, when present. Validate the value type before using it.
Verification status, when present.
Deliverability result, when present; risky means verification remained inconclusive.
Deliverability score from 0 to 100, when present.
Whether the domain accepts all addresses (catch-all), when present.
Whether the address is disposable, when present.
Whether the address uses a free email provider, when present.
Whether the address is a role address such as sales@, when present.
Mail servers for the domain, when present.
Mail hosting service for the domain, when present.
Verification mode, when present.
Verification identifier, when present.
Verification time, when present.
Balance reported by the verification service, when present. This is not your Airscale credit balance; use POST /v1/credits for that.