Skip to main content

Email Risk and Domain Verification API

The following document highlights the details of the Email Risk and Domain Verification API.

API Description

Objective

The Email Risk and Domain Verification API validates and retrieves information about an email address. It reveals if the input email has been involved in any data breaches that might have exposed sensitive information such as names, passwords, or other personal details linked to the email.

InputOutput
The email address to be verified

The verification status of the email address, details about the domain, the associated company's name, whether the domain is compliant with security protocols, the history of any data breaches involving the email, and an estimate of how long the email address has been in use.

API URL

https://ind-engine.thomas.hyperverge.co/v1/emailBasic

API Endpoint

emailBasic

Overview

The Email Risk and Domain Verification API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format, and you should send the request body as JSON through a POST request.

Method - POST

Authentication

You need a unique pair of application ID ( appId ) and application key ( appKey ) from HyperVerge to verify your identity for accessing the Email Risk and Domain Verification API.

Headers

HeaderMandatory / OptionalDescriptionInput Format
content-type MandatoryThis parameter defines the media type for the request payloadapplication/json
appId MandatoryThe application identifier shared by HyperVerge. You can find the details in the dashboard's credentials tabThis should be a unique value
appKey MandatoryThe application key shared by HyperVerge. You can find the details in the dashboard's credentials tabThis should be a unique value
transactionIdMandatoryUnique ID for the customer journeyAny defined unique value mapped to a transaction in your business ecosystem

Inputs

The following table provides the details of the parameters required for the Email Risk and Domain Verification API's request body:

ParameterMandatory / OptionalTypeDescriptionInput FormatDefault Value
emailMandatorystringThe email address to be verifiedValid email address stringNot Applicable

Request

The following code snippet demonstrates a standard curl request for the Email Risk and Domain Verification API:

curl --location --request POST 'https://ind-engine.thomas.hyperverge.co/v1/emailBasic' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"email": "<Enter_the_email_address>"
}'

Success Response

The following code snippet demonstrates a success response from the Email Risk and Domain Verification API:

{
"status": "success",
"statusCode": "200",
"result": {
"deliverable": true,
"domainName": "<Domain_Name>",
"tld": "<Top_Level_Domain>",
"creationTime": "<Domain_Creation_Time>",
"updateTime": "<Domain_Update_Time>",
"expiryTime": "<Domain_Expiry_Time>",
"registered": "<Domain_Registration_Status>",
"companyName": "<Company_Name_Associated_With_Domain>",
"disposable": "<Is_Email_Disposable>",
"freeProvider": "<Is_Email_From_Free_Provider>",
"dmarcCompliance": "<DMARC_Compliance>",
"spfStrict": "<SPF_Strictness_Status>",
"suspiciousTld": "<Suspicious_TLD_Status>",
"websiteExists": "<Does_Website_Exist>",
"acceptAll": "<Does_Domain_Accept_All_Emails>",
"custom": "<Custom_Field>",
"breach": {
"isBreached": false,
"noOfBreaches": 0,
"firstBreach": null,
"lastBreach": null,
"breaches": []
},
"emailTenure": "<Email_Tenure_in_Years>"
}
}

Success Response Details

The following table outlines the details of the success response from the Email Risk and Domain Verification API:

ParameterTypeDescription
statusstringThe status of the request
statusCodestringThe HTTP status code for the response
resultobjectThe JSON object containing the email verification details
deliverablebooleanIndicates whether the email address actually exists or not, using a fast SMTP-MX check
domainNamestringThe domain of the email address of the user
tldstringThe top-level domain of the email address
creationTimestringThe date and time when the domain was created (UTC time zone)
updateTimestringThe date and time when the domain was last updated (UTC time zone)
expiryTimestringThe date and time when the domain is set to expire (UTC time zone)
registeredbooleanIndicates whether the email's domain is registered
companyNamestringThe name of the company that manages the reservation of the domain name
disposablebooleanIndicates if the email's domain is fraudulent such as disposable email, previous fraudulent domains
freeProviderbooleanIndicates whether the email address is from a free email provider such as gmail, hotmail
dmarcComplianceobjectIndicates if the email's domain is DMARC (Domain-based Message Authentication Reporting and Conformance) enforced
spfStrictobjectIndicates if the SPF is sufficiently strict enough to prevent spoofing
suspiciousTldobjectIndicates if the email's top-level-domain is likely to be fraudulent or risky
websiteExistsbooleanIndicates if the email's domain has a website or not
acceptAllbooleanIndicates if the server is set to receive all emails at this domain
customobjectIndicates if customer domain configuration is present
breachobjectInformation about any data breaches related to the email address
breach.isBreachedbooleanIndicates whether the email address has been involved in any data breaches
breach.noOfBreachesintegerThe number of data breaches involving the email address
breach.firstBreachstringThe date when the email was first compromised, null if not applicable
breach.lastBreachstringThe date when the email was last compromised, null if not applicable
breach.breachesarrayArray of objects containing breach details
breach.breaches[].platformNamestringThe name of the platform where the email address was compromised
breach.breaches[].domainNamestringThe domain of the platform where the email address was compromised
breach.breaches[].breachDatestringThe date when the email address was compromised for the particular platform
emailTenurenumberThe estimated tenure of the email address in years

Failure Response

The following code snippet demonstrates a failure response from the Email Risk and Domain Verification API when the provided email address is invalid:

{
"status": "success",
"statusCode": "200",
"result": {
"deliverable": false,
"domainName": "<Domain_Name>",
"tld": "<Top_Level_Domain>",
"creationTime": "<Creation_Time>",
"updateTime": null,
"expiryTime": null,
"registered": true,
"companyName": "<Company_Name>",
"disposable": false,
"freeProvider": false,
"dmarcCompliance": null,
"spfStrict": null,
"suspiciousTld": null,
"websiteExists": true,
"acceptAll": false,
"custom": null,
"breach": {
"isBreached": false,
"noOfBreaches": 0,
"firstBreach": null,
"lastBreach": null,
"breaches": []
},
"emailTenure": null
}
}

Error Responses

The following are some error responses from the Email Risk and Domain Verification API:

{
"status": "failure",
"statusCode": 400,
"message": "Email cannot be empty"
}

Error Response Details

A failure or error response contains a failure status with a relevant status code and error message.
The following table lists all error responses:

Status CodeError MessageError DescriptionError Resolution
400Email cannot be emptyThe request is missing the email parameter in the request bodyEnsure the request includes the email parameter with a valid email address
400Invalid InputThe provided email does not match the standard email templateProvide a valid email address that follows the standard email format
400Invalid event typeThe event type provided in the request is invalidVerify and provide a valid event type in the request
401Missing/Invalid credentialsThe request is either missing the mandatory appId and appKey combination or has invalid valuesVerify and provide valid appId and appKey credentials
403Access DeniedAccess to the Email Risk and Domain Verification API has been deniedContact the HyperVerge team for resolution
500Internal Server ErrorKindly check the request headers or contact the HyperVerge team for resolution.Check the request headers or contact the HyperVerge team for resolution
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: