Browser Search APINo API Key, No Billing
Give Claude Code, Codex, Cursor, or any shell-capable agent structured web search
through the browser on your machine. No API key. No metered search bill.
⏵⏵ auto mode on · ← for agents
Captured July 21, 2026 with the managed local Chrome profile. Results can change with the search engine.
Ask. Search.Return JSON.
lsearch bridges a coding agent and the browser already on your machine. One shell call goes in; compact search context comes back.
Search from any shell-capable agent.
No SDK, API key, hosted search account, or agent-specific integration.
Run one command
Any shell-capable agent runs lsearch.
query + limitSearch locally
Managed Chrome searches with your local state.
Return clean JSON
Only stable result fields reach the agent.
Stable fields, not search-page chrome.
The browser stays local. Your agent receives only the result data it can act on.
ranktitleurldomainsnippetcontent?{
"engine": "duckduckgo",
"ok": true,
"query": "rust browser automation libraries",
"search": {
"blocked": false,
"results": [
{
"rank": 1,
"title": "browser_automation — Rust web dev library",
"domain": "lib.rs",
"url": "https://lib.rs/crates/browser_automation",
"snippet": "A modular Rust browser automation library…"
}
]
}
}Searches, tokens.Latency and cost.
Two search benchmarks cover 72 local searches and 24 matched requests per provider. A separate July 27 release audit measured a 1.06 MB arm64 macOS binary and 36% faster warm CLI startup.
Local JSON vs. rendered search-page snapshots
36 searches per depth · 12 queries × 3 engines
Every cross-engine search returned the requested number of results.
58/60 repeated runs also kept the exact same top-three URLs.
Every page returned the full configured 1,200-character text cap.
local-search vs. hosted search APIs
12 identical queries × two depths · 24 requests per provider
| Provider | Depth fulfilled | Request + response tokens | Tokens / result | Latency | 24-request usage |
|---|---|---|---|---|---|
| local-searchBest overall | 24/24 | 413.5fewest | 53.4fewest | 148.7 msfastest | $0no credits |
| Exa | 24/24 | 4,472.5 | 881.2 | 501.9 ms | $0.324 |
| Brave Search | 24/24 | 13,104 | 108.6 | 322.0 ms | $0.120 |
| Tavily | 17/24 | 1,163 | 259.5 | 1,184.4 ms | 24 credits · $0.192 PAYG |
| Firecrawl | 24/24 | 509 | 74.8 | 1,520.8 ms | 48 credits · ≈$0.154 Hobby equivalent |
Search source build, July 21, 2026. Benchmark 01 compares visible command text plus stdout with compact interactive snapshots. Benchmark 02 counts serialized requests plus raw responses; all token counts use o200k_base. local-search measured 384.5 ms cold and 6.5 ms from its five-minute local cache. The July 27 native audit used Rust 1.97.1 on arm64 macOS (aarch64-apple-darwin); startup is process launch time, not search latency. Full methodology and runner ↗ · Machine-readable data ↗
Frequently asked questions.
Quick answers about installation, compatible agents, search engines, privacy, and how local-search compares.
What is local-search?
local-search is an open-source Rust CLI that turns a local Chrome or Chromium browser into a structured search interface for AI coding agents. The lsearch command searches the web and returns stable JSON containing ranked titles, URLs, domains, snippets, and optional page content.
Does local-search need a search API key?
No. local-search uses the browser already running on your machine, so there is no hosted search account, metered search plan, or paid API key. Install it from crates.io and run searches from the shell.
Which coding agents can use local-search?
Claude Code, OpenAI Codex, Cursor, OpenClaw, and any other shell-capable coding agent can use local-search. The integration is one CLI command rather than an agent-specific SDK, and the result is returned through standard output as JSON.
Which search engines does local-search support?
local-search supports Google, Bing, DuckDuckGo, and Brave Search. Searches run through a managed local browser profile, so results can reflect the region and signed-in browser state that you control.
How does local-search compare with hosted search APIs?
In the July 21, 2026 matched-provider benchmark, local-search fulfilled 24 of 24 requested result depths, used 53.4 normalized tokens per result, recorded 148.7 milliseconds median latency, and consumed $0 in hosted API credits. The full benchmark runner and methodology are public in the repository.
Does local-search send browser credentials to a hosted service?
local-search does not require a local-search cloud service or hosted account. It controls a browser profile on your machine, sends each query to the selected public search engine, and returns the structured result to the calling agent through standard output.
How small and fast is the local-search Rust binary?
The compressed local-search 0.1.2 crates.io package is 54.3 KiB. In the July 27, 2026 arm64 macOS release audit, the compiled lsearch executable measured 1,055,072 bytes (1.06 MB), down from 4,623,984 bytes. Median warm CLI process startup fell from 7.20 to 4.61 milliseconds across 200 alternating launches. These figures describe that machine and build, not search latency.
Is local-search free and open source?
Yes. local-search is MIT-licensed open-source software published on GitHub and crates.io. It does not require a local-search subscription, hosted search account, or paid API dependency. Queries still use the selected public search engine through the browser on your machine.