Skip to main content

One sentence

Clicking around a website and pulling data? Use browser-use. Also need to write code, run a terminal, or process files over many steps? Use browsercode. If you omit the agent, requests route to browser-use (cheaper, covers the common case).

The two agents

Let the registry route for you

GET /api/v1/agents returns a machine-readable description of every agent — the routing truth. An LLM (or your code) reads it and picks, no hardcoding.
Response:
Filter by capability: GET /api/v1/agents?capability=code returns only agents that can run code.

Both agents share the same vocabulary

Whichever agent you run, you pass shared resources the same way:
  • browser — the browser settings for the run, including profile_id to start logged-in (profiles).
  • attached_file_ids — files to give the run (files); workspace_id exists only for browsercode’s advanced cross-conversation sharing.
  • session_id — continue a previous run’s thread.
An agent never invents its own version of these. Learn one, use both.
Capabilities are enforced — sending a field an agent doesn’t support returns a 422 naming the problem (e.g. workspace_id on browser-use). Errors tell you the correct choice — read them.