API Documentation
Email Verification API
Simple, fast, and accurate email verification for your applications
Overview
Email Verifier is an API built to help businesses and developers identify and prevent disposable (temporary) email addresses and domains in real time. By ensuring only legitimate users can register or engage with your platform, Email Verifier safeguards your business from fraud, enhances data integrity, and lowers operational expenses.
What Can Email Verifier Do?
- Validate Emails & Domains – Instantly verify if an email address or domain is valid, active, and trustworthy.
- Detect Disposable & Spam Sources – Block temporary, throwaway, or known spam email addresses before they enter your system.
- Check Domain Reputation – Identify public email providers, relays, and suspicious domains.
- Real-Time Verification – Get instant results during user registration or form submission.
Why Use Email Verifier?
- Prevent Platform Abuse – Stop free trial exploitation, reduce spam, and maintain authentic user communities.
- Improve Data Quality – Ensure your marketing, analytics, and support efforts reach real users, not fake accounts.
- Reduce Costs – Save resources by preventing fake signups, improve email deliverability, and minimize fraud.
- Easy Integration – Simple REST API, clear documentation, and straightforward setup make integration fast and developer-friendly.
- Scalable & Reliable – Built on modern infrastructure for high performance, reliability, and global reach.
Quick Start
Ready to protect your platform and improve your data quality? Follow these steps to get your API key and make your first API call:
Step 1: Create an Account
- Visit the Email Verifier Console.
- Fill in your details and complete the registration process.
Once you've created your account, you'll be automatically directed to the Email Verifier Console.
Step 2: Access Your API Keys
- In the Console, navigate to the left-hand menu and select Getting Started → API Keys.
- Copy your API key from the displayed list or generate a new one if required.
⚠️ Important: Keep your API key secure! It grants access to your Email Verifier account and should not be shared publicly.
Authentication
All API requests require authentication using a Bearer token. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEYBase URL
https://api.getemailverifier.comAPI Endpoints
Email Verifier provides two main endpoints for checking emails and domains.
Check Email
Checks if an email address is from a disposable email service. Returns comprehensive analysis including disposable status, role account detection, public domain identification, and alias detection.
/v1/email/checkRequest Headers
| Header | Value | Required |
|---|---|---|
| Authorization | Bearer YOUR_API_KEY | Yes |
| Content-Type | application/json | Yes |
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| value | string | Yes | The email address to check |
Example Request
curl --request POST \
--url https://api.getemailverifier.com/v1/email/check \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"value": "[email protected]"
}'Response Fields
| Field | Type | Description |
|---|---|---|
| time | string | Timestamp in ISO 8601 format |
| success | boolean | Whether the request was successful |
| data.block | boolean | Recommended action: true if email should be blocked |
| data.disposable | boolean | True if from a disposable email service |
| data.valid | boolean | True if email format is valid |
| data.role_account | boolean | True if role account (admin, support, etc.) |
| data.public_domain | boolean | True if public provider (Gmail, Yahoo, etc.) |
| data.alias | boolean | True if aliasing detected (Gmail dots, plus addressing) |
| data.details.input | string | Original input provided |
| data.details.normalized | string | null | Normalized/canonical form of email |
| data.details.handle | string | null | Normalized handle/local part (before @) |
| data.details.domain | string | null | Domain part (after @) |
| data.warning | string | null | Additional information or warnings |
| processing_duration | integer | null | Processing time in milliseconds |
| error | object | null | Error information if request failed |
Example Response
{
"time": "2025-12-09T10:01:07.550234Z",
"success": true,
"data": {
"block": false,
"disposable": false,
"valid": true,
"role_account": false,
"public_domain": true,
"alias": false,
"details": {
"input": "[email protected]",
"normalized": "[email protected]",
"handle": "user",
"domain": "example.com"
},
"warning": null
},
"processing_duration": 7,
"error": null
}Check Domain
Checks if a domain is from a disposable email service. Returns disposable status and public domain identification.
/v1/domain/checkRequest Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| value | string | Yes | The domain name to check |
Example Request
curl --request POST \
--url https://api.getemailverifier.com/v1/domain/check \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"value": "example.com"
}'Example Response
The response structure is identical to the email check endpoint. For domain checks, the normalized and handle fields in details will be null.
{
"time": "2025-12-09T10:01:07.550234Z",
"success": true,
"data": {
"block": false,
"disposable": false,
"valid": true,
"role_account": false,
"public_domain": false,
"alias": false,
"details": {
"input": "example.com",
"normalized": null,
"handle": null,
"domain": "example.com"
},
"warning": null
},
"processing_duration": 5,
"error": null
}Error Responses
The API uses standard HTTP status codes to indicate success or failure. All error responses include an error object with a code and description.
400 Bad Request
Invalid request - value must be provided and valid.
{
"time": "2025-12-09T10:01:07.550234Z",
"success": false,
"data": null,
"processing_duration": null,
"error": {
"code": "BAD_REQUEST",
"description": "Invalid request - email must be provided and valid"
}
}401 Unauthorized
Missing or invalid API key authentication.
{
"time": "2025-12-09T10:01:07.550234Z",
"success": false,
"data": null,
"processing_duration": null,
"error": {
"code": "UNAUTHORIZED",
"description": "Missing or invalid API key authentication"
}
}429 Too Many Requests
Rate limit exceeded. Please try again later.
{
"time": "2025-12-09T10:01:07.550234Z",
"success": false,
"data": null,
"processing_duration": null,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"description": "Rate limit exceeded. Please try again later."
}
}500 Internal Server Error
Internal server error occurred during processing.
{
"time": "2025-12-09T10:01:07.550234Z",
"success": false,
"data": null,
"processing_duration": null,
"error": {
"code": "INTERNAL_ERROR",
"description": "Internal server error occurred"
}
}Code Examples
Here are examples of how to use the Email Verifier API in different programming languages.
JavaScript / Node.js
const response = await fetch('https://api.getemailverifier.com/v1/email/check', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
value: '[email protected]'
})
});
const data = await response.json();
console.log(data);Python
import requests
url = "https://api.getemailverifier.com/v1/email/check"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"value": "[email protected]"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())PHP
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.getemailverifier.com/v1/email/check",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer YOUR_API_KEY",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"value" => "[email protected]"
])
]);
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
print_r($data);Go
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.getemailverifier.com/v1/email/check"
payload := map[string]string{
"value": "[email protected]",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}