Getting Started
Requirements
- HTTPS: OverpoweredJS requires that your web page is served over HTTPS.
- Supported Browsers: OverpoweredJS supports all modern browsers, including Chromium-based browsers (Google Chrome, Microsoft Edge, Opera), as well as Firefox, Brave, and Safari.
Generate an API Key
Each API key is pegged to a request type when generated via the Dashboard. Each request type generates a unique identifier (clusterUUID
) differently and deducts a different amount of credits from your monthly allowance.
You can create an API key under the Config section in your project.
Request Types
-
Basic: The
clusterUUID
is generated without incorporating third-party IP intelligence, resulting in broader user grouping. Users with identical browser fingerprints will share the sameclusterUUID
. -
Standard: The
clusterUUID
incorporates third-party IP intelligence, such as country, ISP, and VPN indicators, significantly improving uniqueness compared to thebasic
request. Users with identical browser fingerprints and the same ISP or IP attributes may share the sameclusterUUID
. -
Advanced: The
clusterUUID
utilizes Maxmind IP intelligence for maximum accuracy and uniqueness. This is particularly effective for distinguishing users on privacy networks like iCloud Private Relay. Static IP detection also allows pinning aclusterUUID
to specific non-anonymous IP addresses, further reducing potential collisions.
Rate Details
- Basic: 1 credit
- Standard: 10 credits
- Advanced: 30 credits
Installation
- CDN
- NPM
<script src="https://cdn.overpoweredjs.com/loader/opjs"></script>
npm install overpoweredjs
Basic Usage
Invoke the API by calling:
opjs({ API_KEY: 'my-api-key' }).then(fp => {
console.log(fp);
});
Example
This function retrieves the response object, which you can then send to your server or use directly in your client-side code.
Running opjs()
on page load can degrade bot detection results. For effective bot detection, it is advised to load the script on page load and execute opjs()
only after the user has completed an action, such as clicking a button.
Here is a minimal example of integrating OverpoweredJS into your web page:
<!DOCTYPE html>
<html>
<head>
<title>OverpoweredJS Integration Example</title>
<script src="https://cdn.overpoweredjs.com/loader/opjs"></script>
</head>
<body>
<button id="detectBot">Check Bot Status</button>
<script>
document.getElementById('detectBot').addEventListener('click', function () {
opjs({ API_KEY: 'my-api-key' }).then(fp => {
console.log('Fingerprint:', fp);
// Send fingerprint data to your server
fetch('/your-endpoint', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(fp),
})
.then(response => response.json())
.then(data => {
console.log('Server Response:', data);
})
.catch(error => {
console.error('Error:', error);
});
});
});
</script>
</body>
</html>