IPQS's Mobile SDK allows your Android app to easily integrate our Proxy Detection API. Perform advanced IP Reputation checks from the leader in IP Intelligence to analyze the risk associated with an IP address.
Proxy and VPN Detection SDK
About the Proxy and VPN Detection SDK
Calling the IP Address Reputation API
Note: Before you can call the IP Address Reputation API, you will first need to set up the Android device fingerprinting SDK. |
You can perform a lookup for any given IP address by calling Proxy.performFraudCheck(). This portion of the SDK does not require that you set access to context unless you need to display something to the user. Additional permissions are not required.
Additional Request Methods
Name | Function | Description | Type |
setUserAgent | request.setUserAgent("useragent") | The user agent from the web browser of this or any device. | String |
setUserLanguage | request.setUserLanguage("en") | The two-character language this user prefers. | String |
setFast | request.setFast(true) | Should this request be optimized for speed? It makes results faster but less accurate. | Boolean, defaults to false |
setMobile | request.setMobile(true) | Should this request presume the IP is for a mobile device? | Boolean, defaults to false |
setAllowPublicAccessPoints | request.setAllowPublicAccessPoints(true) | Some public access points like airports and coffee shops can be dangerous. This flag allows you to ignore those dangers when scoring. Useful if your userbase is frequently utilizing your app from coffee shops or airports. | Boolean, defaults to false |
setLighterPenalties | request.setLighterPenalties(true) | Tell our system to score issues with IP addresses more lightly. Keeps out the worst subset of users. | Boolean, defaults to false |
setIP | request.setIP("8.8.8.8") | Sets the IP address to look up. This field is required to make the request successfully. | String, IPv4 or IPv6 |
setTransactionStrictness | request.setTransactionStrictness(1) | Sets the transaction strictness for this request. If you are submitting order data, this can be useful. | Integer, 0 - 3 |
setCustom | request.setCustom("custom", "value") | Allows you to set custom variables to be passed to our API. | String, String |
Response Methods
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 |
getFraudScore | result.getFraudScore() | Number 0 - 100 describing how likely this IP is to commit fraud. 0 being not at all, 100 being definitively fraudulent. We suggest blocking users greater than 85. | Float |
getCountryCode | result.getCountryCode() | A two-character country code based on this user's IP address. | String |
getRegion | result.getRegion() | A string describing the region this user's IP is from. | String |
getCity | result.getCity() | A string describing the city this user's IP is from. | String |
getISP | result.getISP() | A string describing the ISP this user's IP belongs to. | String |
getOrganization | result.getOrganization() | A string describing the Organization to which this user's IP belongs. | String |
getASN | result.getASN() | The ASN is assigned to the ISP to which this user's IP belongs. | Integer |
getLatitude | result.getLatitude() | The latitude where this user's IP is located. | Float |
getLongitude | result.getLongitude() | The longitude where this user's IP is located. | Float |
getIsCrawler | result.getIsCrawler() | Returns true if this user's IP is from any of the following known search engine crawlers: Baidu, Google, Bing, Yahoo, Yandex, Sogou, Exabot, DuckDuckGo, Facebook, Twitter, Pinterest, Naver, UptimeRobot, AppleBot, ArchiveBot, CoccocBot, YisouBot, PetalBot, ByteDance, and MailRU. | Boolean |
getTimezone | result.getTimezone() | Returns the timezone from which this user's IP is from. | String |
getHost | result.getHost() | Returns the hostname of this user's IP address. | String |
getIsProxy | result.getIsProxy() | Returns true if this user's IP is a known proxy. | Boolean |
getIsVPN | result.getIsVPN() | Returns true if this user's IP is a known VPN. | Boolean |
getIsTOR | result.getIsTOR() | Returns true if this user's IP is a known or suspected TOR node. | Boolean |
getRecentAbuse | result.getRecentAbuse() | Returns true if this user's IP has been reported for being abusive recently or if this device has been seen performing abusive actions. | Boolean |
getBotStatus | result.getBotStatus() | Returns true if this user's IP has been reported for botting or if this device has been seen performing bot-like actions. | Boolean |
getConnectionType | result.getConnectionType() | Classification of the IP address connection type as "Residential", "Corporate", "Education", "Mobile", or "Data Center". | String |
getMobile | result.getMobile() | Returns true if the IP in question is likely a mobile device. | Boolean |
getOperatingSystem | result.getOperatingSystem() | The suspected operating system of the device connected to this IP address. | String |
getBrowser | result.getBrowser() | The suspected web browser of the device connected to this IP address based on the user_agent if provided. | String |
getDeviceModel | result.getDeviceModel() | The suspected device model of the device connected to this IP address based on the user_agent if provided. | String |
getDeviceBrand | result.getDeviceBrand() | The suspected device brand of the device connected to this IP address based on the user_agent if provided. | String |