Unbrowse — The API layer for AI agents

Unbrowse is an open-source CLI tool that reverse-engineers the internal APIs behind any website, allowing AI agents to make direct API calls instead of automating headless browsers. It reduces page interaction time from 5-30 seconds to 50-200 milliseconds and cuts token usage from ~8,000 to ~200 tokens per action. Skills discovered by one agent are shared in a public registry for all agents to reuse.

Setup: npx unbrowse setup

Upgrade existing installs: npm install -g unbrowse@latest && unbrowse setup

For skill hosts: npx skills add unbrowse-ai/unbrowse

Community: https://discord.gg/VWugEeFNsG

Usage: unbrowse resolve --intent "..." --url "..."

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

100% Free & Open SourceStar on GitHub

100x faster. 95% cheaper. The API-native browser.

A drop-in replacement for browser automation for AI agents. Log in, search, book, and submit through direct API calls instead of driving a flaky browser.

Install First

Install Unbrowse and start using it.

Fresh install or quick upgrade. Same setup flow either way.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Full setup in one command
npx unbrowse setup
# Install globally for repeat use
npm install -g unbrowse
unbrowse setup
# Already installed? Upgrade to latest after releases
npm install -g unbrowse@latest
unbrowse setup
# Add the skill for agent workflows
npx skills add unbrowse-ai/unbrowse
# Use it
unbrowse resolve --intent "get events" --url "https://lu.ma"
Already installed?npm install -g unbrowse@latestunbrowse setup

Works seamlessly with

Claude CodeCursorOpenClawAny Skill

What is Unbrowse?

Unbrowse is an open-source drop-in replacement for browser automation when you want API-native access to the web. It reverse-engineers the internal APIs behind any website so AI agents can make direct API calls instead of driving headless browsers. It reduces page interaction time from 5–30 seconds to 50–200 milliseconds and cuts token usage from ~8,000 to ~200 tokens per action. Skills discovered by one agent are shared in a public registry for all agents to reuse.

The Problem

Three ways to see the same website

0.0s
128,500
$0.386
travelbooker.com
travelbooker
AnywhereAny week • Add guests
Tokyo, Japan
★ 4.98
Oct 15 - 22
$89 night
Paris, France
★ 4.92
Nov 2 - 7
$112 night

What Humans See

Beautiful, interactive UI

view-source:travelbooker.com
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width"/><script>var _0x3f2a=function(_0x2b1c){var _0x4e3d=_0x2b1c.split("").reverse().join("");return atob(_0x4e3d)};window.__CF={};(function(){var a="x3f",b=document.createElement("div");b.className="x3f"+a;b.id="_0x"+Math.random().toString(36).substr(2,9);</script><link rel="stylesheet" href="/_next/static/css/a3b2c1d.css"/><style>.x3f{display:flex;flex-direction:column}.x3f>div{padding:0}.x3f .k9m{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.x3f .q7p{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.x3f .r2w{font-size:clamp(1.5rem,4vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}</style></head><body><div id="__next"><div class="x3f"><div class="x3f q7p"><nav class="x3f k9m"><div class="x3f"><a href="/" class="x3f r2w">TravelBooker</a><div class="x3f"><a href="/flights" class="x3f">Flights</a><a href="/hotels" class="x3f">Hotels</a></div></div></nav><main class="x3f"><div class="x3f k9m"><h1 class="x3f r2w">Find your perfect getaway</h1><form class="x3f" action="/search" method="GET"><input class="x3f" name="q" placeholder="Anywhere" value=""/><button type="submit" class="x3f">Search</button></form></div><div class="x3f"><div class="x3f"><div class="x3f"><img src="https://images.unsplash.com/photo-1540959733332-eab4deabeeaf?auto=format&fit=crop&w=400&q=80" alt="Tokyo, Japan" class="x3f"/></div><div class="x3f"><div class="x3f">Tokyo, Japan</div><div class="x3f">★ 4.98</div></div><div class="x3f">2,410 kilometers away</div><div class="x3f">Oct 15 - 22</div><div class="x3f"><span class="x3f">$89</span> night</div></div><div class="x3f"><div class="x3f"><img src="https://images.unsplash.com/photo-1499856871958-5b9627545d1a?auto=format&fit=crop&w=400&q=80" alt="Paris, France" class="x3f"/></div><div class="x3f"><div class="x3f">Paris, France</div><div class="x3f">★ 4.92</div></div><div class="x3f">View of Eiffel Tower</div>

What Agents See Today

Image + 847KB DOM × 1 passes

0.00s
0
$0.0000
agent_session API
unbrowse.search{ query: 'Tokyo' }
Executing...

What Unbrowse Does

1KB JSON × 0 calls

After You Install

Bypass the DOM completely.

Skip the rendering engine

Headless browsers are slow and flaky. Unbrowse taps directly into the hidden internal APIs that power the frontend, returning data instantly.

100x
faster per page
5-30s headless50-200ms API

40x fewer tokens

Why burn context on 8,000 tokens of HTML? Your agent gets the exact JSON data it needs to take the next action — nothing else.

Scraping HTML~8,000t
Direct API~200t

Auto-discovers APIs

Your agent types unbrowse resolve --intent "..." --url "...". We instantly map the site's undocumented endpoints for immediate use.

Zero config needed
Shared skill registry

Integrate with anything. Behind auth.

No cloud proxies, no expensive credits. Unbrowse runs locally, leveraging your actual browser sessions to securely access auth-protected content.

Security Check Passed
Proxy Server None
MITM Disabled
Cookies leave device False
Execution Local Only
Global Registry

One agent discovers it. Every agent benefits.

Every time an agent maps a new website, the underlying API endpoints are published to a shared registry. Your agents get instantly smarter by leveraging the collective discoveries of the network.

Recently Indexed Skills

View full registry

Loading registry skills...

Works with your stack

Claude Code
Cursor
OpenClaw
Windsurf
Any Skill Agent
See It In Action

Example: airbnb.com

One agent browses Airbnb. Every agent on the network can now search listings, check availability, and book — instantly, no browser.

unbrowse
Agent
Online
Unbrowse airbnb.com — I need to search listings
2:41 PM
Opening headless browser, navigating airbnb.com...Captured 12 API endpoints across 4 services
GET/api/v3/StaysSearch- Search listings
GET/api/v3/StayListing- Listing details
GET/api/v3/PdpAvailabilityCalendar- Availability
GET/api/v3/StaysPriceBreakdown- Price breakdown
+ 8 more endpoints
Skill generated: airbnb-stays-api (quality: 91/100)Automatically indexed — every agent on the network can now use this
2:42 PM
Find me places to stay in Tokyo for 2 guests, March 15-22
2:43 PM
Replaying airbnb-stays-api → GET /api/v3/StaysSearch
Executed200 OK · 0.4s
listings found:243 results
top result:Shibuya Loft with City View
price:$89/night
rating:4.92 ★ (318 reviews)
243 listings found — $89-$420/night range
2:43 PM
Can a different agent use this too?
2:44 PM
Yes — the Airbnb skill is already in the shared index. Any agent can search for it by intent and replay the endpoints directly. No browser needed, no re-discovery.
One agent browses. Every agent knows.
2:44 PM
Message your agent...
After Install

Register, verify, and start using it.

Once the CLI is installed, grab your key, verify the local server, and jump into the docs and community.

Verify the install withunbrowse healthand rerunnpm install -g unbrowse@latestplusunbrowse setupafter each release.

Get your free API key

Start using Unbrowse in seconds.

Frequently Asked Questions

How does Unbrowse work?

Unbrowse is a drop-in replacement for browser automation when you want API-native access to the web. It opens a local browser, captures network traffic as you interact with a site, and reverse-engineers the internal API endpoints that power the frontend. Once discovered, these endpoints are stored as reusable skills so your agent can call them directly — no browser required.

How much faster is Unbrowse than headless browser automation?

Unbrowse is approximately 100x faster per page. Headless browsers typically take 5–30 seconds per page interaction. Unbrowse makes direct API calls in 50–200 milliseconds. It also uses ~200 tokens per action compared to ~8,000 tokens for scraped HTML, a 40x reduction.

Is Unbrowse free?

Yes. Unbrowse is 100% free and open source under the AGPL-3.0 license. There are no paid tiers, cloud proxies, or usage credits. Everything runs locally on your machine.

What websites does Unbrowse support?

Unbrowse works with any website that uses internal APIs to power its frontend — which includes most modern web applications. Sites like Airbnb, LinkedIn, and hundreds of others have been successfully mapped. When a site cannot be reverse-engineered, Unbrowse falls back to standard browser automation.

Is Unbrowse secure? Do my credentials leave my machine?

Unbrowse runs entirely locally. There are no cloud proxies, no man-in-the-middle interception, and your browser cookies never leave your device. Authentication credentials are encrypted with AES-256-CBC in a local vault. Only discovered API endpoint patterns (not data or credentials) are shared with the registry.

How do I install Unbrowse?

Run npx unbrowse setup for a one-command installation that sets up browser assets and configures your agent host. If Unbrowse is already installed, upgrade to the latest version with npm install -g unbrowse@latest and rerun unbrowse setup. For skill-based agent platforms like OpenClaw, use npx skills add unbrowse-ai/unbrowse.

What is the skill registry?

The skill registry is a shared marketplace of reverse-engineered API skills. When one agent discovers how to interact with a website's API, that knowledge is published to the registry so every other agent can use it instantly — no need to re-discover the same endpoints.