IPQS
Proxy and VPN Detection SDK
About the Proxy and VPN Detection SDK

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.

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

 

Ready to eliminate fraud?

Start fighting fraud now with 5,000 Free Lookups!

We're happy to answer any questions or concerns.

Chat with our fraud detection experts any day of the week.

Call us at: (800) 713-2618