The full API Documentation of Reoon Email Verifier is added below. Please signup to our email verification platform first to collect your API key.
API Endpoint: Single Email Verification
Do not use this endpoint for bulk email verification purposes. You should not verify continuously in more than 5 threads using this endpoint. This API endpoint is ideal for verifying email at its entry level. You can verify an email to check its validity before allowing it to enter your email database. This document contains the API documentation to be used by any programming language.
There are two verification modes available. The QUICK mode and the POWER mode.
QUICK MODE:
The QUICK mode allows the user to verify an email address extremely fast within 0.5 seconds. However, this mode does not support deep verification like the POWER mode. So individual inbox status will not be checked in this mode.
The advantages of quick mode verification:
- Extremely fast verification: Verify an email address in less than 0.5 seconds.
- Checks the most important things in the shortest time.
- Does not need to keep your user waiting.
- Best for: During user registration on your website. Prevent users from registering using temporary/disposable emails.
The disadvantages of quick mode verification: Deep verification and detailed information are less available compared to the POWER mode. So individual inbox status will not be checked in this mode.
The quick verification mode includes:
- Email syntax validation.
- Disposable/temporary email check.
- MX validation and records.
- Domain email acceptance validation.
- Invalid email detection.
- Expired/invalid domain detection.
- Role account check.
API Request Details: We use standard Rest-API formats. You can make a call (GET request) to our API using the following format.
GET Request URL (HTTPS):
https://emailverifier.reoon.com/api/v1/verify?email=<email>&key=<key>&mode=quick
Here,
email = The email address you want to verify. i.e. [email protected]
key = One of your API keys created above on this page.
mode = “quick” (Default is “quick”, if not provided).
In the URL above, replace the <> with your own data.
Response (JSON):
{
"email": "[email protected]",
"status": "valid", // All Status: "valid", "invalid", "disposable", "spamtrap"
"username": "jhon123",
"domain": "gmail.com",
"is_valid_syntax": true,
"is_disposable": false,
"is_role_account": false,
"mx_accepts_mail": true,
"is_spamtrap": false,
"is_free_email": true,
"mx_records": [
"gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com",
"alt2.gmail-smtp-in.l.google.com",
"alt3.gmail-smtp-in.l.google.com",
"alt4.gmail-smtp-in.l.google.com"
],
"verification_mode": "quick"
}
POWER MODE:
Power mode checks everything just like the on-page verification of our website. However, the only downside is, that this can take a few seconds to more than a minute to verify an email in depth based on the email provider’s server response time.
The advantages of power mode verification:
- Verifies everything needed.
- Get all the information just like our on-page verification.
- Everything from the quick mode, except the verification time.
The quick verification mode includes:
- Email syntax validation.
- Disposable/temporary email check.
- MX validation and records.
- Domain email acceptance validation.
- Invalid email detection.
- Expired/invalid domain detection.
- Role account check.
- Check if the inbox is full or address disabled.
- Check if the individual email address exists.
- Check if the domain is catch-all.
API Request Details: We use standard Rest-API formats. You can make a call (GET request) to our API using the following format.
GET Request URL (HTTPS):
https://emailverifier.reoon.com/api/v1/verify?email=<email>&key=<key>&mode=power
Here,
email = The email address you want to verify. i.e. [email protected]
key = One of your API keys created above on this page.
mode = “power” (must be provided).
In the URL above, replace the red portion with your own data.
Response (JSON):
{
"email": "[email protected]",
"status": "safe", // All Status: "safe", "invalid", "disabled", "disposable", "inbox_full", "catch_all", "role_account", "spamtrap", "unknown"
"overall_score": 98, // Out of 100.
"username": "jhon123",
"domain": "gmail.com",
"is_safe_to_send": true,
"is_valid_syntax": true,
"is_disposable": false,
"is_role_account": false,
"can_connect_smtp": true,
"has_inbox_full": false,
"is_catch_all": false,
"is_deliverable": true,
"is_disabled": false,
"is_spamtrap": false,
"is_free_email": true,
"mx_accepts_mail": true,
"mx_records": [
"alt3.gmail-smtp-in.l.google.com",
"alt2.gmail-smtp-in.l.google.com",
"alt4.gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com",
"gmail-smtp-in.l.google.com"
],
"verification_mode": "power"
}
The API can be used in any programming languages. The Single API Requests can also be directly tested on a browser.
Contact support if you do not understand anything.
API Endpoint: Bulk Email Verification
If your email list has less than 10 emails, please use the single verification endpoint instead. This API Endpoint is ideal for verifying large email sets at a great speed. This endpoint creates a bulk verification task for the given list of emails. The emails will be processed to remove duplicates, and a bulk email verification task will be created.
The features of bulk API verification:
- Email verifications are done by multiple of our verification servers to verify them as fast as possible.
- All the emails are verified using power mode to ensure great accuracy.
- Statistics and progress can also be checked from the web-dashboard and can be downloaded as well.
- Can submit up to 50,000 emails at once (total verification time will depend on it).
- If multiple verification tasks are created, they will be processed one by one.
- Best for: If you need to verify many email addresses at once, this is the endpoint for you.
The bulk API validation process includes two steps. In the first step, the system will create the task and in the second step verified results can be downloaded.
Step – 1: Submit the Emails & Create Task
In this step, the emails need to be submitted, which will create a task and our servers will start verifying them internally. Submit a POST request with a JSON body containing ‘name’, ’emails’, and ‘key’.
POST Request URL (HTTPS):
https://emailverifier.reoon.com/api/v1/create-bulk-verification-task/
Example Post Request Body (JSON Object):
{
"name": "Task Name",
"emails": ["[email protected]", "[email protected]", "[email protected]"],
"key": "Your_API_Key"
}
Here,
“name”: (String) The name of the task. This is optional. Maximum length 25 characters.
“emails”: (Array of Strings, required) An array of email addresses to be verified. Up to 50,000 emails can be submitted.
“key”: (String, required) The API key. The API key must be active.
Success Response of Task Creation Request: Status code will be 201 on successful task creation. The response will be a JSON object. On successful task creation, the response will include the following keys:
“status”: (String) The status of the request. This will be `success` if the task was created successfully.
“task_id”: The unique ID of the successfully created task.
“count_submitted”: (Integer) The number of emails that were submitted.
“count_duplicates_removed”: (Integer) The number of duplicate emails that were removed.
“count_rejected_emails”: (Integer) The number of emails that were rejected (not checked) by system for incorrect formatting.
“count_processing”: (Integer) The number of unique emails that are being processed.
Example Success Response:
{
"status": "success",
"task_id": 123456,
"count_submitted": 3,
"count_duplicates_removed": 0,
"count_rejected_emails": 0,
"count_processing": 3
}
Error Response of Task Creation Request: The response will be a JSON object. If an error occurred, the response will include the following keys:
“status”: (String) The status of the request. This will be `error` if an error occurred.
“reason”: (String) A description of the error that occurred.
Code Example (Python):
import requests
url = "https://emailverifier.reoon.com/api/v1/create-bulk-verification-task/"
# Define the payload
payload = {
"name": "Task via API",
"emails": [
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]",
"[email protected]"
],
"key": "your_api_key"
}
response = requests.post(url, json=payload)
# Print the response based on status.
if response.status_code == 201:
print("Task created successfully.")
print(response.json())
else:
print(f"Task creation failed.")
print(response.json())
Python Success Response:
Task created successfully.
{"count_duplicates_removed": 0, "count_processing": 7, "count_submitted": 7, "status": "success", "task_id": 40676}
Python Failed Response:
Task creation failed.
{"status": "error", "reason": "Error description"}
Step – 2: Get Verified Results
This endpoint retrieves the results of a previously created bulk email verification task. The results will include the overall status of the task and, if the task has completed, the results of the email verification.
GET Request URL (HTTPS):
https://emailverifier.reoon.com/api/v1/get-result-bulk-verification-task/?key=<Your_API_Key>&task_id=<Task_ID>
Here, replace the <Your_API_Key> with your active API key and replace the <Task_ID> with the “task_id” obtained in the previous step.
The response will be a JSON object. If the request was successful, the response will include the following keys:
“task_id”: (String) The ID of the task.
“name”: (String) The name of the task.
“status”: (String) The status of the task. This can be ‘waiting’, ‘running’, ‘completed’, ‘file_not_found’, ‘file_loading_error’, or another status.
“count_total”: (Integer) The total number of emails that were submitted for the task.
“count_checked”: (Integer) The number of emails that have been checked so far.
“progress_percentage”: (Float) The percentage of emails that have been checked.
If the task has completed and the results file is available, the response will also include the following key:
“results”: (Array of Objects) The results of the email verification. Each object in the array represents an email and contains details about the verification.
If an error occurred, the response will include the following keys:
“status”: (String) The status of the request. This will be ‘error’ if an error occurred.
“reason”: (String) A description of the error that occurred.
Code Example (Python):
import requests
key = 'your_api_ley' # Replace it with your actual API key.
task_id = 40675 # Replace it with the task_id obtained from the previous step.
url = f'https://emailverifier.reoon.com/api/v1/get-result-bulk-verification-task/?key={key}&task-id={task_id}'
response = requests.get(url)
print(response.json())
Python Response:
{
"count_checked":7,
"count_total":7,
"name":"API: Task via API",
"progress_percentage":100.0,
"results":{
"[email protected]":{
"can_connect_smtp":true,
"domain":"outlook.com",
"email":"[email protected]",
"has_inbox_full":false,
"is_catch_all":false,
"is_deliverable":true,
"is_disabled":false,
"is_disposable":false,
"is_role_account":false,
"is_safe_to_send":true,
"is_spamtrap":false,
"is_valid_syntax":true,
"mx_accepts_mail":true,
"mx_records":[
"outlook-com.olc.protection.outlook.com"
],
"status":"safe",
"username":"jhon200"
},
"[email protected]":{
"can_connect_smtp":true,
"domain":"yahoo.com",
"email":"[email protected]",
"has_inbox_full":false,
"is_catch_all":false,
"is_deliverable":false,
"is_disabled":false,
"is_disposable":false,
"is_role_account":false,
"is_safe_to_send":false,
"is_spamtrap":"None",
"is_valid_syntax":true,
"mx_accepts_mail":true,
"mx_records":[
"mta5.am0.yahoodns.net",
"mta6.am0.yahoodns.net",
"mta7.am0.yahoodns.net"
],
"status":"invalid",
"username":"test1"
},
## Data of all other email addresses will be here.
## ..........
## ..........
},
"status":"completed",
"task_id":"40676"
}
Python code to extract any specific result:
# previous code ...
response = requests.get(url)
response_json = response.json()
results = response_json.get('results')
# get the result of a specific email.
specific_result = results.get('[email protected]')
print(specific_result)
Tip: A code can be written that will check the status every few seconds in a loop until the status changes from “waiting”/”running” to “completed” or something else.