Stop Guessing! The Web API That Verifies and Confirms If an Email Address Exists and Is Deliverable

One common challenge when using emails to communicate with clients is not just confirming that an email address is valid, but ensuring that…

Stop Guessing! The Web API That Verifies and Confirms If an Email Address Exists and Is Deliverable

One common challenge when using emails to communicate with clients is not just confirming that an email address is valid, but ensuring that it actually works and can receive messages. apilayer.com tackles this issue with its Email Verification API — a powerful tool that checks both the validity and deliverability of email addresses. While it’s a paid service, it offers a free plan with 100 requests per month to get you started.

How to get this API working

To test this API you need first to sign-on to apilayer.com and then go the the API web-site and select the free plan

After completing sign-on and subscribing you can start using the API

API Example
The following example use cURL to demonstrate the API’s functionality. cURL is chosen because it provides a universal, language-agnostic way to showcase how the API works — making it easily understandable by any developer or technical user, regardless of their preferred programming language or platform.

Example: Verifying an email address

To verify an email you have to to a GET request to “https://api.apilayer.com/email_verification/<email_address>”

curl --location --request GET 'https://api.apilayer.com/email_verification/kpatronas@gmail.com' --header "apikey:${api_key}" 
{ 
    "email": "kpatronas@gmail.com", 
    "did_you_mean": "", 
    "user": "kpatronas", 
    "domain": "gmail.com", 
    "syntax_valid": true, 
    "is_disposable": false, 
    "is_role_account": false, 
    "is_catch_all": null, 
    "is_deliverable": true, 
    "can_connect_smtp": true, 
    "is_inbox_full": "", 
    "is_disabled": "", 
    "mx_records": true, 
    "free": true, 
    "score": 0.64 
}

From the output we can see the following very important info

Each field describes part of the email verification result:

  • can_connect_smtp: true → The API successfully connected to the email server (SMTP).
  • did_you_mean: "" → No correction suggestion (the address is likely typed correctly).
  • domain: "gmail.com" → The email’s domain.
  • email: "kpatronas@gmail.com" → The tested address.
  • free: true → It’s a free email provider (like Gmail, Yahoo, etc.).
  • is_catch_all: null → The server didn’t reveal if it accepts all emails (catch-all status unknown).
  • is_deliverable: true → The mailbox appears to exist and can receive emails.
  • is_disabled: "" → The account doesn’t seem disabled.
  • is_disposable: false → Not a temporary or throwaway email service.
  • is_inbox_full: "" → Inbox not full or no info provided.
  • is_role_account: false → Not a role-based email like “info@” or “support@”.
  • mx_records: true → The domain has valid MX records (mail servers configured).
  • score: 0.64 → A confidence score (0–1). Above 0.5 generally means likely valid.
  • syntax_valid: true → The email format is syntactically correct.
  • user: "kpatronas" → The username part of the address.

Summary:
The email is correctly formatted, hosted on Gmail, not disposable, reachable via SMTP, and likely deliverable.

Rate Limiting

Each subscription has its own rate limit. When you become a member, you start by choosing a rate limit that suits your usage needs. Do not worry; You can upgrade or downgrade your plan at any time. For this reason, instead of starting with a larger plan that you do not need, we can offer you to upgrade your plan after you start with “free” or “gold plan” options and start using the API.

When you reach a rate limit (both daily and monthly), the service will stop responding and returning the HTTP 429 response status code (Too many requests) for each request with the following JSON string body text.

But you also can keep track of the remaining requests by inspecting the response headers

curl -i --location --request GET 'https://api.apilayer.com/email_verification/kpatronas@gmail.com' --header "apikey:${api_key}" 
HTTP/2 200 
date: Thu, 09 Oct 2025 11:44:55 GMT 
content-type: application/json 
content-length: 392 
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800} 
x-cloud-trace-context: 2cca5063eccfbfe50b0caa4326b520ff;o=1 
server: cloudflare 
access-control-allow-origin: * 
x-ratelimit-limit-month: 100 
x-ratelimit-remaining-day: 98 
ratelimit-reset: 1858603 
ratelimit-limit: 100 
ratelimit-remaining: 98 
x-ratelimit-limit-day: 100 
x-ratelimit-remaining-month: 98 
cf-cache-status: DYNAMIC 
strict-transport-security: max-age=2592000; includeSubDomains 
x-content-type-options: nosniff 
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=NriuYGYidxsPTg50OeMJ4mSRjURVN9ej9UnLgiMT0c7kc6PRnmkFgznr0O1hDztBwLY0SGStDN0xq1wvOPPmHcnK%2BY2IqIJgSqLolaDIeR0kRR%2FWpO8tFP4%3D"}]} 
cf-ray: 98bd9e95cee96f38-ATH 
alt-svc: h3=":443"; ma=86400 
 
{ 
    "email": "kpatronas@gmail.com", 
    "did_you_mean": "", 
    "user": "kpatronas", 
    "domain": "gmail.com", 
    "syntax_valid": true, 
    "is_disposable": false, 
    "is_role_account": false, 
    "is_catch_all": null, 
    "is_deliverable": true, 
    "can_connect_smtp": true, 
    "is_inbox_full": "", 
    "is_disabled": "", 
    "mx_records": true, 
    "free": true, 
    "score": 0.64 
}

The headers can give the following info

  • x-ratelimit-limit-month: 100 → You can make up to 100 requests per month.
  • x-ratelimit-remaining-month: 98 → You have 98 monthly requests left.
  • x-ratelimit-limit-day: 100 → You can make up to 100 requests per day (daily cap).
  • x-ratelimit-remaining-day: 98 → You have 98 daily requests left.
  • ratelimit-limit: 100 → General rate limit (same as x-ratelimit-limit).
  • ratelimit-remaining: 98 → General remaining count (same as x-ratelimit-remaining).
  • ratelimit-reset: 1858603 → Unix timestamp (seconds) when the limit resets. You can convert it to human-readable time using date -d @1858603 (Linux/macOS) or an online converter

Final Thoughts

Email verification is essential for maintaining clean contact lists and ensuring reliable communication. The APILayer Email Verification API simplifies this by providing real-time validation and deliverability checks through an easy REST endpoint. Whether you manage a small newsletter or an enterprise system, testing your email data before sending saves time, money, and reputation.

Start for free, test with 100 monthly requests, and integrate the API into your workflow to keep your email list verified and deliverable.