Skip to content
Capabilities

Everything your agents need to run.

Every capability below ships in the current open-source build. Roadmap items are labeled separately, at the bottom — nothing here is aspirational.

▚ 01

Sessions & CDP

Warm-pooled cloud browsers your code connects to like a local one.

Warm Object Pool

Sessions are claimed from a pre-warmed pool, not cold-launched.

Drop-in connectOverCDP

Point unmodified Playwright or Puppeteer at the returned cdp_url.

Sessionless connect

Connect with just an API key; a session is created for you.

Live view

Watch a session render in an embeddable frame.

▚ 02

OS-level control

Drive the browser over plain REST — no client library required.

goto

Navigate the active tab.

click

By coordinates or CSS selector.

type / scroll

Keyboard and wheel input mapped to raw CDP.

screenshot

Binary PNG of the current page.

▚ 03

perform-web-task (agentic)

Hand the browser a goal and let an LLM drive it to completion.

Sync & async

Block for the result or poll a workflow to completion.

Live step streaming

Subscribe to /ws and watch each agent step as it happens.

Structured results

Return JSON shaped by your output schema.

Snapshot loop

Accessibility-style page snapshot → model → action → repeat.

▚ 04

Any model, any auth

Bring your own model and your own credentials — three ways.

Claude · Codex · Grok · Kimi

One provider registry, four backends.

API key

Set a provider key and go.

OAuth via CLI (ACP)

Drive an already-logged-in agent CLI — no raw key needed.

Auto-pick

Uses whichever provider has a credential available.

▚ 05

Native MCP server

Expose the browser as tools to any Model Context Protocol client.

browser_navigate / snapshot

Read pages as accessibility snapshots.

browser_click / type / screenshot

Full interaction surface.

Any MCP client

Claude, Cursor, or your own agent.

Backed by real sessions

Every tool call drives a live cloud browser.

▚ 06

Drop-in compatibility

Your existing Anchor code works by swapping one base URL.

anchor-api-key header

Exact auth header, replicated.

{data:{…}} envelopes

Wire-shaped responses SDKs expect.

Root-path CDP

CDP WebSocket where the SDK reconstructs it.

Official SDKs

TS/Python Anchor SDKs work unchanged.

▚ 07

Profiles & extensions

Persist browser state across sessions and load your own extensions.

Named profiles

/v1/profiles — a persistent user-data-dir reused across sessions.

State survives

Cookies, localStorage, and cache persist between runs.

Extension upload

/v1/extensions — multipart ZIP (≤50MB), manifest parsed.

Loaded at launch

Reference extensions by id; they load via --load-extension.

▚ 08

Session recordings

Every session captured to a downloadable MP4.

Auto-record

On by default; frames captured over CDP throughout the session.

MP4 output

/v1/sessions/{id}/recordings/primary/fetch returns video/mp4.

Pause / resume

Stop and restart capture mid-session.

Metadata

Duration, size, and file link per recording.

▚ 09

Webhooks & signatures

Signed, retried event delivery for session and task lifecycle.

13 event types

session.*, task.*, batch.*, intervention.*, identity.* .

HMAC-SHA256 signing

Anchor-Signature: t=…,v1=… over v0:ts:body — verify every delivery.

Reliable delivery

Six retries with backoff; a queryable delivery log.

Secure by default

SSRF-guarded targets; secret shown once.

▚ 10

Batch & async provisioning

Spin up many sessions at once, or provision without blocking.

Batch create

/v1/batch-sessions — 1 to 1,000 sessions from one config.

Progress tracking

Poll batch status, cancel, or retry failed sessions.

Async single create

/v1/sessions/async returns immediately with a request id.

Provisioning phases

queued → provisioning → configuring → ready.

▚ 11

Tasks platform

Save reusable automations and run them by id — v1 and v2.

v2 run

/v2/tasks/{id}/run with input_params; poll runs/{id}/status.

v1 legacy

Full /v1/task surface: versions, drafts, deploy, executions.

Any provider

Tasks drive the agent loop with your chosen model.

Structured results

Runs return JSON you can consume downstream.

▚ 12

Stealth · proxy · captcha

Route through proxies, reduce automation tells, and hook a solver.

Proxy

Anchor or custom (http/https/socks5) via session.proxy.

Extra stealth

Fingerprint patch injected over CDP; automation flags off.

Captcha solver

Pluggable Solver interface with Captcha.lifecycle events.

Exact couplings

captcha requires proxy → 400; stealth requires anchor proxy.

▚ 13

Warm-pool autoscaling

The warm pool grows with demand and decays when idle.

Demand-EWMA scaler

Warm target tracks recent acquire rate, clamped to [min,max].

Burst reserve

Batches pre-provision the pool ahead of the spike.

Metrics

/v1/pool/metrics exposes live warm/target/active counts.

Billing surface

/v1/billing returns the Anchor billing shape.

▚ 14

OS-level control

Drive the whole desktop, not just the page. See the dedicated page →

useOs input

mouse/keyboard/scroll via xdotool on a per-session Xvfb — reaches native dialogs, chrome, <select> popups.

Full input surface

mouse down/up, drag-and-drop, keyboard/shortcut, hover, select_option, wait_for.

Clipboard & uploads

copy/paste via xclip; multipart file upload attached to inputs.

noVNC live desktop

Real bidirectional VNC framebuffer — a human drives the session live.

Roadmap

Next: deeper OS-level control.

The feature set above ships today. Next up is driving the whole desktop, not just the page — real OS-level input beyond CDP. Planned, not yet in the build.

roadmap
Managed cloud

Star it. Run it. Ship agents on it.

Open-source and free to self-host. Managed cloud is coming.