Skip to content
kameleo-ioPublic

About

Anti-detect browser for web scraping and automation. Engine-level fingerprint masking for Chromium and Firefox. Self-hosted, Docker-ready. Integrates with Selenium, Playwright, and Puppeteer via SDKs in Python, JavaScript, and C#.

Topics

Resources

Stars

212 stars

Watchers

8 watching

Forks

Latest commit

Β 

History

129 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kameleo Anti-Detect Browser

Automate browsers at scale. Stop getting blocked.

Self-hosted, always current, no per-request pricing

Docker Image Version npm PyPI NuGet

⭐ Detectors evolve daily. Star us to keep Kameleo one step ahead.


Manually maintaining fingerprint configurations that get detected within hours? Kameleo keeps pace with anti-bot systems automatically, so you stop firefighting and build your actual product.

Blocked Without Kameleo. Undetected With Kameleo.

βœ… Validated against real services

We run automated tests frequently. Here are the results with recordings of each run.

Site Chroma Junglefox Vanilla Chrome
Fingerprint.com βœ…
Watch
βœ…
Watch
❌
Watch
Reddit βœ…
Watch
βœ…
Watch
❌
Watch
Iphey ❌
Watch
βœ…
Watch
❌
Watch
Pixelscan Fingerprint Scan βœ…
Watch
❌
Watch
❌
Watch
BrowserScan βœ…
Watch
βœ…
Watch
❌
Watch
Brotector βœ…
Watch
βœ…
Watch
❌
Watch
CreepJS βœ…
Watch
βœ…
Watch
βœ…
Watch
SannySoft - Antibot βœ…
Watch
βœ…
Watch
❌
Watch
Cloudflare Challenge ❌
Watch
❌
Watch
❌
Watch
Google Search βœ…
Watch
βœ…
Watch
❌
Watch
Amazon βœ…
Watch
βœ…
Watch
βœ…
Watch
Adscore βœ…
Watch
βœ…
Watch
βœ…
Watch
Vinted βœ…
Watch
βœ…
Watch
βœ…
Watch

View masking report β†’

πŸ’‘ Why Kameleo?

Built for developers who want control.

Predictable pricing at any scale

No per-request pricing. Your cost is fixed by the number of concurrent browsers β€” run 100 million requests a month and pay the same as running one million. At 40 concurrent browsers you know your cost on day one and at 10Γ—. Competitors charge per API call, per minute, or per profile slot; here the economics stay in your control.

Your data, your infrastructure

Your scraped data never leaves your servers. No vendor lock-in. Deploy on any machine: cloud VM, bare metal, or your own datacenter.

Always current

Stop manually re-testing which fingerprint configuration still works this week. We ship Chroma kernels within 5 days of every Chrome stable release. Junglefox (Firefox-based) follows every 2 months. Multikernel support lets you run multiple browser versions simultaneously, no forced upgrades.

Cloud-native by design

Docker images available for both Linux and Windows containers. Run headlessly at scale, deploy across multiple VMs, and integrate with your CI/CD pipeline. Linux container deployments are fully supported, Kameleo is not Windows-only.

Your stack, unchanged

Works with Selenium, Puppeteer, and Playwright with no framework rewrite. SDKs in Python, JavaScript, and C#. Connect to your existing automation code in minutes.

✨ Features

  • Fingerprints from real devices, always current β€” Millions of profiles sourced from real hardware, updated continuously. When anti-bot systems update, so do the fingerprints
  • Mobile browser profiles β€” Engine-level mobile emulation across Android and iOS profiles. Supports Chrome on Android and Safari on iOS out of the box
  • Multi-engine browser pool β€” Run Chroma (Chrome) and Junglefox (Firefox) simultaneously to diversify fingerprints across targets
  • Persistent profiles and session warmup β€” Reuse profiles, import/export cookies. Profiles behave like returning users, reducing block and shadow-ban risk
  • Proxy integration β€” HTTP, HTTPS, SOCKS5, and SSH tunnel support. Geo-location and timezone auto-matched to your proxy IP
  • Headless mode β€” UI-free sessions on Business plan and above; same fingerprint masking quality as headed mode
  • Docker containers β€” Linux and Windows Docker images; horizontal scaling without Windows-only constraints
  • Multikernel β€” pin any browser version β€” Run multiple Chroma and Junglefox versions side-by-side; upgrade on your schedule
  • No device limits β€” Licensing is per concurrent browser, not per machine. Deploy across as many servers as your workload demands

πŸ“Š How we compare

Anti-detect browsers

GUI-first tools built around manual workflows. If you're automating at scale, you'll be working against the grain.

Feature Kameleo Multilogin GoLogin
Chrome engine βœ… Chroma βœ… Mimic βœ… Chromium-based
Firefox engine βœ… Junglefox ❌ ❌
Kernel update speed ≀5 days No SLA No SLA
Pricing unit Concurrent browsers Profiles Profiles
Typed SDK packages βœ… Python / JS / C# ❌ ❌
Automation frameworks βœ… Selenium / Puppeteer / Playwright βœ… Selenium / Puppeteer / Playwright βœ… Selenium / Puppeteer
Headless mode βœ… ❌ βœ…
Docker / container deployment βœ… ❌ ❌
Data stays on your servers βœ… ❌ ❌
Free tier βœ… ❌ βœ…

Cloud-based web unlockers

Cloud-based scraping APIs: all requests routed through vendor infrastructure, costs tied to usage volume.

Feature Kameleo Zyte ScrapeNinja
Self-hosted βœ… ❌ ❌
Data stays on your infrastructure βœ… ❌ ❌
Per-request pricing ❌ βœ… βœ…
Fixed concurrent-browser pricing βœ… ❌ ❌
Bring your own proxy βœ… ❌ ❌
Bring your own Playwright / Selenium / Puppeteer βœ… ❌ ❌
Local API + SDKs (Python / JS / C#) βœ… ❌ ❌
Docker / container deployment βœ… ❌ ❌
Free tier βœ… ❌ Trial only βœ… 100 req/mo

Open source / community tools

Free to run, but the maintenance cost lands entirely on you β€” keeping up with every new fingerprinting vector, debugging breakage after Chrome updates, handling the issue backlog yourself.

Feature Kameleo Camoufox undetected-chromedriver / puppeteer-stealth
Commercial support βœ… ❌ ❌
Chrome engine βœ… ❌ βœ…
Firefox engine βœ… βœ… ❌
Evasion method βœ… C++ engine-level βœ… C++ engine-level ⚠️ Binary patch / JS injection
Multi-framework SDKs βœ… Py / JS / C# Python only Py / JS
Mobile profiles βœ… ❌ ❌
Docker / container deployment βœ… ❌ ❌
Free to use βœ… Free tier βœ… Open source βœ… Open source

πŸ”Œ Integrations

Connect with your favorite automation framework:

Selenium
from selenium import webdriver

# Get the WebDriver URL from Kameleo
ws_endpoint = f'http://localhost:5050/webdriver/{profile.id}'
driver = webdriver.Remote(command_executor=ws_endpoint)

driver.get('https://example.com')

Full Selenium guide β†’

Puppeteer
import puppeteer from 'puppeteer';

const browser = await puppeteer.connect({
    browserWSEndpoint: `ws://localhost:5050/puppeteer/${profile.id}`,
});

const page = await browser.newPage();
await page.goto('https://example.com');

Full Puppeteer guide β†’

Playwright
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(f'ws://localhost:5050/playwright/{profile.id}')
    page = browser.contexts[0].new_page()
    page.goto('https://example.com')

Full Playwright guide β†’

πŸ“‚ Example Code

Working examples for every common scenario:

Example Python TypeScript C#
Create, duplicate, update, and launch profiles via the API View View View
Delete all profiles from your Kameleo workspace View View View
Control a Chrome profile with Selenium over WebDriver View View View
Control a Chrome profile with Playwright via CDP View View View
Control a Firefox (Junglefox) profile with Playwright View View View
Control a Chrome profile with Puppeteer via CDP View View View
Attach an HTTP, SOCKS5, or SSH proxy to a browser profile View View View
List, add, and delete cookies from a profile via the API View View View
Warm up a profile by browsing real sites to collect cookies View View View
Take a full-page screenshot of a website using Puppeteer View View View
Export and import profiles to/from .kameleo files on disk View View View
Launch a profile with CLI args, Selenium options, or prefs View View View
Upgrade a profile's browser kernel to the latest version View View View
Upload a file to a website using Selenium β€” β€” View
Automate an iOS/Safari mobile profile with Selenium on desktop View View View
Intercept and redirect network traffic using Selenium β€” β€” View
Intercept, redirect, and replace responses with Playwright View View View
Use init scripts, evaluate, screenshots, and video recording View View View

πŸ† Trusted by builders

"Kameleo's human-like browser automation and great fingerprint masking helped our customers with their scraping and automation projects." β€” Pierluigi Vinciguerra, Co-Founder, Databoutique.com & The Web Scraping Club

"Kameleo keeps our scraping and automation users unblocked at scale: reliable, low-maintenance, and cost-effective." β€” Jason Grad, Co-Founder of Massive

"Kameleo and Scrapoxy make scraping undetectable, fast and rock-solid β€” no bans, no downtime." β€” Fabien Vauchelles, Creator of Scrapoxy

πŸš€ Start in minutes

Works with your existing Playwright, Puppeteer, or Selenium setup β€” no framework rewrite required.

1. Install Kameleo:

# Windows
winget install Kameleo.App

# macOS
brew install --cask kameleo

# Docker (Linux & Windows containers available)
docker pull kameleo/kameleo-app:latest

2. Install the SDK:

npm install @kameleo/local-api-client playwright

3. Run your code:

import { KameleoLocalApiClient } from "@kameleo/local-api-client";
import { chromium } from "playwright";

const client = new KameleoLocalApiClient({ basePath: "http://localhost:5050" });

// Pick a real Chrome fingerprint and create a profile
const fingerprints = await client.fingerprint.searchFingerprints("desktop", undefined, "chrome");
const profile = await client.profile.createProfile({ fingerprintId: fingerprints[0].id });

// Connect with Playwright and automate
const browser = await chromium.connectOverCDP(`ws://localhost:5050/playwright/${profile.id}`);
const page = await browser.contexts()[0].newPage();

await page.goto("https://example.com"); // Running undetected βœ“

Also available in Python and C#. Supports Selenium, Puppeteer, and Playwright.

❓ FAQ

Is this really free?

Yes! The free tier includes 2 concurrent browsers, 300 minutes of browser usage per month, and 100 cloud profiles. No credit card required to start.

Why on-premise instead of a cloud API?
  • Predictable cost at scale β€” No per-request pricing. At 40 concurrent browsers you pay the same whether you run 1 million or 100 million requests that month
  • Data ownership β€” Your scraped data never leaves your infrastructure
  • No scraping rate limits β€” Only API calls to fetch fingerprints count against limits; your actual scraping traffic is unlimited
  • Compliance β€” Deploy on-premise for sensitive or regulated workloads
How often are browsers updated?

We ship new Chroma kernels within 5 days of every Chrome stable release. Junglefox (Firefox-based) is updated every 2 months. With multikernel support, you can run multiple versions simultaneously.

How is this different from stealth plugins?

Stealth plugins patch browser APIs at the JavaScript level β€” detectable by anything that runs before your patches or inspects the JS environment itself. Kameleo patches at the C++ engine level inside Chroma and Junglefox, so the masking is applied before any JavaScript ever runs and cannot be unwound from the page context.

When should I use Junglefox instead of Chroma?

Junglefox (Firefox-based) is valuable for two reasons: fingerprint diversity and target-specific detection logic. Some anti-bot systems apply stricter heuristics to Chrome than Firefox, or vice versa. Running a mix of Chroma and Junglefox profiles diversifies your browser engine signature across a session fleet. Junglefox is also the right choice when a target actively distinguishes Chrome from Firefox in its bot-detection stack.

What about headless mode?

Headless mode is available on Business and Enterprise plans. It launches UI-free browser sessions to reduce resource overhead.

How stable is Kameleo for long-running production workloads?

Kameleo is deployed in production by teams running multi-day, high-volume scraping operations. The CLI is designed for unattended runs. If you hit a stability problem, open an issue or reach us on chat and our support team responds directly.

🀝 Contributing

We welcome contributions! Here's how you can help:

  • Improve documentation β€” Found something unclear? Submit a PR to /docs
  • Add detection tests β€” Know a bot detector we should test against? Check our masking report tests
  • Report issues β€” Open an issue for bugs or feature requests
  • Join the community β€” Ask questions, share feedback, or get help on Discord

Made with ❀️ by the Kameleo Team

Website Β· Documentation Β· Discord

About

Anti-detect browser for web scraping and automation. Engine-level fingerprint masking for Chromium and Firefox. Self-hosted, Docker-ready. Integrates with Selenium, Playwright, and Puppeteer via SDKs in Python, JavaScript, and C#.

Topics

Resources

Stars

212 stars

Watchers

8 watching

Forks

Releases

Contributors

Languages