https://api.emailkit.app/api/
EmailKit provides a powerful yet simple API for email validation. Our service helps you verify email addresses, prevent fake signups, and maintain clean email lists. With our generous free tier, you can validate up to 50,000 emails per month at no cost.
Get started with EmailKit in minutes. Follow these simple steps to begin validating email addresses.
Navigate to the Dashboard and create an API key. You can create up to 3 API keys for different environments or applications.
Use your API key to make your first email validation request.
curl -X POST \
https://api.emailkit.app/api/validate-email \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com"}'
Create separate API keys for development and production environments. This helps you track usage and maintain security.
All API requests require authentication using an API key. You can create up to 3 API keys in your dashboard. Include your API key in the Authorization header of all requests.
Example Request
curl -X POST \
https://api.emailkit.app/api/validate-email \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "user@example.com"}'
/validate
Validate an email address and get detailed information about its validity, including format checking, domain validation, and disposable email detection.
EmailKit performs comprehensive real-time email validation through multiple verification steps.
All checks are performed in real-time for each request. The API returns results only after completing all validation steps or reaching the timeout limit.
Rate limits are applied on a per-API key basis. Each API key can make up to 1,000 requests every 15 minutes. When you exceed the rate limit, requests will return a 429 Too Many Requests
response.
Rate Limit Response Example
{
"error": "Too many requests, please try again later.",
"retryAfter": 1732656100
}
error
Human-readable error messageretryAfter
Unix timestamp indicating when the rate limit will resetThe API uses standard HTTP response codes to indicate the success or failure of requests.
Code | Status | Description |
---|---|---|
200 | OK | The request was successful |
400 | Bad Request | The request is missing required parameters (e.g., email address) |
401 | Unauthorized | Missing or invalid API key |
429 | Too Many Requests | Rate limit exceeded or monthly usage limit reached |
500 | Internal Server Error | An error occurred while processing the request |
Error Response Example
{
"error": "Invalid API key",
"status": 401
}
The API returns detailed validation results for each email address. Here are example responses for different scenarios.
Valid Gmail Address
{
"email": "user@gmail.com",
"deliverability": "DELIVERABLE",
"quality_score": 0.90,
"is_disposable_email": false,
"is_valid_format": true,
"is_free_email": true,
"is_role_email": false,
"is_catchall_email": false,
"is_mx_found": true,
"is_smtp_valid": true
}
Role-Based Email
{
"email": "info@company.com",
"deliverability": "RISKY",
"quality_score": 0.60,
"is_disposable_email": false,
"is_valid_format": true,
"is_free_email": false,
"is_role_email": true,
"is_catchall_email": false,
"is_mx_found": true,
"is_smtp_valid": true
}
Disposable Email
{
"email": "test@tempmail.com",
"deliverability": "UNDELIVERABLE",
"quality_score": 0.20,
"is_disposable_email": true,
"is_valid_format": true,
"is_free_email": false,
"is_role_email": false,
"is_catchall_email": false,
"is_mx_found": true,
"is_smtp_valid": false
}
deliverability
STRINGEmail delivery status: DELIVERABLE, RISKY, UNDELIVERABLE, or ERROR
quality_score
NUMBERScore between 0 and 1 indicating overall email quality
is_disposable_email
BOOLEANWhether the email is from a temporary/disposable email service
is_valid_format
BOOLEANWhether the email format is syntactically valid
is_free_email
BOOLEANWhether the email is from a free provider (Gmail, Yahoo, etc.)
is_role_email
BOOLEANWhether it's a role-based address (info@, support@, etc.)
is_catchall_email
BOOLEANWhether the domain accepts all incoming emails
is_smtp_valid
BOOLEANWhether the email address exists and can receive emails
We've added email-based two-factor authentication to enhance account security. Users can now enable 2FA from their dashboard settings.
Navigate to Dashboard Settings
Find the Security section
Toggle "Enable Two-Factor Authentication"
1. Enter credentials
Email + Password2. Receive OTP
6-digit code3. Complete verification
Access granted