Advanced Email Validation API
Batch email validation from CSV file upload
Validates multiple email addresses from a CSV file upload with advanced SMTP verification.
CSV File Requirements:
- First column must contain email addresses
- Headers optional (will be detected automatically)
- Maximum 100 emails per file
- Supported formats: .csv, .txt with comma/semicolon separation
- Maximum file size: 1MB
File Format Examples:
email
user1@example.com
user2@gmail.com
user3@company.org
Or without headers:
user1@example.com
user2@gmail.com
user3@company.org
Batch Processing Features:
- Synchronous processing with complete validation
- All-or-nothing quota deduction (only charged after successful completion)
- Comprehensive validation results for each email
- Detailed statistics for the batch operation
Quota Management:
- One quota unit deducted per email address
- Quota deducted only after ALL validations complete successfully
- No quota charged if file processing or validation fails
Performance:
- File processing: <1 second for parsing
- Email validation: ~500ms-2s per email due to SMTP checks
- Total processing time: 5-200 seconds depending on file size
Use Cases:
- Marketing list validation from exports
- CRM data cleaning operations
- Lead import with validation
- Email list quality assessment
post/api/v1/email/advanced/batch/csv
Response
CSV batch validation completed successfully
Example response
{
"results": {
"user1@example.com": {
"email": "user1@example.com",
"reachable": "yes",
"syntax": {
"username": "user1",
"domain": "example.com",
"valid": true
},
"smtp": {
"host_exists": true,
"full_inbox": false,
"catch_all": false,
"deliverable": true,
"disabled": false
},
"gravatar": {
"has_gravatar": false,
"gravatar_url": ""
},
"suggestion": "",
"disposable": false,
"role_account": false,
"free": false,
"has_mx_records": true
},
"user2@gmail.com": {
"email": "user2@gmail.com",
"reachable": "unknown",
"syntax": {
"username": "user2",
"domain": "gmail.com",
"valid": true
},
"smtp": null,
"gravatar": null,
"suggestion": "",
"disposable": false,
"role_account": false,
"free": true,
"has_mx_records": true
}
},
"total_processed": 2,
"successful_validations": 2,
"failed_validations": 0
}