Camofox Browser is an anti-detection browser server that gives AI agents a fingerprint-spoofing Firefox to drive over a REST API. It is meant for developers building agents, crawlers and scraping jobs that keep getting stopped by Cloudflare challenges and bot-detection scripts before they ever reach the page they came for, and who would rather run one local service than maintain a pile of stealth patches.
What it does
The project runs a browser server on your machine and exposes it over HTTP. One REST call spins up a stealth browser tab, and your code drives that tab instead of launching Playwright or headless Chrome itself. The README and the project's own description both frame it as a drop-in swap for Puppeteer or Playwright, so the intent is that existing automation code keeps its shape rather than being rewritten around a new paradigm.
Two things are aimed squarely at agent use rather than ordinary scraping. The first is that the API is a server, not a library: an agent process, a worker queue or a language other than JavaScript can all talk to the same browser over HTTP. The second is stable element references, so an agent that decides to click something clicks the same thing on the next step instead of chasing a selector that shifted after a re-render.
It is MIT-licensed, written in JavaScript for Node, and published to npm as camofox-browser.
How it works
The stealth does not come from this repository. Camofox Browser stands on Camoufox, a Firefox fork that spoofs fingerprints at the C++ implementation level, and wraps that engine in a REST API.
That distinction is the whole argument of the project. Conventional stealth plugins run inside the page: they overwrite JavaScript properties after the browser has already started, which leaves detectable seams, and a detector that knows what those patches look like can treat the patch itself as the fingerprint. The README puts it bluntly — stealth plugins become the fingerprint.
Camoufox instead patches the browser before JavaScript ever sees the values. The README names navigator.hardwareConcurrency, WebGL renderers, AudioContext, screen geometry and WebRTC as properties handled at the implementation level rather than shimmed on top. No shims, no wrappers, no tells, as both the README and the video script put it.
Getting started
Setup is a clone and two npm commands:
git clone https://github.com/jo-inc/camofox-browser && cd camofox-browsernpm install && npm start- the server comes up on
http://localhost:9377
From there you talk to the REST API rather than to a browser binary. There is also an npm package, so pulling it in as a dependency is an option alongside running the checked-out repository directly.
When to use it / when not
Reach for it when an agent has to browse the open web as it actually exists — sites behind anti-bot layers, pages that fingerprint headless Chrome instantly, flows where a blocked request is the difference between a working agent and a broken one. It also suits teams who want the browser to be a service with a network boundary, so several agents or non-JavaScript clients can share one stealth setup.
Skip it in the obvious cases. If the site you need offers an API, or you own the site, a plain HTTP client is simpler and far less fragile. If your automation depends on Chromium-specific behaviour or Chrome DevTools Protocol details, remember the engine underneath here is Firefox, however closely the API tracks Puppeteer and Playwright — a drop-in swap at the API level is not the same as an identical rendering and debugging surface.
Two more caveats worth being honest about. The published materials make an architectural argument about C++-level spoofing but do not include benchmark numbers against named detection vendors, so treat the claims as a design rationale to test on your own targets rather than a measured result. And evading bot detection is a decision with terms-of-service and legal weight attached; the tool removes the technical obstacle, not the responsibility.
Alternatives
Plain Playwright or Puppeteer remain the right answer whenever detection is not the problem — they are better documented, far more widely deployed and have no extra service to run. Puppeteer with a stealth plugin is the usual next step, and it is precisely the approach this project argues against, on the grounds that after-the-fact JavaScript patching leaves its own signature.
You can also use Camoufox directly if you want the hardened engine without a REST layer in front of it. What Camofox Browser adds on top is the server, the agent-friendly API shape and the stable element references.
The repository has collected roughly 9,500 stars and 1,000 forks since it was created in January 2026, with commits continuing through September, so it is young but visibly alive. Take it seriously if you are shipping AI agents or scrapers that must work against real, defended websites and you are tired of the stealth-plugin arms race; the honest way to evaluate it is to run the server locally, point it at the sites that currently block you, and see whether a browser patched below the JavaScript layer gets through where your current stack does not.