{
"did_you_mean": null,
"email": "[email protected]",
"format_valid": true,
"free_email": false,
"is_free_provider": false,
"is_valid": true,
"mx_found": true,
"smtp_check": false,
"smtp_status": null,
"status": "valid_domain",
"sub_status": "role_based",
"suggested_email": null,
"verification_time": 0.02,
"verification_time_ms": 20
}
curl --location --request GET 'https://zylalabs.com/api/14274/email+validation+and+bulk+csv+verification+api/35450/[email protected]&smtp_check=false' --header 'Authorization: Bearer YOUR_API_KEY'
{
"did_you_mean": null,
"email": "[email protected]",
"format_valid": true,
"free_email": false,
"is_free_provider": false,
"is_valid": true,
"mx_found": true,
"smtp_check": false,
"smtp_status": null,
"status": "valid_domain",
"sub_status": "role_based",
"suggested_email": null,
"verification_time": 0,
"verification_time_ms": 0
}
curl --location --request POST 'https://zylalabs.com/api/14274/email+validation+and+bulk+csv+verification+api/35451/verify+single+email+via+json+payload' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"email":"[email protected]","smtp_check":false}'
{
"csv": "email,is_valid,status,sub_status,format_valid,mx_found,free_email,did_you_mean,verification_time_ms\r\[email protected],True,valid_domain,role_based,True,True,False,,0\r\[email protected],True,valid_domain,disposable_email,True,True,False,,0\r\n",
"results": [
{
"did_you_mean": null,
"email": "[email protected]",
"format_valid": true,
"free_email": false,
"is_free_provider": false,
"is_valid": true,
"mx_found": true,
"smtp_check": false,
"smtp_status": null,
"status": "valid_domain",
"sub_status": "role_based",
"suggested_email": null,
"verification_time": 0,
"verification_time_ms": 0
},
{
"did_you_mean": null,
"email": "[email protected]",
"format_valid": true,
"free_email": false,
"is_free_provider": false,
"is_valid": true,
"mx_found": true,
"smtp_check": false,
"smtp_status": null,
"status": "valid_domain",
"sub_status": "disposable_email",
"suggested_email": null,
"verification_time": 0,
"verification_time_ms": 0
}
],
"skipped_count": 0,
"success": true,
"summary": {
"disposable": 1,
"free_email": 0,
"invalid": 0,
"processed": 2,
"role_based": 1,
"skipped": 0,
"total": 2,
"total_submitted": 2,
"truncated": false,
"typos_detected": 0,
"valid": 2
},
"truncated": false,
"usage": {
"limit": 100000,
"remaining": 99984,
"used": 16
},
"warning": null
}
curl --location --request POST 'https://zylalabs.com/api/14274/email+validation+and+bulk+csv+verification+api/35452/validate+bulk+email+list+via+json+array+or+csv+file+upload' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"emails":["[email protected]","[email protected]"],"smtp_check":false}'
{
"status": "healthy"
}
curl --location --request GET 'https://zylalabs.com/api/14274/email+validation+and+bulk+csv+verification+api/35453/service+health+check' --header 'Authorization: Bearer YOUR_API_KEY'
After signing up, every developer is assigned a personal API access key, a unique combination of letters and digits provided to access to our API endpoint. To authenticate with the Email Validation and Bulk CSV Verification API simply include your bearer token in the Authorization header.
| 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.
Fast, real-time email verification and bulk CSV cleaner. Checks RFC syntax, DNS and MX records, over 150 disposable domains, role accounts, and domain typos in 15ms.
Each validation performs RFC 5322 syntax verification, DNS MX record lookup, disposable email provider detection across 150+ disposable providers, role account identification, free webmail detection, domain typo suggestion, and optional SMTP mailbox handshake.
You can send a POST request to /api/validate-bulk with either a JSON array of up to 1000 email addresses or a multipart CSV file upload. The API automatically detects the email column and processes the batch concurrently.
If your uploaded list or JSON array has more emails than your remaining credit allowance, the API processes up to your remaining allowance, returns those validated results with "truncated" set to true, and includes a warning message along with your credit balance in the "usage" object.
Standard validation without smtp check completes in under 50 milliseconds using syntax, DNS MX records, and disposable domain intelligence. Enable smtp check when you need deep mailbox-level verification and catch-all domain detection.
The bulk validator automatically extracts raw email addresses from RFC 5322 display-name formats, auto-detects delimiters, and sanitizes spreadsheet formula prefixes to prevent CSV injection.
The "status" field indicates the primary validation outcome (such as "valid_domain", "invalid_syntax", or "invalid_domain"), while "sub_status" provides specific classification details such as "disposable_email", "role_based", or "typo_detected".
Each endpoint returns structured JSON data. The single email validation endpoints provide details on email validity, format, and provider type, while the bulk validation endpoint returns a summary of processed emails, including counts of valid, invalid, and disposable addresses.
Key fields include "email", "is_valid", "status", "sub_status", "format_valid", "mx_found", "free_email", "did_you_mean", and "verification_time_ms". For bulk validation, the response also includes "results", "summary" (with "truncated", "valid", "invalid", "disposable", and "role_based" counts), "usage" (credit balance), and "csv".
The response data is organized in a JSON format. Single email validation responses include direct validation results, while bulk validation responses contain an array of results for each email along with a summary object detailing overall statistics.
Each endpoint provides information on email validity, format correctness, disposable status, role-based identification, and domain suggestions. The bulk endpoint also summarizes the total processed emails and their validity status.
Users can customize requests by selecting specific endpoints and providing email addresses in the required format (JSON or CSV). For single email validation, users can choose between GET and POST methods, while bulk validation allows for batch processing.
The data sources include DNS records, MX records, and a comprehensive list of disposable email providers. The API also utilizes domain reputation metrics to enhance accuracy and reliability in email validation.
Data accuracy is maintained through real-time checks against DNS and MX records, continuous updates to disposable email provider lists, and validation against established email formatting standards (RFC 5322).
Typical use cases include verifying email addresses for marketing campaigns, cleaning email lists to improve deliverability, and ensuring user registrations are valid. This helps reduce bounce rates and enhance communication effectiveness.
To obtain your API key, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key 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.
The free trial lasts for 7 days and allows you to make up to 50 API requests.
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. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.
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.
You can monitor your API usage through the response headers included with every request:
x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.
Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.
Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund