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.