Unbrowse Website API Client

Turn websites’ first-party APIs into verified task calls for agents, without browser-driven execution.

Stars
★ 781
Last updated
3d ago
License
MIT
Primary language
TypeScript

At a glance

How it runs
Hosted serviceCLILibrary / SDK
Works with
Universal · cross-platformChatGPT · Codex · Claude Code
Cost
Free tier plus a paid hosted plan
Setup effort
Medium · a few setup steps
You'll need
Node.js 18.17+BunShell / CLINetwork accessLocal filesystemMCP Server
Typical use
A developer who wants task-based access to information from sites such as Hacker News instead of browser interaction.
Not a fit if
  • Teams that require all browsing and API requests to run locally
  • Teams unwilling to use Unbrowse's hosted service or complete OAuth sign-in

What does this agent do, and when should you use it?

Unbrowse is the open-source client for the hosted Unbrowse service, with the `@unbrowse/sdk` TypeScript REST client and the `unbrowse` CLI built on it. It searches private capabilities and then a public registry of compiled site tools; when it finds a match, it replays the site’s first-party HTTP requests and waits for a verified result. If no capability matches, an agent can do the task in Unbrowse’s recorded cloud browser through MCP, or the user can provide two HAR recordings for `unbrowse learn` to compile into a reusable capability. The CLI also offers `unbrowse mcp`, a local stdio proxy to the hosted MCP; the service, capability registry, and recorded cloud browser remain hosted by Unbrowse. The README directs users to check their account plan and `unbrowse usage` for pricing, but the supplied material gives no specific prices.

unbrowse discover <query> searches personal capabilities and the public site registry; unbrowse run <task…> runs a task and waits for verification, with optional inputs passed using --set k=v. unbrowse resume <runId> k=v… supplies requested input to the same run, unbrowse scrape <url> reads one page as Markdown, unbrowse index <url> teaches Unbrowse a site, and unbrowse learn a.har b.har compiles two HAR recordings into a capability. The Unbrowse class in @unbrowse/sdk calls the REST API. Agents can connect to https://unbrowse.ai/mcp or use the local stdio proxy started by unbrowse mcp.

  1. A developer who wants task-based access to information from sites such as Hacker News instead of browser interaction.
  2. A team enabling agents to call first-party APIs on websites that lack an official API or MCP.
  3. An automation engineer who can record two HAR files and compile a recurring website flow into a reusable capability.
  4. A user of an MCP-compatible agent client who is willing to connect to Unbrowse’s hosted service.
  5. A TypeScript developer integrating task runs into an application through the SDK.

How do you install or deploy this agent?

For the CLI and SDK, use the pinned hosted-client release specified by the installation guide; the README warns that npm latest may still target the older service. The provided material does not include the full CLI or SDK install commands. To add the hosted MCP to a Claude client, run the command below and complete OAuth sign-in in the client:

claude mcp add --transport http unbrowse https://unbrowse.ai/mcp

The README specifies Node 18.17+ to build the CLI, but does not state a minimum runtime for a prebuilt CLI or the SDK.

How do you use this agent?

Sign in to the CLI with browser OAuth or an API key. Passwords stay in Unbrowse’s password manager; the CLI does not take them.

unbrowse login
unbrowse discover "top stories on Hacker News"
unbrowse run "top stories on Hacker News"

The TypeScript SDK reads its key from UNBROWSE_API_KEY. This example submits a task through Unbrowse and waits for its result:

import { Unbrowse } from "@unbrowse/sdk";
const ub = new Unbrowse(); // UNBROWSE_API_KEY
const run = await ub.wait((await ub.run({ task: "top stories on Hacker News", idempotencyKey: crypto.randomUUID() })).runId);

What are this agent's strengths and limitations?

Pros
  • When a capability matches, it replays the site’s first-party HTTP requests without a browser, and a run succeeds only when its result is verified.
  • The two-HAR learning flow compiles recorded requests into capabilities that can be reused later.
  • It documents several interfaces: CLI, TypeScript REST SDK, hosted MCP, and a local stdio MCP proxy.
Limitations
  • The core service, public capability registry, and recorded cloud browser are hosted; the supplied material documents no self-hosted deployment.
  • Initial MCP connection requires OAuth. CLI and SDK users must use the hosted-client release specified in the install guide; npm latest may be incompatible with the current service.
  • Pricing depends on the account plan and quota; no specific price or free allowance is stated in the supplied material.
  • When no capability matches, users need cloud-browser learning or two HAR recordings, so direct replay is not documented for every site.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Unbrowse Website API Client This agent 56 · Major gaps Hosted serviceFreemium ★ 781 3d ago TypeScript ChatGPT · Codex · Claude Code
Uni-CLI 72 · Some gaps CLIFree ★ 274 7d ago TypeScript ChatGPT · Codex · Claude Code
OpenTabs 49 · Major gaps CLIFree + model costs ★ 967 2mo ago TypeScript Claude Code
Stock SDK 71 · Some gaps Library / SDKFree ★ 2k 6d ago TypeScript ChatGPT · Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
56/ 100 5-point scale 2.8 / 5
Trust 14/29
Reliability 9/14
Adaptability 10/18
Convention 12/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust14 / 29 · 2.4/5

The evidence shows CLI credentials are stored with mode 0600, site passwords are handled server-side, cookie sync can be scoped to named sites, and syncing every site requires explicit confirmation. These are meaningful controls, but sync still reads and uploads browser session cookies, so least privilege and sensitive-data handling are not thorough. CLI guidance distinguishes local from Unbrowse egress, making data flow partly clear; however, runs replay first-party site APIs and may use a cloud browser, while external effects are only partly described. The daemon can be stopped and its config and state removed, but that cannot undo requests already sent to sites or cookies already uploaded. A security contact is provided, but publisher identity is unverified, limiting attribution evidence. Dependencies are locked and CI-checked, but the supplied material shows no dependency audit or vulnerability response process.

Reliability9 / 14 · 3.2/5

The README, CLI material, and tests align on commands, verified results, exit codes, and handling required input; tests use a local stand-in API and CI lists package builds and tests. Errors cover sign-in, unreachable servers, upstream failures, and required input. Points are deducted because core capabilities depend on hosted-service availability and static evidence cannot establish runtime behavior.

Adaptability10 / 18 · 2.8/5

The material covers the CLI, SDK, hosted MCP, plugins, and custom connectors, with options for local or hosted egress. CLI, REST, and MCP capabilities are described separately. Points are deducted because intended audiences and scenarios remain broad, with few explicit rules for when automatic triggering is suitable or unsuitable; environment guidance exists, but cookie-daemon service support is limited, and the supplied tests show no Windows service plan.

Convention12 / 18 · 3.3/5

Documentation is organized into install, CLI, MCP, SDK, troubleshooting, and open-source scope, with concrete installation steps and examples; LICENSE contains full MIT terms. Points are deducted because the README warns that npm latest may still target an older service, so the version path requires care; the supplied material has no full changelog, and maintenance responsibility is only partly evidenced by the security contact and CI release workflow. Publisher identity is unverified.

Effectiveness7 / 13 · 2.7/5

The project offers site capability discovery, request replay, learning and compilation, scraping, and interfaces for multiple clients. The CLI provides JSON or Markdown output, exit codes, and suggested next commands, and defines success in terms of verification. Points are deducted because the README's performance and cost improvement figures lack supporting measurement detail here, while hosted-service, OAuth, and account-quota requirements add cost and dependency.

Verifiability4 / 8 · 2.5/5

README claims have support in CLI tests, CI workflows, and security documentation, and features and data flows can be traced to repository materials. Independent corroboration is limited because these sources are from the same repository. Points are deducted because performance figures and server-side password handling are chiefly repository assertions that static review cannot independently confirm, so fact and inference are only partly separated.

Risks and how to mitigate them
  • Cookie sync uploads browser session cookies; confirm the selected sites before syncing, especially with --all-sites.
  • This is a client for a hosted service. Check request egress, account quotas, and compatibility between the chosen client release and the service.
Evidence confidence: Low Reviewed Oct 09, 2026 Reviewed revision 7b59dfa95bfb
See the full review method →

FAQ

Does every task use a browser?
When a capability matches, Unbrowse replays the site’s first-party HTTP requests without a browser. Learning a new capability can use the hosted recorded cloud browser.
What credentials are needed to get started?
MCP sign-in uses OAuth in the client. The CLI supports browser OAuth or an API key. The SDK example reads UNBROWSE_API_KEY.
What happens when a run needs input or its result is not verified?
CLI exit code 2 means input is required, and exit code 4 means the result is not verified. Use unbrowse resume <runId> k=v… to answer a question on the same run.
How can I add a site with no matching capability?
Have an agent perform the task in Unbrowse’s recorded cloud browser, or run unbrowse learn a.har b.har with two HAR recordings to compile a capability.
Does the CLI receive website passwords?
The README says passwords stay in Unbrowse’s password manager and the CLI never takes one.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents