Skip to main content

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 same clusterUUID.

  • Standard: The clusterUUID incorporates third-party IP intelligence, such as country, ISP, and VPN indicators, significantly improving uniqueness compared to the basic request. Users with identical browser fingerprints and the same ISP or IP attributes may share the same clusterUUID.

  • 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 a clusterUUID to specific non-anonymous IP addresses, further reducing potential collisions.

Rate Details

  • Basic: 1 credit
  • Standard: 10 credits
  • Advanced: 30 credits

Installation

page.html
<script src="https://cdn.overpoweredjs.com/loader/opjs"></script>

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.

note

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>