Your Agent Doesn't Need a Browser to Use a Website
If you've ever pointed an AI agent at a website and watched it methodically click through menus, fill in forms, and scrape what it needs, you've probably wondered whether all that page-walking is really necessary. The site's own frontend is already making clean API calls to get the same data—so why can't your agent just do that? Unbrowse is an open-source project built around exactly that idea. An agent learns a site's own API call once, then calls it directly from then on.
What It Does
Unbrowse runs a node on your machine that learns how a website's own app talks to its backend. The first time, it uses a real browser (linked from unbrowse-browser/core to Chrome) to walk the page and observe the request the site makes. From that, it builds a route: the request itself, every value it needs traced back to where it comes from, and the caller's values as inputs. After that, the node calls the route directly over plain HTTP—no browser in the loop.
An agent talks to the node over HTTP or MCP and simply says what it wants. The node either calls an existing route that does the job, or learns a new one and calls that. The whole thing is Apache-2.0: the node, its browser, the SDKs, the plugins, and the settlement contracts are all in the repository. Nothing requires a server the maintainers run. Your logins stay in the node's own vault, and nodes find each other through a registry on-chain and talk directly—no account, no API key, no sign-up.
Why It's Cool
-
The browser is a one-time cost, not a per-request one. This is the core insight, and it's a good one. Page automation is slow and fragile; a traced HTTP call is neither. By separating "learn the route" from "call the route," Unbrowse gets the accuracy of browser observation without paying for it on every request.
-
Routes are portable and shareable. Because a route is a concrete, traceable call rather than a fuzzy instruction, other nodes can serve it too. Learning and calling routes on your own node is free. A route served by another node costs a per-use fee paid to that node, settled through contracts included in the repo. That's a genuinely interesting model for distributing agent capabilities.
-
It's honest about the network it does touch. Three things talk to unbrowse.ai, and the README is upfront that none are required. The app offers a Privy sign-in to link a wallet you own. The node sends signed lifecycle events by default (started, linked, unlinked—never a site, route, or input), which you can disable with Send usage reports in Settings. Anonymous usage counts are also on by default and can be turned off with
unbrowse-node telemetry offorUNBROWSE_TELEMETRY=0. That level of disclosure in a README is refreshing. -
There's actual research behind it. The project points to a paper, Internal APIs Are All You Need (arXiv:2604.00694), plus a whitepaper on indexing the internet's APIs for agents, with companions on the economics and on keeping the route map accurate. Whether or not you read them, it suggests the design decisions were thought through rather than improvised.
How to Try It
You'll need Node 20.3 or later, and Foundry's Anvil (foundryup) since the node runs a local chain for payments.
- Install the latest release from the releases page, or via npm:
npm install -g unbrowse
- Open the app window, or run the node without it:
unbrowse app # opens the window
unbrowse start # runs the node only
The npm install pulls the programs for your machine—macOS (Apple silicon and Intel), Linux (x64 and arm64, glibc 2.35+), and Windows (x64)—including the app, the node, its browser, unb, the agent skill, and the client. There's also a pip install path using the release wheel for your machine, and a direct macOS download if you'd rather skip npm.
- Connect your agent. The README has a dedicated section for wiring up Claude Code, Cursor, and similar tools.
Release builds keep themselves up to date. If you'd rather build from source, the repo has instructions for that too—start with the repository map and the README.md in whichever directory you're touching. The full repository is here.
Final Thoughts
Unbrowse is aimed at people building or running agents that need to interact with real websites at some volume—where browser automation's latency and brittleness start to hurt. The learning step still involves a browser, so it's not magic, and the paid-route economy is an idea you'll want to evaluate for yourself before leaning on it. But the underlying bet—that most sites already expose the API your agent needs, and you just have to find it once—is a sensible one, and this is a thorough, well-documented attempt at building it.
Follow @githubprojects for more developer tools and open source projects.