Overview

Unbrowse: direct access to anything on the web, without setting up another MCP

One MCP server, any website. The first time your agent visits a site, unbrowse runs a headless browser, captures the shadow APIs the page itself calls, and publishes those routes to a shared marketplace. Every later call on the same site skips the browser entirely and returns the JSON answer in milliseconds. MCP setup: npx unbrowse setup --mcp

Full documentation: https://www.unbrowse.ai/skill.md

Open-source MIT SDKs · runs locally

The API layer for AI agents.

Your agent calls the shadow API the page would have called — not the browser. One MCP server, any site.

Read the paper →
agent session // wire trace
running
find me a hotel in Tokyo
01The shadow API

Every site already runs an API. Your agent should call it.

When you tap Reserve, the page POSTs to /api/v3/reservations with your cookies. Unbrowse captures the same endpoints on the first visit and lets your agent call them directly — in roughly 5K tokens instead of Playwright’s ~114K.

## what fires on resolve

Each path is one rung of the resolve ladder. Click a lane to re-fire its dot — the picture shows which rung carries the latency for the intent your agent just resolved. Numbers from CLAUDE.md resolve pipeline; not fabricated.

Capture on first visit

HAR + JS interceptor record every fetch and XHR the page fires. Cookies from your real Chrome authenticate every call.

Replay on every call after

resolve picks the right endpoint for the intent; execute returns the JSON answer your agent asked for.

02Install

One line into your MCP host. Any agent.

Plugs into Claude Code, Claude Desktop, Cursor, Codex, Windsurf, and OpenClaw. Replaces the per-site MCP stack you’ve been assembling by hand.

$ unbrowse setup --mcp
unbrowse mcp
○ anonymous install — the cli will prompt for an email on first runsign in to bake your api key into the install →
03The numbers

3.6× mean. 5.4× median. 18 of 94 sub-100ms.

Across 94 live domains the paper measures 3.6× mean and 5.4× median speed-up over Playwright on read-shaped tasks — roughly 5K response tokens against Playwright’s ~114K. Eighteen of those ninety-four sites resolve in under 100ms on a warm cache.

04Earn while you browse

Index a route. Get paid every time another agent reuses it.

Capture and indexing are free. When another agent reuses your route, you get paid in USDC — settled on Solana via Faremeter Flex, directly to your wallet. The sponsor tier covers an agent’s first $1/day.

## For the supply side

The next agent on your route pays you.

Capture and indexing are free. Use unbrowse normally; every route you cache lands in the public marketplace. When another agent reuses your route, you get paid in USDC — settled on Solana via Faremeter Flex, directly to your wallet. No API key billing, no Stripe dashboard.

The sponsor tier covers an agent's first $1/day, so they explore your routes before they spend their own wallet. Discovery is the marketplace's job, not yours.

$ Set up Crossmint lobster.cash during npx unbrowse setup to wire the payout address.

Receipt strip

Privy wallet flow, settled in USDC on Solana via Faremeter Flex.
Capture + indexing are free. You earn when another agent reuses your cached route.
Sponsor tier covers $1/day per agent and $50/day per platform; past that, agents fall through to their own wallet.
Payout to bank via Crossmint lobster.cash, set up in one step.
Every settled route is a real route, a real wallet, real USDC — paid the moment another agent reuses it.
Asked for repeatedly on r/AI_Agents, r/SaaS, r/CryptoCurrency, r/ethdev. Trace in /docs/POSITIONING.md.
05Marketplace

600+ domains already cached. Your agent skips the browser.

Every agent indexes; every agent benefits. The marketplace is the shared layer. New domains land every day.

06Answers

The eight questions every agent builder asks.

MCP overload, browser blocks, login expiry, the earnings flow, licence, install. Everything you’d ask before wiring this into your stack.

## Asked on Reddit

Real objections. Real answers.

Eight objections lifted verbatim from threads in the corpus. Every answer cites the Reddit thread it came from.

We need traces and selectors for CI.

Keep Playwright for CI. unbrowse is for runtime agents, not the test harness.

cite: implied vs Playwright MCP (t3_1spvkrz)

Charlotte / Browser DevTools MCP exist on the same efficiency frame.

Same efficiency frame. unbrowse adds a shared route cache via marketplace, auth inheritance from your real Chrome, and a sponsor tier for first-time-agent discovery.

cite: t3_1rhjxet, t3_1rrta8f

Residential proxies are sketchy.

Used only as fallback, only when the bare browser is challenged, only on networks you can audit. The default path is your real Chrome with your real cookies.

cite: t3_1o1zlt0, t3_1qzbk1v

How does it find the right API on a new site?

Capture during the first browse, rank against the agent's intent, cache. The shared marketplace means the second agent on the same site usually skips the browse entirely.

cite: t3_1rz29ac, t3_1sx45zv

Crypto is sketchy.

USDC on Solana via Faremeter Flex. Settlement is gas-light and instant; Crossmint lobster.cash routes payouts straight to a bank account. You never touch the chain unless you want to.

cite: t3_1pe54l3, t3_1s3ozz0

How do agents find my route after I publish?

Resolve queries the marketplace during route selection. First-mover routes on a domain get a sponsor-tier boost so they show up before competitors. Marketplace is open at /search.

cite: t3_1p63m3b, t3_1pgebeh, t3_1s16g2b

Codex / Grok refuse to fetch URLs.

Right. unbrowse is the web tool, the coding agent stays in its lane. There is no "against the rules" on a public URL when the web-fetch is a separate MCP call.

cite: t3_1pqsqbz

I want first-party SDKs for the services I care about.

Keep them. Use unbrowse for the long tail and for sites that have no MCP. The universal MCP is for the 80% of sites no one will write a first-party MCP for.

cite: t3_1rz29ac, t3_1sumut0

## Who unbrowse is not for

Three jobs we do not optimize for.

UI regression CI suites with selectors and tracesKeep Playwright proper
Canvas-heavy apps that need imperative JS in-pageUse an agent framework
End-user chat interfacesUse Claude / ChatGPT

If you need any of those, unbrowse is the wrong tool. We optimize for one job: an agent calling an API behind a website, without the browser tax.

live total calls endpoints domainspolls every 30s