Tool Review
Camoufox - Stealth Firefox for Undetectable Scraping
Learn how to use Camoufox, a stealth-patched Firefox browser, for undetectable web scraping that bypasses anti-bot systems.
Camoufox is a stealth-patched version of Firefox designed specifically for web scraping and automation. Unlike Chromium-based stealth solutions, it takes a different approach by modifying Firefox at the C++ level, making detection significantly harder.
What Makes Camoufox Different
Most stealth tools patch detection at the JavaScript level, which anti-bot scripts can detect. Camoufox patches Firefox's source code directly:
- No JavaScript patches, Fingerprint spoofing happens at the C++ engine level
- No CDP leaks, Firefox uses a different remote protocol than Chromium
- Realistic fingerprints, Generates device-consistent fingerprints from a BrowserForge database
- Human-like characteristics, Screen dimensions, fonts, and locale all match the spoofed OS
Installation
pip install camoufox
camoufox fetch # Downloads the patched Firefox binary
Basic Usage
from camoufox.sync_api import Camoufox
with Camoufox() as browser:
page = browser.new_page()
page.goto("https://bot.sannysoft.com")
page.screenshot(path="camoufox_test.png")
print(page.title())
With Custom Fingerprint and Proxy
from camoufox.sync_api import Camoufox
with Camoufox(
os="windows", # Spoof Windows fingerprint
proxy={
"server": "http://proxy.example.com:8080",
"username": "user",
"password": "pass"
},
humanize=True, # Add human-like mouse movements
screen={"width": 1920, "height": 1080}
) as browser:
page = browser.new_page()
page.goto("https://protected-site.com")
page.wait_for_load_state("networkidle")
content = page.content()
print(content[:500])
Async Support
import asyncio
from camoufox.async_api import AsyncCamoufox
async def scrape():
async with AsyncCamoufox(humanize=True) as browser:
page = await browser.new_page()
await page.goto("https://nowsecure.nl")
await page.wait_for_timeout(5000)
title = await page.title()
print(f"Title: {title}")
asyncio.run(scrape())
When to Use Camoufox
Choose Camoufox when:
- Chromium-based stealth tools are being detected
- You need a self-hosted browser automation solution
- The target site specifically fingerprints Chromium
Choose ScraperAPI instead when:
- You need to scale to thousands of concurrent requests
- You want zero infrastructure management
- You prefer a simple HTTP API over browser automation
Limitations
- Slower than HTTP-level scraping (it is still a full browser)
- Firefox has lower market share, which can be a signal on sites that track browser distribution
- Requires downloading the patched Firefox binary (~100MB)
Camoufox is one of the best self-hosted stealth browser options available and a strong alternative when Chromium-based tools fail.