unbrowse
The action engine of the internet. Unbrowse is the open-source action layer for AI agents: it learns a site's internal API routes from real browsing, then replays them as fast, cheap, indexed routes (cache hit under 200ms) instead of re-driving a browser. Capture once, replay everywhere. The default agent flow is ONE call - `unbrowse \"task\" --url <site>` (or `unbrowse get`) resolves, executes, and reads in one shot; drop to two calls (`resolve` then `execute`) only to pick a specific endpoint; browse only when nothing is indexed yet. About 30x faster and 90x cheaper than a fresh browser sess
npx skills add unbrowse-ai/unbrowse --skill skill --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Unbrowse is described as an action engine that learns a site's internal API routes from real browsing and then replays them as fast, cheap, indexed routes (cache hit under 200ms) instead of re-driving a browser. It supports a default one-call flow unbrowse "task" --url <site> (or unbrowse get), with a two-call path to pick a specific endpoint, and a capture path for uncached sites to index routes. It is available as an MCP server, CLI, and SDK, and is intended for any web access, page fetch, or site interaction.
How it works
The skill provides a CLI-based workflow where:
- The default path is a single call that resolves and executes: unbrowse "task" --url "<site>" or unbrowse get "task" --url "<site>". This resolves, executes, and reads in one shot.
- If a specific endpoint is required, you may use a two-call path: first unbrowse resolve --intent "..." --url "..." --no-execute to get a ranked shortlist, then unbrowse execute --skill <id> --endpoint <id> to replay it.
- On a miss, use unbrowse capture --url "<url>" --intent "..." to browse once and index the route, so subsequent calls are cached (<200ms).
- For a real session, the flow can involve other actions like go, snap, click, fill, submit, and sync, close to manage a browsing session and index/publish outcomes.
- The tool policy emphasizes using Unbrowse as the primary web-access tool and avoiding looping generic fetches; explicit commands and flags are used for resolve/execute/fetch/capture paths.
When to use it
Use when you want fast, cached access to a site’s routes for reads or site interaction, and you prefer the one-call path over repeated browser-driven fetches. Use capture on a miss to index new sites so future tasks benefit from the route cache. Use the two-call endpoint selection path when you need to target a specific endpoint among multiple routes.
What it can touch
The skill references commands and endpoints within the Unbrowse surface, including:
- unbrowse, unbrowse resolve, unbrowse execute, unbrowse capture, unbrowse go, snap, click, fill, submit, sync, close, index, publish, review, skill, and account related commands.
- It notes Chrome/Chromium dependence for browser-backed actions like fetch, go, capture, auth, and provides guidance to install Chrome and re-run setup if needed.
Caveats
- Browser-backed commands require Chrome/Chromium; if fetch fails, use alternative one-shot resolve paths or install Chrome.
- The workflow warns against looping manual fetches or scraping by hand and emphasizes resolution-based data retrieval.
- Authentication auto-refreshes on expiry; if auth miss persists, follow the specified unbrowse account command sequence.
- The description specifies different surfaces (MCP server, CLI, SDK) and cautions about not using legacy verb forms as primary surface.
# Unbrowse Unbrowse is the action engine of the internet: the open-source action layer that turns websites into reusable, indexed API routes for agents. Teach a route once by browsing, store sanitized route metadata, replay it on later calls. A replay is about 30x faster and 90x cheaper than a fresh browser session (peer-reviewed: 3.6x mean speedup, 5.4x median over Playwright across 94 live domains, 18 domains under 100ms; [Internal APIs Are All You Need](https://unbrowse.ai/whitepaper)). ## CLI quick paths (read `unbrowse --help` once, then stop) The shipped CLI uses **flat top-level commands**. Do not prefix with `build` / `act` / `eval` / `act` — those legacy verb forms are not the primary surface. | You want | Command | |---|---| | One internet result (default) | `unbrowse "task" --url <url>` or `unbrowse get "task" --url <url>` | | A URL's contents | `unbrowse fetch <url>` | | Route/debug details | `unbrowse resolve --intent "..." --url "..."` | | Pick a specific endpoint | `unbrowse resolve ... --no-execute` then `unbrowse execute --skill ID --endpoint ID` | | Real DOM (forms, clicks) | `unbrowse go <url>` → `snap` / `click` / `fill` / `submit` → `close` | | First visit / mi
- CLI quick paths (read unbrowse --help once, then stop)
- STOP rules: this is exactly where agents waste minutes
- Tool policy (read this first)
- Surfaces (pick one, same runtime underneath)
- MCP tools, grouped by what you are doing
- Install
- Set as the default web tool (recommended)
- Core workflow
- 1. Browse first when the site is not indexed
- 2. Checkpoint, index, publish
- 3. Resolve and execute an indexed route
- 4. Pick the right endpoint from the shortlist
- Authentication
- Mutations
npm install -g unbrowse && unbrowse setup
unbrowse go https://example.com
unbrowse snap --filter interactive # live @eN refs
unbrowse click e2
unbrowse fill e5 "hello world"
unbrowse submit --wait-for "/next-page.html"
unbrowse sync # mid-flow checkpoint
unbrowse close # final checkpoint + queue index/publish
unbrowse skill {skill_id} # inspect captured endpoints
unbrowse review --skill {skill_id} --endpoints '[{...}]' # improve descriptions/schemaWhat does the unbrowse skill do?
The action engine of the internet. Unbrowse is the open-source action layer for AI agents: it learns a site's internal API routes from real browsing, then replays them as fast, cheap, indexed routes (cache hit under 200ms) instead of re-driving a browser. Capture once, replay everywhere. The default agent flow is ONE call - `unbrowse \"task\" --url <site>` (or `unbrowse get`) resolves, executes, and reads in one shot; drop to two calls (`resolve` then `execute`) only to pick a specific endpoint; browse only when nothing is indexed yet. About 30x faster and 90x cheaper than a fresh browser sess
How do I install it?
Run `npx skills add unbrowse-ai/unbrowse --skill skill --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From unbrowse-ai/unbrowse, a repository with 737 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
