重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
brave-search by vm0-ai/vm0-skills
npx skills add https://github.com/vm0-ai/vm0-skills --skill brave-search通过直接的 curl 调用使用 Brave Search API 来执行注重隐私的网络搜索,无用户跟踪。
官方文档:
https://api.search.brave.com/app/documentation
当您需要以下功能时使用此技能:
export BRAVE_API_KEY="your-api-key"
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 套餐 | 价格 | 速率限制 | 月度上限 |
|---|---|---|---|
| 免费 | $0 | 1 次查询/秒 | 2,000 次查询 |
| 基础 | $5/1000 | 20 次查询/秒 | 2000 万次查询 |
| 专业 | $9/1000 | 50 次查询/秒 | 无限制 |
以下所有示例均假设您已设置 BRAVE_API_KEY。
API 的基础 URL 是:
https://api.search.brave.com/res/v1身份验证使用 X-Subscription-Token 请求头。
使用查询词进行网络搜索:
curl -s "https://api.search.brave.com/res/v1/web/search?q=artificial+intelligence" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" | jq '.web.results[:3] | .[] | {title, url, description}
通过国家、语言和结果数量自定义搜索:
写入 /tmp/brave_query.txt:
best restaurants
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "country=us" -d "search_lang=en" -d "count=5" | jq '.web.results[] | {title, url}'
参数:
q:搜索查询(必需,最多 400 个字符 / 50 个单词)country:两位国家代码(例如 us、gb、jp)search_lang:语言代码(例如 en、zh、ja)count:每页结果数(1-20,默认:10)offset:分页偏移量(0-9,默认:0)控制露骨内容过滤:
写入 /tmp/brave_query.txt:
programming tutorials
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "safesearch=strict" | jq '.web.results[:3] | .[] | {title, url}
选项: off、strict(注意:图片/视频搜索仅支持 off 和 strict)
按时间筛选结果:
写入 /tmp/brave_query.txt:
tech news
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "freshness=pd" | jq '.web.results[:3] | .[] | {title, url, age}
选项:
pd:过去一天(24 小时)pw:过去一周pm:过去一个月py:过去一年YYYY-MM-DDtoYYYY-MM-DD:自定义日期范围搜索图片:
写入 /tmp/brave_query.txt:
sunset beach
curl -s "https://api.search.brave.com/res/v1/images/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=5" -d "safesearch=strict" | jq '.results[] | {title, url: .properties.url, thumbnail: .thumbnail.src}
图片搜索每个请求最多支持 200 个结果。
搜索视频:
写入 /tmp/brave_query.txt:
learn python
curl -s "https://api.search.brave.com/res/v1/videos/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=5" | jq '.results[] | {title, url, duration}
视频搜索每个请求最多支持 50 个结果。
搜索最近的新闻文章:
写入 /tmp/brave_query.txt:
technology
curl -s "https://api.search.brave.com/res/v1/news/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=3" | jq '.results[:3] | .[] | {title, url, age}
新闻搜索默认使用过去一天(pd)的新鲜度。
使用偏移量获取更多结果:
写入 /tmp/brave_query.txt:
machine learning
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=10" -d "offset=1" | jq '.web.results[] | {title, url}
offset=1 会跳过第一页结果。
查看完整的响应结构:
curl -s "https://api.search.brave.com/res/v1/web/search?q=test" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" | jq 'keys'
响应包括:query、mixed、type、web、videos、news 等。
{
"query": { "original": "search term" },
"web": {
"results": [
{
"title": "Page Title",
"url": "https://example.com",
"description": "Page description...",
"age": "2 days ago"
}
]
}
}
{
"results": [
{
"title": "Image Title",
"properties": { "url": "https://..." },
"thumbnail": { "src": "https://..." }
}
]
}
--data-urlencodepd 或 pw每周安装数
66
代码仓库
GitHub 星标数
49
首次出现
2026 年 1 月 24 日
安全审计
已安装于
gemini-cli55
opencode54
codex54
github-copilot52
amp52
kimi-cli51
Use the Brave Search API via direct curl calls to perform privacy-focused web searches with no user tracking.
Official docs:
https://api.search.brave.com/app/documentation
Use this skill when you need to:
export BRAVE_API_KEY="your-api-key"
| Plan | Price | Rate Limit | Monthly Cap |
|---|---|---|---|
| Free | $0 | 1 query/sec | 2,000 queries |
| Base | $5/1000 | 20 query/sec | 20M queries |
| Pro | $9/1000 | 50 query/sec | Unlimited |
All examples below assume you have BRAVE_API_KEY set.
The base URL for the API is:
https://api.search.brave.com/res/v1Authentication uses the X-Subscription-Token header.
Search the web with a query:
curl -s "https://api.search.brave.com/res/v1/web/search?q=artificial+intelligence" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" | jq '.web.results[:3] | .[] | {title, url, description}
Customize search with country, language, and result count:
Write to /tmp/brave_query.txt:
best restaurants
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "country=us" -d "search_lang=en" -d "count=5" | jq '.web.results[] | {title, url}'
Parameters:
q: Search query (required, max 400 chars / 50 words)country: Two-letter country code (e.g., us, gb, jp)search_lang: Language code (e.g., en, zh, ja)count: Results per page (1-20, default: 10)offset: Pagination offset (0-9, default: 0)Control explicit content filtering:
Write to /tmp/brave_query.txt:
programming tutorials
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "safesearch=strict" | jq '.web.results[:3] | .[] | {title, url}
Options: off, strict (Note: Image/Video search only supports off and strict)
Filter results by time:
Write to /tmp/brave_query.txt:
tech news
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "freshness=pd" | jq '.web.results[:3] | .[] | {title, url, age}
Options:
pd: Past day (24 hours)pw: Past weekpm: Past monthpy: Past yearYYYY-MM-DDtoYYYY-MM-DD: Custom date rangeSearch for images:
Write to /tmp/brave_query.txt:
sunset beach
curl -s "https://api.search.brave.com/res/v1/images/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=5" -d "safesearch=strict" | jq '.results[] | {title, url: .properties.url, thumbnail: .thumbnail.src}
Image search supports up to 200 results per request.
Search for videos:
Write to /tmp/brave_query.txt:
learn python
curl -s "https://api.search.brave.com/res/v1/videos/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=5" | jq '.results[] | {title, url, duration}
Video search supports up to 50 results per request.
Search for recent news articles:
Write to /tmp/brave_query.txt:
technology
curl -s "https://api.search.brave.com/res/v1/news/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=3" | jq '.results[:3] | .[] | {title, url, age}
News search defaults to past day (pd) freshness.
Get more results with offset:
Write to /tmp/brave_query.txt:
machine learning
curl -s "https://api.search.brave.com/res/v1/web/search" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" -G --data-urlencode "q@/tmp/brave_query.txt" -d "count=10" -d "offset=1" | jq '.web.results[] | {title, url}
offset=1 skips the first page of results.
View the full response structure:
curl -s "https://api.search.brave.com/res/v1/web/search?q=test" -H "Accept: application/json" -H "X-Subscription-Token: $(printenv BRAVE_API_KEY)" | jq 'keys'
Response includes: query, mixed, type, web, videos, news, etc.
{
"query": { "original": "search term" },
"web": {
"results": [
{
"title": "Page Title",
"url": "https://example.com",
"description": "Page description...",
"age": "2 days ago"
}
]
}
}
{
"results": [
{
"title": "Image Title",
"properties": { "url": "https://..." },
"thumbnail": { "src": "https://..." }
}
]
}
--data-urlencode for special characterspd or pwWeekly Installs
66
Repository
GitHub Stars
49
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykWarn
Installed on
gemini-cli55
opencode54
codex54
github-copilot52
amp52
kimi-cli51
飞书OpenAPI Explorer:探索和调用未封装的飞书原生API接口
40,800 周安装