Documentation menu

Playwright & Puppeteer

Clearcote is just Chromium, so it works as a drop-in browser for the automation tools you already use.

The drop-in way (works today)

Point your launcher at the Clearcote binary with executablePath (Node) or executable_path (Python), and pass identity options as args:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(
        executable_path=r"C:\clearcote\chrome.exe",
        headless=False,
        args=[
            "--fingerprint=seed-123",
            "--fingerprint-platform=windows",
            "--timezone=America/New_York",
        ],
    )
    page = browser.new_page()
    page.goto("https://abrahamjuliot.github.io/creepjs/")
    browser.close()

The SDK way (planned for v1.0)

A thin clearcote package wraps the above so identity options become named arguments and launch() returns a standard Playwright Browser:

from clearcote import launch

browser = launch(fingerprint="seed-123", platform="windows", brand="Chrome")
page = browser.new_page()
page.goto("https://example.com")
browser.close()

Profiles & persistence

Keep a stable identity across runs by reusing the same --fingerprint seed, and persist cookies/storage with a user-data dir:

python
browser = p.chromium.launch_persistent_context(
    user_data_dir=r"C:\clearcote\profiles\acme",
    executable_path=r"C:\clearcote\chrome.exe",
    headless=False,
    args=["--fingerprint=acme-tenant-7"],
)
Tip: derive the seed from your own account/tenant id so each identity is reproducible — same seed, same browser fingerprint, every time. See the full switch list under Fingerprint flags.