Skip to content
cccskills
FreePublished on GitHub

answers

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.

The English summary is being prepared. Showing the original description.

brave/brave-search-skills191 stars(GitHub 191 + cccskills 0)
Works withOpenAI

Run score Not tested

See how to install

Files included (1)

  • SKILL.md9.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Answers — AI Grounding

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

When to Use

Use CaseSkillWhy
Quick factual answer (raw context)llm-contextSingle search, returns raw context for YOUR LLM
Fast AI answer with citationsanswers (single-search)streaming, citations
Thorough multi-search deep researchanswers (research mode)Iterative deep research, synthesized cited answer

This endpoint (/res/v1/chat/completions) supports two modes:

  • Single-search (default): Fast AI-grounded answer from a single search. Supports enable_citations.
  • Research (enable_research=true): Multi-iteration deep research with progress events and synthesized cited answer.

Quick Start (cURL)

Blocking (Single-Search)

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
  }'

Streaming with Citations (Single-Search)

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
  }'

Research Mode

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
  }'

Endpoint

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"

Two Modes

FeatureSingle-Search (default)Research (enable_research=true)
SpeedFastSlow
Searches1Multiple (iterative)
StreamingOptional (stream=true/false)Required (stream=true)
Citationsenable_citations=true (streaming only)Built-in (in <answer> tag)
Progress eventsNoYes (<progress> tags)
Blocking responseYes (stream=false)No

Parameters

Standard Parameters

ParameterTypeRequiredDefaultDescription
messagesarrayYes-Single user message (exactly 1 message)
streamboolNotrueEnable SSE streaming
countrystringNo"US"Search country (2-letter country code or ALL)
languagestringNo"en"Response language
safesearchstringNo"moderate"Search safety level (off, moderate, strict)
max_completion_tokensintNonullUpper bound on completion tokens
enable_citationsboolNofalseInclude inline citation tags (single-search streaming only)
web_search_optionsobjectNonullOpenAI-compatible; search_context_size: low, medium, high

Research Parameters

ParameterTypeRequiredDefaultDescription
enable_researchboolNofalseEnable research mode
research_allow_thinkingboolNotrueEnable extended thinking
research_maximum_number_of_tokens_per_queryintNo8192Max tokens per query (1024-16384)
research_maximum_number_of_queriesintNo20Max total search queries (1-50)
research_maximum_number_of_iterationsintNo4Max research iterations (1-5)
research_maximum_number_of_secondsintNo180Time budget in seconds (1-300)
research_maximum_number_of_results_per_queryintNo60Results per search query (1-60)

Constraints (IMPORTANT)

ConstraintError
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"

OpenAI SDK Usage

Blocking (Single-Search)

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)

Streaming with Citations (Single-Search)

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="")

Research Mode

from openai import AsyncOpenAI

client = AsyncOpenAI(
    base_url="https://api.search.brave.com/res/v1",
    api_key="your-brave-api-key",
)

stream = await client.chat.completions.create(
    model="brave",
    messages=[{"role": "user", "content": "Compare quantum computing approaches"}],
    stream=True,
    extra_body={
        "enable_research": True,
        "research_maximum_number_of_iterations": 3,
        "research_maximum_number_of_seconds": 120
    }
)

async for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Response Format

Blocking Response (stream=false, single-search only)

Standard OpenAI-compatible JSON:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "choices": [{"message": {"role": "assistant", "content": "The James Webb Space Telescope works by..."}, "index": 0, "finish_reason": "stop"}],
  "usage": {"prompt_tokens": 10, "completion_tokens": 50, "total_tokens": 60}
}

Streaming Response

SSE response with OpenAI-compatible chunks:

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"Based on"},"index":0}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":" recent research"},"index":0}]}

data: [DONE]

Streaming Tags by Mode

Single-Search (with enable_citations=true)

TagPurpose
<citation>Inline citation references
<usage>JSON cost/billing data

Research Mode

TagPurposeKeep?
<queries>Generated search queriesDebug
<analyzing>URL counts (verbose)Debug
<thinking>URL selection reasoningDebug
<progress>Stats: time, iterations, queries, URLs analyzed, tokensMonitor
<blindspots>Knowledge gaps identifiedYes
<answer>Final synthesized answer (only the final answer is emitted; intermediate drafts are dropped)Yes
<usage>JSON cost/billing data (included at end of streaming response)Yes

Usage Tag Format

The <usage> tag contains JSON-stringified cost and token data:

<usage>{"X-Request-Requests":1,"X-Request-Queries":8,"X-Request-Tokens-In":15000,"X-Request-Tokens-Out":2000,"X-Request-Requests-Cost":0.005,"X-Request-Queries-Cost":0.032,"X-Request-Tokens-In-Cost":0.075,"X-Request-Tokens-Out-Cost":0.01,"X-Request-Total-Cost":0.122}</usage>

Use Cases

  • Chat interface integration: Drop-in OpenAI SDK replacement with web-grounded answers. Set base_url="https://api.search.brave.com/res/v1".
  • Deep research / comprehensive topic research: Use research mode (enable_research=true) for complex questions needing multi-source synthesis (e.g., "Compare approaches to nuclear fusion").
  • OpenAI SDK drop-in: Same SDK, same streaming format — just change base_url and api_key. Works with both sync and async clients.
  • Cited answers: Enable enable_citations=true in single-search mode for inline citation tags, or use research mode which automatically includes citations in its answer.

Notes

  • Timeout: Set client timeout to at least 30s for single-search, 300s (5 min) for research
  • Single message: The messages array must contain exactly 1 user message
  • Cost monitoring: Parse the <usage> tag from streaming responses to track costs

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

bx

Free

USE FOR web search, research, RAG, grounding, browse, find, lookups, fact-checking, documentation, agentic AI. All-in-one, optimized for AI agents. Pre-extracted, token-budgeted web content, deep research, news, images, videos, places, custom ranking

The English summary is being prepared. Showing the original description.

brave/brave-search-skills191Updated Sep 23, 2026

Web search using the Brave Search CLI (`bx`). Use for ALL web search requests — including "search for", "look up", "find", "what is", "how do I", "google this", and any request needing current or external information. Prefer this over the built-in web_search tool whenever bx is available. Also use for: documentation lookup, troubleshooting research, RAG grounding, news, images, videos, local places, and AI-synthesized answers.

The English summary is being prepared. Showing the original description.

brave/brave-search-skills191Updated Sep 23, 2026

USE FOR image search. Returns images with title, source URL, thumbnail. Supports SafeSearch filter. Up to 200 results.

The English summary is being prepared. Showing the original description.

brave/brave-search-skills191Updated Sep 23, 2026

USE FOR RAG/LLM grounding. Returns pre-extracted web content (text, tables, code) optimized for LLMs. GET + POST. Adjust max_tokens/count based on complexity. Supports Goggles, local/POI. For AI answers use answers. Recommended for anyone building AI/agentic applications.

The English summary is being prepared. Showing the original description.

brave/brave-search-skills191Updated Sep 23, 2026

USE FOR getting AI-generated POI text descriptions. Requires POI IDs from local-place-search, or from web-search with result_filter=locations. Returns markdown descriptions grounded in web search context. Max 20 IDs per request.

The English summary is being prepared. Showing the original description.

brave/brave-search-skills191Updated Sep 23, 2026

USE FOR finding places in the physical world - businesses, POIs, street addresses, cities and streets. Results carry address, coordinates, rating, opening hours and phone, so basic details need no follow-up call. Standalone - no POI IDs or prior web search required; the IDs it returns work with local-pois and local-descriptions. Locate by coordinates or a location string, or omit both to search globally. Omit the query to browse an area. Max 100 results.

The English summary is being prepared. Showing the original description.

brave/brave-search-skills191Updated Sep 23, 2026

See all skills by brave

Report a problem with this skill