IPQS's SDK allows your Android app to easily integrate our Email Verification API services. Accurately validate new users with email validation and comprehensive reputation checks to identify disposable and abusive emails.
To use the IP Address Reputation portion of our SDK framework, follow the setup instructions in the Android Fingerprinting SDK documentation. Once you have integrated the IPQS library into your build, you can make IP Reputation checks via our API.
You can perform a lookup for any given email address by calling Email.performFraudCheck(). This portion of the SDK does not require that you have set access to context unless you need to display something to the user. Additional permissions are not required.
Name | Function | Description | Type |
setEmail | request.setEmail("noreply@ipqualityscore.com") | The email you wish to validate. Required for a valid response from this API. | String |
setFast | request.setFast(true) | Should this request be optimized for speed? It makes results faster but less accurate. | Boolean, defaults to false |
setTimeout | request.setTimeout(10) | The timeout in seconds before we consider this email "timed out". | Integer, 0 - 100 |
setSuggestDomain | request.setSuggestDomain(true) | Should this request attempt to suggest a domain if the domain is uncommon? | Boolean, defaults to false |
setAbuseStrictness | request.setAbuseStrictness(true) | Set the strictness level for machine learning pattern recognition of abusive email addresses with the "recent_abuse" data point. A default level of 0 provides good coverage; however, if you filter account applications and face advanced fraudsters, we recommend increasing this value to level 1 or 2. | Integer, 0 - 3 |
setCustom | request.setCustom("custom", "value") | Allows you to set custom variables to be passed to our API. | String, String |
Our SDK offers various result methods and functions to enhance your experience and help prevent fraudulent activity.
The variable result below signifies an object of com.ipqualityscore.FraudEngine.Results.EmailResult.
Name | Function | Description | Type |
getRaw | result.getRaw() | Get the raw JSON string response from our API. This can be useful for debugging, providing feedback, and long-term storage. | String |
getMessage | result.getMessage() | Get the response message string for this request. This is generally "Success" but can include administrator-level information on why a request failed. (Out of credits, etc.) | String |
getSuccess | result.getSuccess() | A boolean containing the request's success or failure status. True on success, false on failure. | Boolean |
getRequestID | result.getRequestID() | The unique ID associated with this request. Helpful for debugging and postbacks. | String |
getTimedOut | result.getTimedOut() | Did the connection to the mail service provider timeout during the verification? If so, we recommend increasing the "timeout" variable above the default 7-second value. Lookups that time out with a "valid" result as false are most likely false and should not be trusted. | Boolean |
getDisposable | result.getDisposable() | Is this email suspected of belonging to a temporary or disposable mail service? Usually associated with fraudsters and scammers. | Boolean |
getFirstName | result.getFirstName() | Suspected first name based on email. Returns "CORPORATE" if the email is suspected of being a generic company email. Returns "UNKNOWN" if the first name is not determinable. | String |
getDeliverability | result.getDeliverability() | How likely is this email to be delivered to the user and land in their mailbox? Values can be "high", "medium", or "low". | String |
getSMTPScore | result.getSMTPScore() | Validity score of email server's SMTP setup. Range: "-1" to "3". Scores above "-1" can be associated with a valid email.
|
Integer |
getOverallScore | result.getOverallScore() | Overall email validity score. Range: "0" to "4". Scores above "1" can be associated with a valid email.
|
Integer |
getCatchAll | result.getCatchAll() | Is this email likely to be a "catch-all" where the mail server verifies all emails tested against it as valid? It is difficult to determine whether the address is valid in these scenarios since the email's server will not confirm the account's status. | Boolean |
getGeneric | result.getGeneric() | Is this email suspected of being a catch-all or shared email for a domain? ("admin@", "webmaster@", "newsletter@", "sales@", "contact@", etc.) | Boolean |
getCommon | result.getCommon() | Is this email from a common email provider? ("gmail.com", "yahoo.com", "hotmail.com", etc.) | Boolean |
getIsCrawler | result.getIsCrawler() | Returns true if this user's IP is from a known search engine crawler. | Boolean |
getDNSValid | result.getDNSValid() | Does the email's hostname have valid DNS entries? Partial indication of a valid email. | Boolean |
getHoneypot | result.getHoneypot() | Is this email believed to be a "honeypot" or "SPAM trap"? Bulk mail sent to these emails increases your risk of being blocklisted by large ISPs & ending up in the spam folder. | Boolean |
getFrequentComplainer | result.getFrequentComplainer() | Indicates if this email frequently unsubscribes from marketing lists or reports email as SPAM. | Boolean |
getSuspect | result.getSuspect() | This value indicates if the mail server is replying with a temporary error and cannot verify the email address. This status will also be true for "catch-all" email addresses. If this value is true, we suspect the "valid" result may be tainted and there is no guarantee that the email address is indeed valid. | Boolean |
getRecentAbuse | result.getRecentAbuse() | This value will indicate if there has been any recently verified abuse across our network for this email address. Abuse could be a confirmed chargeback, fake signup, compromised device, fake app install, or similar malicious behavior within the past few days. | Boolean |
getLeaked | result.getLeaked() | This value indicates if the mail server is replying with a temporary error and cannot verify the email address. This status will also be true for "catch-all" email addresses. If this value is true, we suspect the "valid" result may be tainted, and there is no guarantee that the email address is indeed valid. | Boolean |
getSuggestedDomain | result.getSuggestedDomain() | Default value is "N/A". Indicates if this email's domain should be corrected to a popular mail service. This field helps catch user typos. For example, an email address with "gmai.com" would display a suggested domain of "gmail.com". This feature supports all major mail service providers. | String |
getFirstSeen | result.getFirstSeen() | The time this email was first analyzed by IPQS. | java.time.LocalDateTime Object |
getDomainAge | result.getDomainAge() | The date/time this domain was registered. | java.time.LocalDateTime Object |
getSpamTrapScore | result.getSpamTrapScore() | The confidence level of the email address as an active SPAM trap. Values can be "high", "medium", "low", or "none". We recommend scrubbing emails with "high" or "medium" statuses. Avoid "low" emails whenever possible for any promotional mailings. | String |
getSanitizedEmail | result.getSanitizedEmail() | Sanitized email address with all aliases and masking removed, such as multiple periods for Gmail.com. | String |