Documentation
Kawaa API documentation
Everything you need to integrate email verification into your application. Our REST API provides real-time and batch verification with layered DNS, MX, and risk checks.
https://api.kawaa.comGet started
Machine-readable description
The core verification API is described by an OpenAPI 3.1 document at kawaa.com/openapi.json. Generate a client from it, load it into Postman or Insomnia, or hand it to an agent. It covers the endpoints a customer integration uses: verification, jobs, results, activity, deliverability, webhooks, keys and the billing catalogue.
Checked against the running code on every build
- Every operation is a route the API actually serves.
- Every operation lists the scopes it enforces.
- Every error code is one the handlers emit.
- Response shapes for credentials, billing fields and job results, where a mistake would cost most. Other fields are described, but not checked exhaustively.
It is not the whole surface: account administration, team management, integrations and the white-label API are documented on these pages but not modelled in the document.
API capabilities
- Single email verification with real-time results
- Batch verification for up to 10,000 emails (plan-dependent)
- File upload processing (CSV, TXT)
- Webhook notifications for async jobs
- Activity data and engagement metrics
- Deliverability tools and warmup guidance
Authentication
Every API request needs a credential: an API key in the X-Api-Key header (or as a bearer token), or the access token an agent receives by signing in with OAuth. See Authentication.
curl -X POST https://api.kawaa.com/v1/verify \
-H "X-Api-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com"}'Get your API key from the Dashboard.
Response format
All responses are returned in JSON format with consistent structure.
{
"success": true,
"data": {
"email": "test@example.com",
"status": "risky",
"quality_score": 72,
"verification": {
"syntax_valid": true,
"domain_exists": true,
"mx_found": true,
"catch_all": false
},
"flags": {
"disposable": false,
"role_account": false,
"free_provider": true,
"spam_trap": false
}
}
}Ready to get started?
Follow our quick start guide to make your first API call in under 5 minutes.