iOS Device Fingerprinting


Protects iOS apps against sophisticated fraud and abuse from high level bad actors. IPQualityScore uses a mix of JS device fingerprinting and mobile SDK device fingerprinting to enable your iOS app to accurately identify fraud and abusive behavior with mobile device fingerprinting techniques. Verify new or returning users and identify high risk behavior, such as mobile emulators, residential botnets, location spoofing including GPS tampering, bots, non-human requests, fake accounts, install fraud, and hijacked devices. IPQS makes it easy to detect duplicate accounts, bonus abuse, fraudulent users, fake installs, and much more.


Please see the instructions below for further guidance on setting up the iOS Device Fingerprint SDK.


Setup the iOS SDK Library

Deploy IPQS device fingerprinting for iOS devices using this SDK package, which collects non-sensitive data about the user's device and in-app behavior. The SDK only collects data when called with the functions below. The IPQS iOS SDK is packaged into a zip file which can be included within your app. It requires Xcode 11.0+ and iOS 11.0+.


Click here to login and setup an app to be able to download this library.

How To Integrate iOS Device Fingerprinting
  • Drag the framework folder to your xCode project, and then click your project go to Targets > YourTarget > Frameworks and next to IPQualityScore select Sign & Embed.

  • Go to build settings and set Validate Workspace to Yes, and set Enable Bitcode to No.

  • Enter app API key, available here: -> https://www.ipqualityscore.com/user/mobile.

  • Add the following code to your info.plist:

    LSApplicationQueriesSchemes
    undecimus
    cydia
    sileo
    zbra

Add Your API Key

The following code shows how to set your API key.

Add Custom Tracking Variable

The following code allows for passing tracking variables such as a user ID, transaction ID, click ID, and similar identifiers to associate a mobile device fingerprint request with a specific user or action.

Process Mobile iOS Fingerprint SDK

Email Validation Lookup
IP Address Reputation Lookup
iOS App Compatibility



Result Methods

Access the iOS device fingerprinting results of our json API for more intelligent decision making and custom rule generation to stop fraudsters and abusive users.

Field Description Type
message 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
success A boolean containing the request's success or failure status. True on success, false on failure. Boolean
request_id The unique ID associated with this request. Helpful for debugging and postbacks. String
fraud_score Number 0 - 100 describing how likely this device is to commit fraud. 0 being not at all, 100 being definitively fraud. We suggest blocking users greater than 85. Float
country_code A two character country code based on this user's IP address. String
region A string describing the region this user's IP is from. String
city A string describing the city this user's IP is from. String
ISP A string describing the ISP this user's IP belongs to. String
organization A string describing the Organization this user's IP belongs to. String
ASN The ASN assigned to the ISP this user's IP belongs to. Integer
latitude The latitude this user's IP is at. Float
longitude The longitude this user's IP is at. Float
is_crawler Returns true if this user's IP is from a known search engine crawler. Boolean
timezone Returns the timezone this user's IP is from. String
host Returns the hostname of this user's IP address. String
proxy Returns true if this user's IP is a known proxy. Boolean
vpn Returns true if this user's IP is a known VPN. Boolean
tor Returns true if this user's IP is a known or suspected TOR node. Boolean
recent_abuse Returns true if this user's IP has been reported for being abusive recently or if this device has been seen preforming abusive actions. Boolean
bot_status Returns true if this user's IP has been reported for botting or if this device has been seen preforming bot like actions. Boolean
connection_type Classification of the IP address connection type as "Residential", "Corporate", "Education", "Mobile", or "Data Center". String
device_suspicious Returns true if this device has suspicious properties or if this device has been seen preforming suspicious activities recently. Boolean
device_emulated Returns true if this device has been emulated or appears to have been emulated. Boolean
device_id A unique identifier for this device. String

Retrieve Results & Risk Analysis Using The Postback API Or Request List API

Postback Example to Retrieve Latest Request by UserID
Please make sure your initial API request passed a valid "userID" value (or any variable of your choice) using the "addCustomVariable" function. The variable name must be set on your custom tracking variables.

Retrieve multiple requests with the Request List API and also search by Device ID and IP Address.
Please make sure your initial API request passed a valid "userID" value (or any variable of your choice) using the "addCustomVariable" function. The variable name must be set on your custom tracking variables.

Explore our other APIs for user validation and fraud scoring, such as the IP Reputation SDK and Email Validation SDK.