CheckMail verifies email addresses beyond basic syntax checks. One API call returns a full verification result: syntax validation (RFC 5322), DNS and MX record lookup, real SMTP handshake to confirm the mailbox exists, disposable domain detection (10,000+ known providers), catch-all detection, role-based address flagging (info@, admin@), free provider detection, and typo suggestions (gmial.com → gmail.com).
The API is a simple REST endpoint — one GET request with your email, one JSON response with everything. No SDK to install, no complex setup. Integrate in minutes with any language: Node.js, Python, PHP, Ruby, Go.
Credits never expire, no subscription required. Pay once, use whenever. Unknown results (when a mail server is temporarily unreachable) are free, you only pay for definitive answers. Batch verification supports up to 500 emails per request. Auto-topup keeps your account running without interruption.
GDPR-safe by design: email addresses are never stored on disk, only SHA-256 hashes. Results are cached for 24 hours to reduce redundant SMTP probes.
Verifies a single email address and returns a detailed JSON response covering syntax validation, MX record lookup, real SMTP handshake, disposable domain detection, catch-all detection, role-based address flagging, free provider detection, and typo suggestions. Only charges one credit for definitive results. Unknown results from unreachable mail servers are free. Results are cached for 24 hours.
Verify email - Endpoint Features
| Object | Description |
|---|---|
email |
[Required] The email address to check |
{"email":"[email protected]","status":"invalid","checks":{"syntax":true,"mx_found":true,"smtp_valid":false,"disposable":false,"role_based":false,"free_provider":true,"catch_all":false},"typo_suggestion":null,"mx_host":"gmail-smtp-in.l.google.com","reason":"smtp:550","cached":false,"ms":146}
curl --location --request GET 'https://zylalabs.com/api/12380/cut+your+bounce+rate+in+half/23395/[email protected]' --header 'Authorization: Bearer YOUR_API_KEY'
| Header | Description |
|---|---|
Authorization
|
[Required] Should be Bearer access_key. See "Your API Access Key" above when you are subscribed. |
No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.
The Verify email endpoint returns a comprehensive JSON response that includes the email's validity status, syntax validation, MX record lookup, SMTP handshake results, and flags for disposable domains, role-based addresses, and free providers, along with typo suggestions.
Key fields in the response include "email" (the verified email), "status" (valid/invalid), "checks" (detailed validation results), "typo_suggestion" (if applicable), "mx_host" (MX server), "reason" (for invalid status), and "cached" (indicating if the result is cached).
The response data is structured in a JSON format with a top-level object containing the email address, status, and a nested "checks" object detailing various validation results. This organization allows for easy parsing and access to specific validation details.
The endpoint provides information on email syntax validity, MX record presence, SMTP validation, detection of disposable domains, identification of role-based addresses, free provider status, and suggestions for common typos.
Data accuracy is maintained through multiple validation checks, including real SMTP handshakes and DNS lookups. The API also uses a cache for results, reducing redundant checks and ensuring timely responses while minimizing server load.
Typical use cases include validating email addresses for marketing campaigns, ensuring deliverability in user sign-ups, cleaning email lists to reduce bounce rates, and enhancing user engagement by confirming valid contact information.
Users can utilize the returned data by checking the "status" field to determine if an email is valid, using "typo_suggestion" to correct common mistakes, and analyzing the "checks" object to understand specific validation failures for better data management.
Standard data patterns include a "valid" status for correctly formatted emails with active mailboxes, "invalid" for non-existent addresses, and "unknown" for temporarily unreachable servers. Users should anticipate a mix of valid, invalid, and unknown results based on the email list quality.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund
To obtain your API key, you first need to sign in to your account and subscribe to the API you want to use. Once subscribed, go to your Profile, open the Subscription section, and select the specific API. Your API key will be available there and can be used to authenticate your requests.
You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.
If you don’t cancel before the 7th day, your free trial will end automatically and your subscription will switch to a paid plan under the same plan you originally subscribed to, meaning you will be charged and gain access to the API calls included in that plan.
The free trial ends when you reach 50 API requests or after 7 days, whichever comes first.
No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.
Yes, we offer a 7-day free trial that allows you to make up to 50 API calls at no cost, so you can test our APIs without any commitment.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
Service Level:
100%
Response Time:
267ms
Service Level:
100%
Response Time:
173ms
Service Level:
100%
Response Time:
68ms
Service Level:
100%
Response Time:
20,003ms
Service Level:
100%
Response Time:
12,041ms
Service Level:
100%
Response Time:
1,151ms
Service Level:
100%
Response Time:
591ms
Service Level:
100%
Response Time:
1,139ms
Service Level:
100%
Response Time:
20,003ms
Service Level:
100%
Response Time:
527ms