Quickstart
@unbrowse/client is a thin HTTP-first SDK. It calls beta-api.unbrowse.ai directly. No binary spawn, no local daemon, runs in the browser, on Node 18+, and on any edge runtime that exposes a fetch. Zero runtime dependencies.
1. Install
npm i @unbrowse/client2. Get an API key
Sign in at unbrowse.ai/login (magic link). The dashboard mints your first key. Copy it once and store it in UNBROWSE_API_KEY.
3. Resolve an intent
import { Unbrowse } from "@unbrowse/client";
const unbrowse = new Unbrowse({ apiKey: process.env.UNBROWSE_API_KEY });
const result = await unbrowse.resolve({
intent: "search hackernews for AI agent papers",
});
// result.available_operations: AvailableEndpoint[]
// result.status: "ok" | "empty" | "browse_session_open" | "auth_required" | ...
// result._request_id: paste into support if anything looks off4. Execute the picked endpoint
const data = await unbrowse.execute({
endpoint_id: result.available_operations![0].endpoint_id,
params: { q: "agents" },
});Two tool calls, never one
Unbrowse always returns a ranked shortlist from resolve. Your LLM picks one and calls execute. The shortlist is rich enough that an LLM can pick without re-prompting; we never auto-execute a guess.
Next
- Full API reference — every method, every type.
- Worker proxy + IProyal — route outbound fetches through Cloudflare or a residential IP.
- Errors — typed hierarchy you can
instanceof.