Skip to content
Web Scraping

Kameleo Browser Explained (2026)

Kameleo is an antidetect browser built for automation, with two custom engines, a local API, and per-profile proxy support.

Rectangle Zenezen
September 29, 2026 4 min read
Kameleo Browser Explained (2026)
Click Here to Add Proxyon as a Trusted Source Add as a preferred source

Don't want to read?

Time is a precious resource, get the insights you need using your favorite AI chat.

TL;DR

Kameleo is an antidetect browser that masks fingerprints inside two custom engines, Chroma (Chromium) and Junglefox (Firefox), rather than patching them with JavaScript. It is built for developers, with a local API, SDKs in Python, JavaScript, and C#, Docker images, and support for Playwright, Puppeteer, and Selenium. You bring your own proxies, and pricing is based on concurrent browsers, with a capped free tier.

Kameleo is an antidetect browser that runs isolated profiles from one machine, each with its own fingerprint, cookies, and proxy. Most reviews come from competing vendors and get facts wrong. In this article, we'll explore how Kameleo works, how proxies fit in, and where it falls short.


What Is Kameleo

What Is Kameleo

Kameleo is developed in Budapest, Hungary, and dates to 2017. The founders came from IT security, and the effort goes into the masking engine, not a marketer's dashboard. Unlike GUI-first tools like Multilogin or GoLogin, the core is a local engine you control from code. It is built for scrapers and browser fleets, not one-click proxies and guided setup.


How Kameleo Masks Your Fingerprint

How Kameleo Masks Your Fingerprint

Chroma covers Chrome and Edge while Junglefox covers Firefox. Masking is compiled into the engine in C++ before any page script runs. Stealth plugins like puppeteer-extra-plugin-stealth patch APIs from JavaScript after load, so detection scripts can catch them. Engine-level masking has nothing to unwind, so Kameleo's docs say not to stack stealth plugins on top.

Intelligent Canvas Spoofing adds noise to canvas output rather than blocking it, since blocking is itself a red flag. Safari profiles are emulated through Chroma, not real WebKit, so Chrome and Firefox are safer for desktop.

Chroma kernels ship within five days of each stable Chrome release, so the claimed version matches what the engine exposes. Public tests on the Kameleo GitHub repo show it holding against Cloudflare Turnstile, Reddit, and Google Search.


Profiles and Proxies

Profiles and Proxies

A profile bundles a fingerprint with cookies, storage, history, and settings like the proxy. Local profiles are unlimited on every plan, and mobile profiles emulate Android Chrome and iOS Safari without a paired phone.

Kameleo masks the browser, not the network. Each profile takes its own HTTP, HTTPS, SOCKS5, or SSH proxy, with geolocation and timezone matched to the IP. IP quality is on you, and a clean fingerprint on a flagged IP still gets blocked.

Match proxy country to the fingerprint's locale, never share one proxy across profiles, and keep each pair stable. Kameleo cannot swap the proxy mid-session, so rotation happens on the provider's side. Residential proxies fit account work and protected targets, and datacenter proxies keep bulk scraping with short-lived profiles cheap.

Also Read: Sticky Sessions vs Rotating Proxies


Automating Kameleo

Automating Kameleo

The Engine serves a local API on port 5050. Playwright and Puppeteer connect over the Chrome DevTools Protocol, Selenium over WebDriver, and existing scripts only change where they point. Puppeteer works with Chroma only, while Playwright's connect_over_cdp handles both engines. Use one profile per identity, not multiple contexts in one browser. Example:

PYTHON
from kameleo.local_api_client import KameleoLocalApiClient
from kameleo.local_api_client.models import CreateProfileRequest, ProxyChoice, Server
from playwright.sync_api import sync_playwright

client = KameleoLocalApiClient(endpoint="http://localhost:5050")
fps = client.fingerprint.search_fingerprints(device_type="desktop", browser_product="chrome")

profile = client.profile.create_profile(CreateProfileRequest(
    fingerprint_id=fps[0].id,
    name="us-account-01",
    proxy=ProxyChoice(
        value="socks5",
        extra=Server(host=PROXY_HOST, port=PROXY_PORT, id=PROXY_USER, secret=PROXY_PASS),
    ),
))
client.profile.start_profile(profile.id)

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")

client.profile.stop_profile(profile.id)

Also Read: Plug Proxyon Into Playwright


Docker, Headless, and Pricing

Docker, Headless, and Pricing

Kameleo runs on Windows and macOS, and Docker images for Linux and Windows scale across servers with no device limit, since licensing is per concurrent browser, not per machine or profile. Headless mode keeps identical masking with less RAM but needs a higher plan tier. A free tier exists despite competitor claims, capped at two concurrent browsers and monthly usage time, and paid plans include unlimited seats.


FAQ Section

FAQ

Is Kameleo free?

Yes. The free tier includes two concurrent browsers, both kernels, and unlimited local profiles, with a monthly usage time cap.

Does Kameleo include proxies?

No. You attach your own HTTP, HTTPS, SOCKS5, or SSH proxy per profile, and Kameleo tests it before launch.

Does Kameleo work with Playwright?

Yes, with both Chroma and Junglefox. Puppeteer is Chroma only, and Selenium connects through WebDriver.

Can I run Kameleo on Linux?

Yes, through the official Docker image, with headless mode on the higher plan tiers.

Can I use Kameleo on multiple devices?

Yes. There is no device limit. Licensing counts concurrent browsers, so you can install Kameleo on as many machines or servers as you need without changing the cost.

What is a Kameleo profile?

A profile is a reusable container holding a fingerprint, persistent state like cookies and storage, and settings such as the proxy and extensions. It is tied to a specific kernel version and can be exported, imported, and shared.

How is Kameleo different from Multilogin and GoLogin?

Kameleo is built around a local API and SDKs for automation, runs a Firefox-based engine alongside its Chromium one, and ships Docker images. Multilogin and GoLogin are GUI-first tools for manual multi-account work, easier to start with but with less control from code.


Final Thoughts

Kameleo is the right call when you automate browsers at scale and need masking that lives in the engine rather than a plugin. It takes more setup than GUI-first tools, but for scraping fleets and multi-account automation driven from code, nothing in its category is as developer-friendly. The browser is only half the job, so pair each profile with a clean proxy that matches its locale and keep that pair stable.

Get back to building.

We'll handle the proxies.