其他
需要按时间、地区、语言和可信源筛选新闻时,用 Brave…
当你要做新闻检索、突发新闻监控、历史新闻研究、多语言新闻或自定义新闻源排序时,调用 Brave News Search API 获取带标题、URL、摘要、时间、缩略图等字段的新闻条目。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 57/100 ×0.15
适用场景
需要按时间、地区、语言和可信源筛选新闻时特定
解决思路
- 到 https://api.search.brave.com 获取 API Key;该接口包含在 Brave 的 Search plan,需在 https://api-dashboard.search.brave.com/app/subscriptions/subscribe 订阅或确认权限。
- 调用 GET 或 POST https://api.search.brave.com/res/v1/news/search;GET 和 POST 都支持,长查询或复杂 Goggles 时用 POST。
- 在请求头中加入 Accept: application/json 和 X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}。
- 基础搜索示例:curl -s "https://api.search.brave.com/res/v1/news/search?q=space+exploration" -H "Accept: application/json" -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"。
- 近 24 小时新闻示例:curl -s "https://api.search.brave.com/res/v1/news/search" -H "Accept: application/json" -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" -G --data-urlencode "q=cybersecurity" --data-urlencode "country=US" --data-urlencode "freshness=pd" --data-urlencode "count=20"。
- 日期范围过滤示例:curl -s "https://api.search.brave.com/res/v1/news/search" -H "Accept: application/json" -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" -G --data-urlencode "q=climate summit" --data-urlencode "freshness=2026-01-01to2026-01-31"。
- 设置必填参数 q:搜索查询,长度 1-400 字符,最多 50 个词。
- 设置可选参数 country:搜索国家,2 字母国家代码或 ALL,默认 US。
- 设置可选参数 search_lang:语言偏好,2+ 字符语言代码,默认 en。
- 设置可选参数 ui_lang:UI 语言,例如 en-US,默认 en-US。
- 设置可选参数 count:返回结果数,1-50,默认 20。
- 设置可选参数 offset:分页偏移,0-9,默认 0。
- 设置可选参数 safesearch:成人内容过滤,可选 off/moderate/strict,默认 strict。
- 设置可选参数 freshness:时间过滤,可选 pd/pw/pm/py 或日期范围。
- 设置可选参数 spellcheck:自动纠正查询,默认 true。
- 设置可选参数 extra_snippets:为每个结果额外返回最多 5 条摘录。
- 设置可选参数 goggles:自定义排序过滤器,可为 URL 或内联规则;多个时重复传递该参数。
- 设置可选参数 operators:是否应用搜索操作符,默认 true。
- 设置可选参数 include_fetch_metadata:是否在结果中包含抓取时间戳,默认 false;设为 true 时使用 results[].fetched_content_timestamp。
- 理解 freshness 取值:pd=过去 24 小时,pw=过去 7 天,pm=过去 31 天,py=过去 365 天,YYYY-MM-DDtoYYYY-MM-DD=自定义日期范围。
- 解析响应顶层字段:type 固定为 news;query.original 为原始查询;query.altered 为拼写纠正后的查询;query.cleaned 为清理/规范化后的查询;query.spellcheck_off 表示是否禁用拼写检查;query.show_strict_warning 表示严格 SafeSearch 是否阻止了结果;query.search_operators.applied 表示是否应用操作符;query.search_operators.cleaned_query 表示操作符处理后的查询;query.search_operators.sites 表示 site: 操作符提取出的域名列表。
- 解析 results[] 字段:type 固定为 news_result;title 为文章标题;url 为文章源 URL;description 为文章摘要;age 为可读时间,例如 "2 hours ago";page_age 为来源发布时间 ISO 时间;page_fetched 为页面最后抓取 ISO 时间;fetched_content_timestamp 为抓取时间戳,仅在 include_fetch_metadata=true 时出现;meta_url.scheme/netloc/hostname/favicon/path 为 URL 元信息;thumbnail.src 和 thumbnail.original 为缩略图;extra_snippets 为最多 5 条额外摘录;profile.name/url/long_name/img 为来源站点信息。
- 使用 Goggles 重排新闻结果:可提升可信来源或压制不需要的来源,这是 Brave 特有功能。
- Hosted Goggles 用法:--data-urlencode "goggles=https://raw.githubusercontent.com/brave/goggles-quickstart/main/goggles/hacker_news.goggle";托管文件必须在 GitHub/GitLab,包含 ! name:、! description:、! author: 头,并在 https://search.brave.com/goggles/create 注册。
- Inline Goggles 用法:--data-urlencode 'goggles=$discard\n$site=example.com';内联规则不需要注册。
- Goggles 语法:规则以 $ 开头,后接逗号分隔选项;动作选一个 discard、boost[=N]、downrank[=N],N 为 1-10 的整数;站点过滤为 site=DOMAIN;例如 $site=example.com,boost=3;多条规则用 \n 或 %0A 分隔。
- Goggles 允许列表示例:$discard\n$site=docs.python.org\n$site=developer.mozilla.org;阻止列表示例:$discard,site=pinterest.com\n$discard,site=quora.com。
- Goggles 资源:Discover 见 https://search.brave.com/goggles/discover,语法见 https://search.brave.com/help/goggles,Quickstart 见 https://github.com/brave/goggles-quickstart。
- 使用搜索操作符细化结果:site:local-paper.com 限定特定新闻站点;"exact phrase" 匹配精确短语;-exclude 排除词;设置 operators=false 可禁用操作符解析。
- 按场景执行:突发新闻监控用 freshness=pd;自定义新闻源用 Goggles boost 可信来源并 discard 其他来源;历史新闻研究用 freshness=YYYY-MM-DDtoYYYY-MM-DD;多语言新闻组合 country、search_lang、ui_lang;数据管道设置 include_fetch_metadata=true 获取 fetched_content_timestamp。
- 分页时结合 offset 0-9 与 count 使用;SafeSearch 默认 strict;extra_snippets=true 时每个结果最多返回 5 条额外摘录。
适用边界 · 注意事项
- 没有 Brave Search API Key 或未订阅包含该接口的 Search plan 时不可用。
- 需要网页、图片、视频等非新闻检索时,不应使用 news/search 接口。
- 不能接受依赖第三方搜索服务、向 Brave API 发送查询或要求完全离线/无外部 API 依赖的场景不适用。