bx
USE FOR web search, research, RAG, grounding, browse, find, lookups, fact-checking,…
USE FOR AI-grounded answers via OpenAI-compatible /chat/completions. Two modes: single-search (fast) or deep research (enable_research=true, thorough multi-search). Streaming/blocking. Citations.
$ npx -y skills add brave/brave-search-skills --skill answers --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/answersContext preview
The summary Claude sees to decide when to auto-load this skill.
USE FOR AI-grounded answers via OpenAI-compatible /chat/completions. Two modes: single-search (fast) or deep research (enable_research=true, thorough multi-search). Streaming/blocking. Citations.
name: answers description: "USE FOR AI-grounded answers via OpenAI-compatible /chat/completions. Two modes: single-search (fast) or deep research (enable_research=true, thorough multi-search). Streaming/blocking. Citations."
> **Requires API Key**: Get one at https://api.search.brave.com > > **Plan**: Included in the **Answers** plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe
| Use Case | Skill | Why | |--|--|--| | Quick factual answer (raw context) | `llm-context` | Single search, returns raw context for YOUR LLM | | Fast AI answer with citations | **`answers`** (single-search) | streaming, citations | | Thorough multi-search deep research | **`answers`** (research mode) | Iterative deep research, synthesized cited answer |
**This endpoint** (`/res/v1/chat/completions`) supports two modes:
curl -X POST "https://api.search.brave.com/res/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-d '{
"messages": [{"role": "user", "content": "How does the James Webb Space Telescope work?"}],
"stream": false
}'curl -X POST "https://api.search.brave.com/res/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-d '{
"messages": [{"role": "user", "content": "What are recent breakthroughs in fusion energy?"}],
"stream": true,
"enable_citations": true
}'curl -X POST "https://api.search.brave.com/res/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-d '{
"messages": [{"role": "user", "content": "Compare quantum computing approaches"}],
"stream": true,
"enable_research": true,
"research_maximum_number_of_iterations": 3,
"research_maximum_number_of_seconds": 120
}'POST https://api.search.brave.com/res/v1/chat/completions
**Authentication**: `X-Subscription-Token: <API_KEY>` header (or `Authorization: Bearer <API_KEY>`)
**SDK Compatible**: Works with OpenAI SDK via `base_url="https://api.search.brave.com/res/v1"`
| Feature | Single-Search (default) | Research (`enable_research=true`) | |--|--|--| | Speed | Fast | Slow | | Searches | 1 | Multiple (iterative) | | Streaming | Optional (`stream=true/false`) | **Required** (`stream=true`) | | Citations | `enable_citations=true` (streaming only) | Built-in (in `<answer>` tag) | | Progress events | No | Yes (`<progress>` tags) | | Blocking response | Yes (`stream=false`) | No |
| Parameter | Type | Required | Default | Description | |--|--|--|--|--| | `messages` | array | **Yes** | - | Single user message (exactly 1 message) | | `stream` | bool | No | true | Enable SSE streaming | | `country` | string | No | "US" | Search country (2-letter country code or `ALL`) | | `language` | string | No | "en" | Response language | | `safesearch` | string | No | "moderate" | Search safety level (`off`, `moderate`, `strict`) | | `max_completion_tokens` | int | No | null | Upper bound on completion tokens | | `enable_citations` | bool | No | false | Include inline citation tags (single-search streaming only) | | `web_search_options` | object | No | null | OpenAI-compatible; `search_context_size`: `low`, `medium`, `high` |
| Parameter | Type | Required | Default | Description | |--|--|--|--|--| | `enable_research` | bool | No | `false` | **Enable research mode** | | `research_allow_thinking` | bool | No | `true` | Enable extended thinking | | `research_maximum_number_of_tokens_per_query` | int | No | `8192` | Max tokens per query (1024-16384) | | `research_maximum_number_of_queries` | int | No | `20` | Max total search queries (1-50) | | `research_maximum_number_of_iterations` | int | No | `4` | Max research iterations (1-5) | | `research_maximum_number_of_seconds` | int | No | `180` | Time budget in seconds (1-300) | | `research_maximum_number_of_results_per_query` | int | No | `60` | Results per search query (1-60) |
| Constraint | Error | |--|--| | `enable_research=true` requires `stream=true` | "Blocking response doesn't support 'enable_research' option" | | `enable_research=true` incompatible with `enable_citations=true` | "Research mode doesn't support 'enable_citations' option" | | `enable_citations=true` requires `stream=true` | "Blocking response doesn't support 'enable_citations' option" |
from openai import OpenAI
client = OpenAI(
base_url="https://api.search.brave.com/res/v1",
api_key="your-brave-api-key",
)
response = client.chat.completions.create(
model="brave",
messages=[{"role": "user", "content": "How does the James Webb Space Telescope work?"}],
stream=False,
)
print(response.choices[0].message.content)from openai import OpenAI
client = OpenAI(
base_url="https://api.search.brave.com/res/v1",
api_key="your-brave-api-key",
)
stream = client.chat.completions.create(
model="brave",
messages=[{"role": "user", "content": "What are the current trends in renewable energy?"}],
stream=True,
extra_body={"enable_citations": True}
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")from openai import AsyncOpenAI
client = AsyncOpenAI(
base_url="https://api.searchOfficial skills for using Brave Search API with AI coding agents. Works with Claude Code, Cursor, GitHub Copilot, Codex, Gemini CLI, VS Code, Windsurf, OpenClaw, Cline, Goose, Amp, Roo Code, and many other agents that support the Agent Skills standard.
USE FOR web search, research, RAG, grounding, browse, find, lookups, fact-checking,…
USE FOR image search. Returns images with title, source URL, thumbnail. Supports SafeSearch…
USE FOR RAG/LLM grounding. Returns pre-extracted web content (text, tables, code) optimized…
USE FOR getting AI-generated POI text descriptions. Requires POI IDs from local-place-search,…
USE FOR finding places in the physical world - businesses, POIs, street addresses, cities and…
USE FOR getting local business/POI details. Requires POI IDs from local-place-search, or from…