AP
Agent Provider Depot
Opinionated picks for agents
OpenAPI

Kit · 2026-10-03

Browser agent

browser

Completes a task by reading and operating a website in a browser, then stops before a consequential submit unless confirmation exists.

Needs below are the JTBD ids already listed on this class, capped at 6. The pick is the current Depot Pick. The cheapest line is that job's matching sourced SKU, or unavailable. A free row is listed only when its jtbd ids include that job. This page does not rescore. Agents that cannot spend use ?cost=free and must not treat the paid pick as free.

GET /api/kit?class=browser · ?cost=free · all kits · class JSON

First actions

  1. /api/hub
  2. /api/decide?jtbd=cloud-browser
  3. /api/quote?jtbd=cloud-browser
  4. /api/kit?class=browser
  5. /api/failures

Needs

Jobs: cloud-browser, computer-use-browser, browser-agent-loop, web-agent, self-host-browser, web-scrape

Class freeKinds field (not used to attach free rows): free_browser

  • Confirmation before submit, pay, or send

cloud-browser

Depot Pick: browserbase · score as of 2026-10-19 · /api/jtbds/cloud-browser

Depot Pick for cloud-browser: browserbase (asOf 2026-10-19). See GET /api/jtbds/cloud-browser + GET /api/methodology.

pickIsNotPriceWinner: true

Cheapest matching SKU: browser-use · Browsers · 0.02 usd_per_browser_hour · not a per-million-token rate. min sourced browser-hour among candidates; lowest browser-hour tier per provider; not quality-adjusted; proxy per GB, CAPTCHA solves, monthly plans, and chat tokens were not included

Pick is not a price winner. browserbase matching USD per browser-hour is 0.1; cheapest among candidates is browser-use at 0.02.

Free resources

freeMatch: jtbd

computer-use-browser

Depot Pick: anchor-browser · score as of 2026-09-14 · /api/jtbds/computer-use-browser

Depot Pick for computer-use-browser: anchor-browser (asOf 2026-09-14). See GET /api/jtbds/computer-use-browser + GET /api/methodology.

pickIsNotPriceWinner: true

Cheapest matching SKU: browser-use · Browsers · 0.02 usd_per_browser_hour · not a per-million-token rate. min sourced browser-hour among candidates; lowest browser-hour tier per provider; not quality-adjusted; proxy per GB, CAPTCHA solves, monthly plans, and chat tokens were not included

Pick is not a price winner. anchor-browser matching USD per browser-hour is 0.09; cheapest among candidates is browser-use at 0.02.

Free resources

freeMatch: jtbd

browser-agent-loop

Depot Pick: browser-use · score as of 2026-09-14 · /api/jtbds/browser-agent-loop

Depot Pick for browser-agent-loop: browser-use (asOf 2026-09-14). See GET /api/jtbds/browser-agent-loop + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: browser-use · Browsers · 0.02 usd_per_browser_hour · not a per-million-token rate. min sourced browser-hour among candidates; lowest browser-hour tier per provider; not quality-adjusted; proxy per GB, CAPTCHA solves, monthly plans, and chat tokens were not included

Pick is the cheapest matching USD per browser-hour among candidates (0.02).

Free resources

freeMatch: jtbd

web-agent

Depot Pick: browserbase · score as of 2026-10-19 · /api/jtbds/web-agent

Depot Pick for web-agent: browserbase (asOf 2026-10-19). See GET /api/jtbds/web-agent + GET /api/methodology.

pickIsNotPriceWinner: true

Cheapest matching SKU: browser-use · Browsers · 0.02 usd_per_browser_hour · not a per-million-token rate. min sourced browser-hour among candidates; lowest browser-hour tier per provider; not quality-adjusted; proxy per GB, CAPTCHA solves, monthly plans, and chat tokens were not included

Pick is not a price winner. browserbase matching USD per browser-hour is 0.1; cheapest among candidates is browser-use at 0.02.

Free resources

freeMatch: jtbd

self-host-browser

Depot Pick: steel-dev · score as of 2026-09-14 · /api/jtbds/self-host-browser

Depot Pick for self-host-browser: steel-dev (asOf 2026-09-14). See GET /api/jtbds/self-host-browser + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: steel-dev · Scale browser hours · 0.08 usd_per_browser_hour · not a per-million-token rate. min sourced browser-hour among candidates; lowest browser-hour tier per provider; not quality-adjusted; proxy per GB, CAPTCHA solves, monthly plans, and chat tokens were not included

Only 1 candidate has a matching USD per browser-hour; nothing was compared, so pickIsPriceWinner is null.

Free resources

freeMatch: jtbd

web-scrape

Depot Pick: firecrawl · score as of 2026-10-19 · /api/jtbds/web-scrape

Depot Pick for web-scrape: firecrawl (asOf 2026-10-19). See GET /api/jtbds/web-scrape + GET /api/methodology.

pickIsNotPriceWinner: false

Cheapest matching SKU: unavailable — Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.

Nothing was compared. no comparable sourced unit for this job; chat input $/1M and other units were not borrowed pickIsPriceWinner is null.

Free resources

freeMatch: jtbd

  • Crawl4AI · crawl4ai · free_browser · oss

Failure modes

  • Prompt injection prompt-injection

    Compare each tool call to the original user task. If the call only makes sense given text that arrived from a fetched page, file, or message, stop and ask. Record which source the instruction came from. This catalog does not store payloads or attack steps.

  • Tool loop tool-loop

    Hash the last several tool names and arguments. Stop when the same call repeats and the observation did not change. Cap tool calls per task.

  • GUI grounding miss gui-grounding-miss

    After each GUI action, compare the resulting screen or accessibility tree to the control the plan named. Stop when they differ.

  • Partial tool success partial-tool-success

    Require a per-item status and a failure count. Success for the task requires the failed count to be zero or explicitly handed to a retry queue.

  • Non-determinism non-determinism

    Run the task more than once and compare the end state, not a single transcript. Record the trial count next to any success rate you cite.

  • Confirmation skip confirmation-skip

    Gate those tool names on an approval id recorded before the call. A missing approval is a failure even if the downstream tool returns success.

  • Hallucinated tool arguments hallucinated-tool-args

    Reject a call that fails the current schema or names an unknown id, and do that before the tool runs a side effect.

  • Collateral side effects collateral-side-effects

    Snapshot the workspace or app state, then diff it against an allowlist. A passing check plus an unexpected diff is a failure.

  • Over-refusal over-refusal

    Log refusals separately from successes. Review a sample against the written policy. Do not treat a refusal as a pass, and do not weaken a safety check to raise the pass rate.

  • Instruction drift instruction-drift

    Restate the stop condition in the trace. End the run when it is met. Review long traces for steps that do not serve the original task.

  • Benchmark protocol mismatch benchmark-protocol-mismatch

    Store assisted-or-not, subset, and harness version beside every cited score. Refuse a ranking that mixes those fields.

Case studies

7 related, 4 left on the case-study index.

/api/case-studies?class=browser