browserforge
Intelligent browser header & fingerprint generator
What it is and what it does
BrowserForge generates HTTP headers and browser fingerprints that match real-world traffic distributions rather than static defaults. It uses a Bayesian generative network trained on actual browser telemetry to produce headers and device properties (screen dimensions, navigator attributes, WebRTC data) that appear natural to web servers and anti-bot systems. The package supports fine-grained constraints: you can specify browser names and version ranges, operating systems, device types, locales, and HTTP versions, and the generator selects from them based on their observed frequency in the wild.
The package is designed for web scraping, testing, and automation scenarios where realistic browser identification is needed to avoid detection. It provides both a simple one-line API (HeaderGenerator().generate()) and a detailed configuration layer for complex requirements like matching a specific User-Agent or mocking WebRTC. Dependencies are minimal (apify_fingerprint_datapoints for the underlying data, click for CLI utilities, typing_extensions for type hints), and the package supports Python 3.8 through 3.14.
Use it for:
- Generate realistic HTTP headers for web scraping libraries like requests or Playwright to avoid bot detection.
- Create matching browser fingerprints (screen, navigator, WebRTC) for headless browser automation that needs to pass fingerprinting checks.
- Test web applications' handling of diverse browser and device combinations without manually crafting headers.
- Rotate through realistic browser/OS/device combinations in a session to distribute requests across natural traffic patterns.
- Generate headers constrained to specific browser versions or operating systems for targeted testing or compatibility checks.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates realistic browser headers and device fingerprints that mimic actual web traffic patterns, using a Bayesian generative model to avoid detection.
Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and solves a real problem in web scraping and automation. The permissive Apache-2.0 license poses no barrier. Install it if you need realistic browser headers or fingerprints for scraping, testing, or automation; skip it if you don't interact with anti-bot systems or fingerprinting checks.
Install
browserforge on PyPI
pip
pip install browserforgeuv
uv add browserforgepoetry
poetry add browserforgeInstalling browserforge
Before you install
Low install friction with a pure-Python wheel and only three runtime dependencies (apify_fingerprint_datapoints, click, typing_extensions). Active maintenance with recent commits and 1215 repository stars.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.
Quickstart
pip install browserforge
from browserforge.headers import HeaderGenerator
headers = HeaderGenerator(browser='chrome', os='windows')
header_dict = headers.generate()
# Use with requests: session.headers = header_dict
Verify before relying
- Whether the Bayesian model's generation speed (claimed 0.1-0.2 milliseconds) holds under production load with many concurrent calls.
- How well the generated fingerprints evade modern anti-bot systems in practice, since evasion effectiveness depends on target defenses.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (<4.0,>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — apify_fingerprint_datapoints, click, typing_extensions |
| Maintenance | actively maintained — 192 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,201,302/month — #3,212 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: browserforge-1.2.4-py3-none-any.whl
Keywords: client, headers, fingerprint, generator, browser, http, scraping, requests, playwright
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
apify-fingerprint-datapointsProvides a dataset of browser fingerprint…
permissive · top 5,000 on PyPI
camoufoxPython wrapper around Playwright that…
permissive · top 5,000 on PyPI
fake-headersGenerates realistic User-Agent strings and HTTP…
permissive · top 15,000 on PyPI
fake-http-headerGenerates realistic-looking HTTP request…
permissive · top 15,000 on PyPI
fake-useragentGenerates random or browser-specific user-agent…
permissive · top 5,000 on PyPI
device-detectorParses user agent strings and client hints to…
unclear · top 15,000 on PyPI
ua-generatorGenerates realistic, randomized user-agent…
permissive · top 5,000 on PyPI
primpHTTP client library that mimics real web…
permissive · top 5,000 on PyPI
user-agentGenerates random, valid web user agent strings…
permissive · top 15,000 on PyPI
scrapy-impersonateA Scrapy download handler that replaces…
permissive · top 15,000 on PyPI