brave-search-api

This skill enables web searching using Brave Search API directly via curl. Use when searching for current information, news, articles, or web content. MCP server not required - calls API directly.

brave
search
api

SKILL.md

GitHub

Brave Search API (Direct)

Overview

This skill enables web searching using the Brave Search API directly via curl commands. No MCP server required - saves context tokens.

API Key

Environment variable: BRAVE_API_KEY

Web Search

Endpoint

GET https://api.search.brave.com/res/v1/web/search

Parameters

  • q (required): Search query
  • count (optional): Results count (1-20, default 10)
  • offset (optional): Pagination offset

Usage

Generate and execute this curl command:

curl -s "https://api.search.brave.com/res/v1/web/search?q=QUERY&count=10" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: $BRAVE_API_KEY"

Example

curl -s "https://api.search.brave.com/res/v1/web/search?q=xterm.js+WebGL+tutorial&count=5" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" | jq '.web.results[] | {title, url, description}'

Local Search

Endpoint

GET https://api.search.brave.com/res/v1/local/search

Usage

curl -s "https://api.search.brave.com/res/v1/local/search?q=coffee+near+Shibuya" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: $BRAVE_API_KEY"

Response Processing

Use jq to extract relevant fields:

# Get titles and URLs
| jq '.web.results[] | {title, url}'

# Get descriptions
| jq '.web.results[] | {title, description}'

# Get first 3 results
| jq '.web.results[:3]'

Common Workflows

Research a Technology

curl -s "https://api.search.brave.com/res/v1/web/search?q=VS+Code+extension+development+2024&count=10" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" | jq '.web.results[:5] | .[] | {title, url}'

Find Error Solutions

curl -s "https://api.search.brave.com/res/v1/web/search?q=WebGL+context+lost+solution&count=10" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" | jq '.web.results[] | {title, url, description}'

Notes

  • URL encode spaces as + or %20
  • API key must be set in environment
  • Rate limits apply per subscription tier