Unbrowse

io.github.unbrowse-aiPublished by GitHub account unbrowse-aiv12.5.0Updated Nov 13, 2026

Websites as APIs: read pages, run site tasks via learned APIs, cloud browser with saved logins.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingBrowser AutomationDeveloper Tools

Overview

AI-generated overview

Lets an assistant act on websites by replaying their first-party HTTP requests instead of driving a browser, with learned one-call site capabilities.

What you can do
  • Read a single page as markdown, or run a task against a site and wait for a verified result
  • Discover matching capabilities in your private set and a public registry of compiled sites
  • Learn a new site flow once, from a recorded cloud browser session or two uploaded HAR recordings, then reuse it
  • Answer follow-up input a run asks for and resume the same run
  • List saved logins (masked) and browse the public registry without an account
When to use it
Useful when an assistant needs to fetch or act on sites that have no official API or MCP server, or when repeated site tasks should be faster and cheaper than running a browser each time.
Requirements
Either the hosted remote endpoint with OAuth sign-in, or the npm package run locally (Node 18.17+), optionally as a stdio proxy to the hosted service. An Unbrowse account is needed; authentication is OAuth or an API key in UNBROWSE_API_KEY. Network access to the hosted service.
Before you install
Runs act on live websites and can submit data on your behalf; results are only accepted when verified. Saved site logins are held in Unbrowse's password manager and used by runs, so review which logins are stored. Usage is metered against a paid plan and quota. Tasks and recordings are sent to the hosted third-party service.

Installation

In SourceWeft

  1. Open Unbrowse in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.unbrowse-ai%2Funbrowse/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "unbrowse": {
      "type": "http",
      "url": "https://unbrowse.ai/mcp"
    }
  }
}

README

Unbrowse

Unbrowse is the open-source CLI and @unbrowse/sdk TypeScript client for the hosted Unbrowse service (https://unbrowse.ai), which calls websites' first-party APIs instead of running a browser. It makes agentic browsing 50-100x faster (67 ms cached, or 950 ms uncached vs 3,404 ms with browser automation, 3.6x across 94 domains) and 95% cheaper than using a browser.

bash
npx -y unbrowse setup && npx -y unbrowse login

Set up every agent on this machine (skills, an always-use rule, MCP) with the command above. Or tell your agent: set up unbrowse - https://raw.githubusercontent.com/unbrowse-ai/unbrowse/main/llms.txt. Skill only: npx skills add unbrowse-ai/unbrowse --skill unbrowse.

Connect your agent:

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

Complete OAuth sign-in in your client. From a terminal: npx unbrowse login (OAuth in your browser, nothing to paste), then npx unbrowse run 'top stories on hacker news'.

Install · CLI · MCP · SDK · Troubleshooting

When to use it

Your agent needs toWith a browserWith Unbrowse
Use a site without an official API or MCPUses a browserReplays the site's own first-party HTTP requests with no browser
Get an uncached answer (mean across 94 domains)3,404 ms with browser automation950 ms through a learned route (3.6x faster)
Call a cached route or repeat a taskRuns a browser each timeAnswers in 67 ms cached, 50-100x faster and 95% cheaper
Automate a new site flowUses a browser every runLearns once from a recorded cloud browser or two HAR recordings, then runs as a one-call capability

How it works

  1. Discover. Unbrowse searches your private capabilities, then a public registry of sites already compiled into tools.
  2. Run. A matching capability replays the site's own first-party HTTP requests. No browser. A run succeeds only when its result is verified.
  3. Learn once. No match: an agent does the task in Unbrowse's recorded cloud browser (MCP), or you upload two HAR recordings (unbrowse learn). Unbrowse compiles the requests into a one-call capability. Next time is step 2.

Passwords stay in the Unbrowse password manager; the CLI never takes one.

More: docs/how-it-works.md · Paper: Internal APIs Are All You Need (arXiv:2604.00694)

Commands

text
unbrowse login [--key ub_live_…]    sign in (browser OAuth) or store an API keyunbrowse discover <query>           your capabilities, then the public registryunbrowse run <task…> [--set k=v]    run a task from your IP (--from-unbrowse: from Unbrowse); waits for a verified resultunbrowse resume <runId> k=v…        answer what the run asked for, on the same rununbrowse scrape <url>               read one page as markdownunbrowse index <url>                teach Unbrowse a site: each flow becomes a toolunbrowse learn a.har b.har          compile two recordings into a capabilityunbrowse logins                     saved logins, maskedunbrowse registry [query]           public compiled sites (no account)

All commands: docs/cli.md. Exit codes: 0 ok, 1 error, 2 input required, 3 sign-in or login needed, 4 not verified.

SDK

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

Supported REST methods: docs/sdk.md.

Agents

Agents connect to the hosted MCP (https://unbrowse.ai/mcp, see docs/install.md) and follow skill/SKILL.md. The CLI is the REST alternative. unbrowse mcp runs a local stdio proxy to the hosted MCP for hosts that need stdio or plain tool names (unbrowse_scrape).

When Unbrowse itself breaks, agents follow skills/unbrowse-contribute: unbrowse bug writes the report, and the agent opens a fix PR here (after asking the person).

Plugins for Claude Code, Codex, Grok Build, OpenClaw, Hermes and elizaOS bundle the skill and make Unbrowse the host's browser: plugins/. Grok, ChatGPT, Claude, Perplexity, Le Chat and Gemini CLI connect as a custom connector: docs/connect.md.

Pricing

Check your current account plan and unbrowse usage for quota and pricing. docs/pricing.md

Develop

bash
bun installbun test packages     # SDK route tests + CLI tests against a local stand-in APIbun run typecheckbun run build         # packages/sdk/dist, packages/cli/dist/cli.js (Node 18.17+)bun run cli help

Release

CI/CD publishes on a version tag: docs/release.md.

What is here and what stays hosted: docs/open-source.md. MIT © Unbrowse AI

FAQ

What is Unbrowse?

Unbrowse is a service (https://unbrowse.ai), CLI (unbrowse), and TypeScript SDK (@unbrowse/sdk) that calls websites' first-party backend APIs instead of using a browser. Every website relies on a first-party API even without an official API or MCP, and Unbrowse compiles those HTTP requests into verified one-call capabilities.

How does Unbrowse differ from browser automation like Playwright or browser-use?

Instead of driving a browser on every run, Unbrowse replays a site's first-party HTTP requests directly. Across 94 domains, a learned route averages 950 ms uncached versus 3,404 ms for browser automation (3.6x faster), and 67 ms when cached. Overall, it is 50-100x faster and 95% cheaper than using a browser.

Does Unbrowse need a browser?

No browser is used when running a matched capability. If no capability matches yet, an agent learns the task once in Unbrowse's recorded cloud browser (via MCP) or from two uploaded HAR recordings (unbrowse learn). Unbrowse compiles those requests so future runs execute via HTTP without a browser.

How do I connect Unbrowse to Claude or another MCP client?

Run npx -y unbrowse setup && npx -y unbrowse login to configure every agent on your machine, or add the hosted MCP directly with claude mcp add --transport http unbrowse https://unbrowse.ai/mcp and complete OAuth sign-in. For hosts needing stdio, run unbrowse mcp. Plugins and custom connectors are also available.

What does Unbrowse cost?

Unbrowse makes agentic browsing 95% cheaper than using a browser. You can view the public registry without an account using unbrowse registry. For your specific quota and plan pricing, check your account plan, run unbrowse usage, or read docs/pricing.md.

Source: README.md at commit 0b9123a

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

5
  1. v12.5.0LatestOct 16, 2026
  2. v12.3.1Oct 11, 2026
  3. v12.2.1Oct 10, 2026
  4. v12.2.0Oct 6, 2026
  5. v12.1.1Sep 28, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts