Batch & File Verification
Verify large lists of emails asynchronously. Submit up to 10,000 emails per batch or upload CSV/TXT files.
Batch Verification
POST
/v1/verify/batchSubmit an array of emails for asynchronous verification. Returns a job ID to track progress.
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
emails | string[] | Yes | Array of email addresses (max 10,000) |
webhook_url | string | No | URL to receive completion notification |
name | string | No | Custom name for the job |
Example Request
curl -X POST https://api.kawaa.com/v1/verify/batch \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"emails": [
"user1@example.com",
"user2@example.com",
"user3@example.com"
],
"webhook_url": "https://your-app.com/webhook",
"name": "January Newsletter List"
}'Response
{
"success": true,
"data": {
"job_id": "job_abc123xyz",
"status": "processing",
"total_emails": 3,
"created_at": "2026-02-03T14:30:00.000Z"
}
}File Upload
POST
/v1/verify/fileUpload a CSV or TXT file containing email addresses for verification.
Request
curl -X POST https://api.kawaa.com/v1/verify/file \
-H "X-Api-Key: YOUR_API_KEY" \
-F "file=@emails.csv" \
-F "email_column=email" \
-F "has_header=true"Supported Formats
- CSV: Comma-separated with optional headers
- TXT: One email per line
- Max file size: 50MB
- Max emails: 500,000 per file
Check Job Status
GET
/v1/jobs/{job_id}Response
{
"success": true,
"data": {
"job_id": "job_abc123xyz",
"name": "January Newsletter List",
"status": "completed",
"progress": {
"total": 1000,
"processed": 1000,
"valid": 850,
"invalid": 100,
"risky": 30,
"unknown": 20
},
"created_at": "2026-02-03T14:30:00.000Z",
"completed_at": "2026-02-03T14:35:42.000Z"
}
}Job Status Values
pending- Job queued for processingprocessing- Verification in progresscompleted- All emails verifiedfailed- Job failed (check error field)
Download Results
GET
/v1/jobs/{job_id}/downloadQuery Parameters
format-csvorjson(default: csv)filter- Filter by status:valid,invalid,risky,all
Example
curl -X GET "https://api.kawaa.com/v1/jobs/job_abc123xyz/download?format=csv&filter=valid" \
-H "X-Api-Key: YOUR_API_KEY" \
-o results.csvList All Jobs
GET
/v1/jobsList all verification jobs for your account with pagination.
Query Parameters
limit- Number of results (default: 20, max: 100)offset- Pagination offsetstatus- Filter by job status
Credits
- 1 credit per email in batch
- Credits deducted upfront when job is created
- Failed verifications are not refunded