Custom Fingerprint
Introduction
Browser fingerprinting utilizes your browser and device configuration information to create a near-unique “digital fingerprint,” which can be used to track your online activity even without cookies. The good news is that fingerprint configuration is optional in the scraping browser. We offer deep customization capabilities for browser fingerprints, such as core parameters like browser user agent, time zone, language, and screen resolution. Functionality can be extended through custom startup parameters. This is suitable for scenarios such as multi-account management, data collection, and privacy protection, using scrapeless’s self-built Chromium browser to completely avoid detection. By default, using our Scraping Browser service will generate a random fingerprint for each session.
Core Capabilities and Limitations
User-Agent control
- Capability: Supports customization of the User-Agent string in HTTP request headers, allowing definition of the browser engine version and operating system type.
- Limitation: Currently unable to modify rendering engine details (e.g., WebGL rendering features).
Screen Resolution Mapping
- Capability: Supports customization of the return values for
screen.width
andscreen.height
to simulate basic device screen sizes (must conform to physical aspect ratios). - Limitation: Currently unable to fake the device pixel ratio (DPR) or Retina screen characteristics.
Platform Attribute Locking
- Capability: Allows setting a fixed return value for
navigator.platform
(only Windows/macOS/Linux supported), which affects browser feature detection logic. - Limitation: Currently unable to modify the operating system version number or hardware architecture information.
Other Limitations:
This feature only supports limited adjustments to standardized parameters natively exposed by the browser. It does not involve hardware-level fingerprinting or advanced behavioral masking.
Application Scenarios
- Basic Multi-Account Isolation: Avoid simple account association detection by differentiating User-Agent and screen resolution.
- Lightweight Data Collection: Simulate a mainstream browser environment (Windows + Chrome) to bypass the target website’s basic anti-scraping strategies (e.g., User-Agent blacklist).
- Compatibility Testing: Verify the website’s basic rendering logic under different operating systems (Windows/macOS) and screen sizes.
Operation Guide
Fingerprint Parameter Description
Parameter Name | Type | Description |
---|---|---|
userAgent | string | Defines the User-Agent string in the browser’s HTTP request header, containing key identifying information such as the browser engine, version number, and operating system. Websites use this value to identify the client environment, affecting content adaptation and functionality. Default value: Follows the browser |
platform | enum | Specifies the return value of the JavaScript navigator.platform property, indicating the operating system type of the runtime environment. Optional values are “Windows”, “macOS”, or “Linux”. This parameter will be used for feature detection and the enabling judgment of system-related functions. Default value: Windows |
screen | object | Defines the physical characteristics parameters of the display device reported by the browser, directly mapped to the JavaScript window.screen object. |
screen.width | number | Physical screen width (pixels), mapped to the screen.width property, affecting media queries and responsive layout. Default value: Follows random fingerprint, minimum value 640. |
screen.height | number | Physical screen height (pixels), mapped to the screen.height property, determining device resolution characteristics together with width. Default value: Follows random fingerprint, minimum value 480. |
localization | object | Controls the browser’s localization environment configuration, including language, region, and time zone parameters, affecting display format and content localization behavior. |
localization.timezone | string | A time zone identifier conforming to the IANA time zone database format (e.g., “Asia/Shanghai”), controlling the default time zone behavior of JavaScript date objects and Intl.DateTimeFormat output, which is a key component of the time zone fingerprint. Default value: America/New_York |
localization.languages | [string] | The browser’s supported language priority list, mapped to the navigator.languages property and the HTTP Accept-Language request header, determining the website’s content language selection logic. Default value: “en”, “en-US” |
userAgent
Type: string
Description: Defines the User-Agent string in the browser’s HTTP request header, containing key identifying information such as the browser engine, version number, and operating system. Websites use this value to identify the client environment, affecting content adaptation and functionality.
Example Values:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.6834.83 Safari/537.36
platform
Type: enum
Description: Specifies the return value of the JavaScript navigator.platform
property, indicating the operating system type of the runtime environment. This parameter will be used for feature detection and the enabling judgment of system-related functions.
Example Acceptable Values:
Value | Description |
---|---|
”Windows” | Windows operating system, default value |
”macOS” | macOS operating system |
”Linux” | Linux operating system |
screen
Type: object
Description: Defines the physical characteristics parameters of the display device reported by the browser, directly mapped to the JavaScript window.screen
object.
screen.width: Physical screen width (pixels), affecting media queries and responsive layout, minimum value 640. screen.height: Physical screen height (pixels), determining device resolution characteristics together with width, minimum value 480.
Example Values:
width | height |
---|---|
1920 | 1080 |
1366 | 768 |
1280 | 720 |
768 | 1280 |
localization
Type: object
Description: Controls the browser’s localization environment configuration, including language, region, and time zone parameters, affecting display format and content localization behavior.
localization.timezone: A time zone identifier conforming to the IANA time zone database format, controlling the default time zone behavior of JavaScript date objects and Intl.DateTimeFormat
output, which is a key component of the time zone fingerprint.
Example Values:
America/New_York
Asia/Shanghai
Europe/London
localization.languages: The browser’s supported language priority list, mapped to the navigator.languages
property and HTTP Accept-Language
request header, determining the website’s content language selection logic.
Example Values:
["fr-FR", "en-US", "zh-CN"]
["en-US", "es-ES", "de-DE"]
Reference: list of tz database time zones
Example Code
const puppeteer =require('puppeteer-core');
// custom browser fingerprint
const fingerprint = {
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.1.2.3 Safari/537.36',
platform: 'Windows',
screen: {
width: 1280, height: 1024
},
localization: {
languages: ['zh-HK', 'en-US', 'en'], timezone: 'Asia/Hong_Kong',
}
}
const query = new URLSearchParams({
token: 'APIKey',// required
session_ttl: 180,
proxy_country: 'ANY',
fingerprint: encodeURIComponent(JSON.stringify(fingerprint)),
});
const connectionURL = `wss://browser.scrapeless.com/browser?${query.toString()}`;
(async () => {
const browser = await puppeteer.connect({browserWSEndpoint: connectionURL});
const page = await browser.newPage();
await page.goto('https://www.scrapeless.com');
const info = await page.evaluate(() => {
return {
screen: {
width:screen.width,
height:screen.height,
},
userAgent:navigator.userAgent,
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
languages:navigator.languages
};
});
console.log(info);
await browser.close();
})();
Ethical Statement
We advocate for responsible fingerprint customization:
- Only for legally authorized scenarios (such as enterprise data compliance collection, internal risk control testing).
- It is forbidden to use forged fingerprints to engage in online fraud or infringe on user privacy.