Turn any scraper into an undetectable browser fingerprinting machine
GitHub RepoImpressions370

Turn any scraper into an undetectable browser fingerprinting machine

@githubprojectsPost Author

Project Description

View on GitHub
# Turn Your Scraper Into an Undetectable Browser Fingerprinting Machine

Ever tried scraping a site and got instantly blocked? Most anti bot systems aren't just checking your IP. They're looking at your browser fingerprint: canvas, WebGL, fonts, screen resolution, even the way your GPU renders a triangle. If your scraper doesn't match a real browser's fingerprint, you're toast.

The folks at Apify just open sourced **Fingerprint Suite**, and it essentially lets you turn any scraper (Puppeteer, Playwright, or even pure HTTP requests) into a stealth machine that looks exactly like a real user. It's not obfuscation, it's legit fingerprint generation.

## What It Does

Fingerprint Suite is a collection of tools that generate or inject realistic browser fingerprints into your automation scripts. It works with:

- **Puppeteer** (via a stealth plugin)
- **Playwright** (via a fixture or custom context)
- **Plain requests** (by generating headers and fingerprint data manually)

You give it a target (e.g., "Chrome 120 on Windows 10") and it fills in all the missing pieces: WebGL vendor, canvas noise, font list, audio context, timezone, etc. The generated fingerprint is consistent (so you don't look like a bot flipping settings per request) and statistically indistinguishable from a real browser.

## Why It’s Cool

The biggest pain point in web scraping is not getting banned before you even start. Most bots trip on obvious things like missing `navigator.webdriver` flag or a uniform screen resolution. Fingerprint Suite solves this by:

- **Generating correlated fingerprints.** If it picks a Windows machine, the screen dimensions, font list, and GPU vendor all match that OS. No weird mismatches.
- **Auto-updating fingerprint signatures.** The tool source data from real browser runs, so it stays current with Chromium updates (unlike static JSON files that rot).
- **Seamless integration.** For Puppeteer, it takes 3 lines of code. For Playwright, you just add a fixture. No monkey patching or manual header injection.
- **Full control.** You can seed the fingerprint generator for reproducibility, or force specific parameters (e.g., always use a mobile device).

Real talk: This is the kind of tool that separates "I'll just set a user agent" from "I pass every single anti detect test."

## How to Try It

You can start in under 5 minutes:

```bash
# For Puppeteer
npm install puppeteer @apify/fingerprint-suite
const { createPuppeteerFingerprint } = require('@apify/fingerprint-suite');

// Generate a fingerprint once
const fingerprint = await createPuppeteerFingerprint({ 
  browserName: 'chrome', 
  browserVersion: '120', 
  operatingSystem: 'windows' 
});

// Apply it to your browser context
const page = await browser.newPage();
await fingerprint.applyToPage(page);

Or check the GitHub repo for Playwright examples, HTTP request usage, and full API docs. There's also a demo that shows you how your scraped fingerprint looks on sites like amiunique.org.

Final Thoughts

Fingerprint Suite is one of those "why didn't this exist as a proper open source package" tools. It's not a magic bullet, but it's the closest thing to a set and forget solution for browser fingerprinting in scrapers. If you've ever spent an afternoon debugging why your headless Chrome was flagged, you'll appreciate the engineering.

Pair it with good proxy rotation and respectful request patterns, and you'll have a scraper that looks like a human from every angle. Plus, it's open source, so you can audit exactly what gets injected (no creepy surveillance code).


Found this useful? We tweet about open source projects like this daily. Follow us [@githubprojects] for more dev tools.

Back to Projects
Project ID: 356d8324-5991-40ba-94a6-4c4ed06a20afLast updated: May 13, 2026 at 08:30 AM