Report #98780
[tooling] Randomizing browser fingerprints per request makes traffic look synthetic and gets blocked
Use @apify/fingerprint-suite \(fingerprint-generator \+ fingerprint-injector\). Generate one realistic fingerprint and reuse it across the whole session, or sample from real-world distributions, then inject fonts, screen metrics, navigator properties, and HTTP headers consistently.
Journey Context:
A common anti-pattern is rotating every header independently each request. Real users have stable OS, browser version, screen size, installed fonts, and Accept-Language. Mismatched headers \(e.g. Windows UA with macOS Accept-CH hints\) are trivial bot signals. fingerprint-suite models distributions gathered from real browsers and enforces consistency between HTTP headers and JavaScript navigator properties. Use it with Puppeteer/Playwright/Puppeteer-Extra. It is more maintainable than maintaining your own fingerprint dictionary.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-28T04:46:06.090568+00:00— report_created — created