Once email list is uploaded for verification using Verify Email List, you may need to check its verification status using this API.

To retrive its current status, make a GET request of status API using the id returned in the response of the Verify Email List API. If the callback url was provided while uploading the file for verification, QuickEmailVerification will send the complete result as a POST notification to the callback url as soon as verification is completed. In that case, you may not need to poll the requests to check the status of the uploaded job.

API endpoint

GET https://api.quickemailverification.com/v1/bulk-verify/status/{job_id}

Request parameters

Below given parameter is required for this API endpoint. Along with apikey query string parameter, id is passed as the path parameter to this API. This id is returned when email list is uploaded to QuickEmailVerification using Verify Email List.

apikeystringRequiredYour secret API key

Example request and response

When you have job id, you can check its status like following,

curl --get --include "https://api.quickemailverification.com/v1/bulk-verify/status/7138f61de8da380c345374c08bd64599?apikey=94msdf823ns8234fdm23004m380234s242i9smkm234s0934m23402342901"

Which may yield response like below :

    "id": "7138f61de8da380c345374c08bd64599",
    "filename": "email_list.csv",
    "status": "completed",
    "created_date": "2017-08-18T04:06:08.000Z",
    "started_date": "2017-08-18T04:06:08.000Z",
    "completed_date": "2017-08-18T04:06:45.000Z",
    "processing_time": 37,
    "stats": {
        "total_email": 100,
        "progress": "100%",
        "result_counts": {
            "safetosend": 68,
            "valid": 82,
            "invalid": 16,
            "unknown": 2
    "download_urls": {
        "safetosend": "https://api.quickemailverification.com/v1/bulk-verify/download/safetosend/7138f61de8da380c345374c08bd64599?apikey=94msdf823ns8234fdm23004m380234s242i9smkm234s0934m23402342901",
        "valid": "https://api.quickemailverification.com/v1/bulk-verify/download/valid/7138f61de8da380c345374c08bd64599?apikey=94msdf823ns8234fdm23004m380234s242i9smkm234s0934m23402342901",
        "invalid": "https://api.quickemailverification.com/v1/bulk-verify/download/invalid/7138f61de8da380c345374c08bd64599?apikey=94msdf823ns8234fdm23004m380234s242i9smkm234s0934m23402342901",
        "unknown": "https://api.quickemailverification.com/v1/bulk-verify/download/unknown/7138f61de8da380c345374c08bd64599?apikey=94msdf823ns8234fdm23004m380234s242i9smkm234s0934m23402342901",
        "fullreport": "https://api.quickemailverification.com/v1/bulk-verify/download/fullreport/7138f61de8da380c345374c08bd64599?apikey=94msdf823ns8234fdm23004m380234s242i9smkm234s0934m23402342901"
    "success": true,
    "message": ""

When job status check request does not retrieve successful response, message field will help you find more info about the probable issues. It contains descriptive info about the problem. Along with that, HTTP response code for every request has important information about the success of API request. To be familiar with possible HTTP response codes QuickEmailVerification API endpoints may return, visit Kick Start with Email Verification API.

API response schema

The API response schema is explained below.

id string Id assigned to uploaded email list
filename string Name of uploaded file along with file extension
status string Status of the verification process. Like,
created_date string Date and time when file uploaded to QuickEmailVerification
started_date string Date and time when actual verification process started for uploaded file
completed_date string Date and time when verification process completed for uploaded file
processing_time number Time taken to process the file (in seconds)
stats array Detailed statistics of the verification result. It contains following information,

total_email number total number of email to be processed from the file
progress string Percentage of verification process completion. When job status is running, this field helps to know how long the verification process has been reached. When verification is completed this would contain 100%.
result_counts array Counts of verification result, as following, Discover more about result terminologies here.

safetosend - number
valid - number
invalid - number
unknown - number
download_urls array List of download url for verification reports as stated below

safetosend string URL to download the list of just safe to send(recommended) emails
valid string Url to download the list of all valid emails
invalid string Url to download the list of just invalid emails
unknown string Url to download the list of just unknown emails
fullreport string Url to download complete report including every email
status boolean Describes success of job status
true - successful
false - error occurred
message string Human readable message describing the error generated for this email list (if any).

Understanding different job status

Which stage the uploaded email list is going through can be found inside the status field of the job status check response. Some important status values are discussed below.

  • failed - For every list uploaded, QuickEmailVerification performs detailed scanning on the list prior to take it up for verification. If email list fails during this scanning phase, failed status will be set for that email list. To fix and debug this type of jobs, you can check the message returned in the ""

  • running - Verification process for uploaded email list is ongoing. The percentage of process completion can be found in progress field of response.

  • completed - This indicates that the verification process is completed and verification reports are ready to be downloaded. To download the reports, check download_urls which contains the download urls for each report. Please note, these urls are populated only for the jobs which has been completed.

Status check request polling

The interval of polling status check requests highly depends on the size of email list. For smaller list, few status check requests at small gap of time will be sufficient. While for larger lists, interval should be increased accordingly. For example if email list contains just few hundred emails like 400 or 500 emails, polling interval of 5 minutes is considered good. But if email list has more than 1 lac emails, we recommend to keep minimum 15 - 20 minute gap between two status check requests.