Scraping BrowserFeaturesAdvanced Privacy & Anti-DetectionCustom Fingerprint

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 and screen.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 NameTypeDescription
userAgentstringDefines 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
platformenumSpecifies 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
screenobjectDefines the physical characteristics parameters of the display device reported by the browser, directly mapped to the JavaScript window.screen object.
screen.widthnumberPhysical screen width (pixels), mapped to the screen.width property, affecting media queries and responsive layout. Default value: Follows random fingerprint, minimum value 640.
screen.heightnumberPhysical screen height (pixels), mapped to the screen.height property, determining device resolution characteristics together with width. Default value: Follows random fingerprint, minimum value 480.
localizationobjectControls the browser’s localization environment configuration, including language, region, and time zone parameters, affecting display format and content localization behavior.
localization.timezonestringA 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:

ValueDescription
”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:

widthheight
19201080
1366768
1280720
7681280

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.