⭐ If you find this useful, consider supporting me on Ko-fi!
CLI for Brave Search API with LLM Context (pre-extracted content for AI/RAG) and Web Search modes.
- LLM Context API (default) - Pre-extracted web content optimized for AI agents and RAG pipelines
- Web Search API - Classic search with links and descriptions
- Dynamic mode switching via CLI flags or ENV variables
- Configurable token limits, thresholds, and source filtering
- Location-aware queries with POI support
- Goggles custom source ranking
- Auto-retry with exponential backoff
- Auto-fallback to web search if LLM Context not available in plan
- Node.js 20+
- Brave Search API key (Get one)
npm install -g brave-search-cli
# or
npm install -g @steimer/bsearch-cliexport BRAVE_API_KEY="your-api-key-here"| Method | Example |
|---|---|
| Default | bsearch "query" (LLM Context) |
| CLI Flag | bsearch "query" --web or bsearch "query" --llm |
| ENV Variable | BSEARCH_MODE=web bsearch "query" |
Priority: --llm/--web > BSEARCH_MODE > default (llm)
# Basic search with pre-extracted content
bsearch "python async await best practices"
# Compact output for faster results
bsearch "latest AI news" -f pd --compact
# Custom token budget
bsearch "research topic" --max-tokens 16384 --max-urls 30
# High precision (strict relevance filtering)
bsearch "medical information" --threshold strict
# Local/POI search
bsearch "coffee shop" --local --city "Berlin"
bsearch "restaurant" --lat 52.52 --long 13.405
# Custom source ranking
bsearch "documentation" --goggles "https://..."
# Freshness filter
bsearch "latest news" -f pd # past day
bsearch "this week" -f pw # past week
bsearch "this month" -f pm # past month
bsearch "2024" -f 2024-01-01to2024-12-31# Classic web search
bsearch "python tutorial" --web
# With options
bsearch "news" -f pd -c 5 --web
# SafeSearch
bsearch "query" -s strict --webbsearch "query" --raw # Raw JSON response
bsearch "query" --compact # Fewer snippets per source| Flag | Description | Default |
|---|---|---|
--max-tokens N |
Max tokens in context (1024-32768) | 8192 |
--max-urls N |
Max URLs in response (1-50) | 20 |
--max-snippets N |
Max snippets total (1-100) | 50 |
--max-tokens-per-url N |
Max tokens per URL (512-8192) | 4096 |
--max-snippets-per-url N |
Max snippets per URL (1-100) | 50 |
--threshold mode |
strict/balanced/lenient/disabled | balanced |
--goggles url |
Goggles URL for custom ranking | - |
--local |
Force local/POI recall | - |
--lat N |
Latitude for location search | - |
--long N |
Longitude for location search | - |
--city name |
City for location headers | - |
--state code |
State/region code | - |
--country code |
Country code (2 letters) | - |
--postal code |
Postal code | - |
| Flag | Description | Default |
|---|---|---|
-c N |
Results count (1-20) | 10 |
-s mode |
SafeSearch (off/moderate/strict) | off |
-f period |
Freshness (pd/pw/pm) | - |
-o N |
Pagination offset | 0 |
| Flag | Description | Default |
|---|---|---|
-m, --mode mode |
llm or web | llm |
--llm |
Explicit LLM Context mode | - |
--web |
Explicit web search mode | - |
--raw |
Raw JSON output | - |
--compact |
Compact output | - |
--timeout ms |
Request timeout | 30000 |
| Variable | Description |
|---|---|
BRAVE_API_KEY |
Your Brave Search API key (required) |
BSEARCH_MODE |
Default mode: llm or web |
📄 Sources (5):
1. Page Title
https://example.com/page
Extracted snippet from the page...
Another relevant passage...
2. ...
[Web Search] Found 10 results for "query":
1. Page Title
https://example.com/page
Page description...
2. ...
- 30s timeout (configurable)
- Auto-retry with exponential backoff (up to 3 attempts)
- Rate limit handling with automatic retry
- Graceful fallback to web search if LLM Context unavailable
- Clear error messages for API errors (401, 429, 500)
MIT
Bei der Entwicklung dieses Projekts wurden teilweise oder vollständig KI-gestützte Tools und Technologien eingesetzt.
