Browser Use wrapper

If you use Browser Use Cloud today, keep your runs.create / poll flow and point it at Banana Peel: create against POST /api/wrappers/browser-use/run, poll GET …/run/:id (also available at /task/:id). Your tasks default to routing: "smart" — the best runner across all providers — so pin routing: "browser-use" only if you want provider parity during migration.

Why wrap vs call Responses directly

Use the Browser Use wrapper when you already have Browser Use client code and want the smallest diff: same method names / request shapes, Banana Peel key + base URL, optional routing. Use POST /api/v1/responses for new work — one API for smart routing, benchmarks, MFA input, and run inspection. Wrappers are a migration bridge, not the long-term product surface.

Install

  • npm install ./packages/wrappers/browser-use @bananapeel/browser-use
  • Or raw fetch against the wrapper paths (no package required)

Before → after

import { BrowserUse } from "browser-use-sdk/v4";

const client = new BrowserUse(); // BROWSER_USE_API_KEY

const run = await client.runs.create({
  task: "Find the top Hacker News story",
  model: "bu-max",
});
const result = await client.runs.waitForCompletion(run.id);
console.log(result.result);

Auth & base URL

Agents: npx -y @banana-peel/cli init --agent --json (see /docs/agents). Humans who already have an account can copy a key from the keys console: bp_live_… (or bp_test_…).

  • Env: BANANA_PEEL_API_KEY, optional BANANA_PEEL_BASE (defaults to the production Cloud Run URL)
  • Headers: Authorization: Bearer …, x-api-key, or vendor-shaped x-browser-use-api-key, browser-use-api-key
  • HTTP base for this wrapper: ${BANANA_PEEL_BASE}/api/wrappers/browser-use

API mapping

Browser UseBanana Peel
runs.createPOST /api/wrappers/browser-use/run
runs.get / waitForCompletionGET /api/wrappers/browser-use/run/:id
task / resulttask → Responses input; result as output (status: finished when done)
model / session / workspaceNot emulated — use routing + native Responses

Limits / gaps

  • No Cloud model catalog, live session streaming, or workspaces.
  • Response field names follow the wrapper shape (output, is_success), not every v3/v4 SDK field.

See also

Command Palette

Search for a command to run...