采集 Brave Search 的网页结果、相关搜索词、讨论、视频、新闻、图片结果和知识卡片数据,转换为结构化 JSON,用于替代性搜索引擎监控、排名检查和智能体原生工作流。
Structured output
使用 Crawlora 的 Brave Search API,用来自支持的公开 Brave Search 页面的结构化结果,为搜索监控、品牌跟踪和智能体原生工作流提供数据增强。Crawlora 会对响应字段进行规范化,并提供端点专属的文档、Playground 示例和文档化的错误行为。
SERP workflows
Brave Search 展示的域名、讨论、视频和上下文模块可能与其他引擎不同。Crawlora 帮助团队在无需维护独立抓取基础设施的情况下,将 Brave 排名检查与 Google、Bing 监控结合起来。
SERP 监控工作流Request schema
These parameters come from the active Search Brave catalog entry.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| q | string | Yes | Search query | - |
| country | string | No | Brave result country; defaults to us | - |
| lang | string | No | Brave UI language; defaults to en-us | - |
| offset | integer | No | Zero-based Brave result page | - |
| time_range | string | No | Preset time filter: any, day, week, month, year, or custom | - |
| date_from | string | No | Custom start date in YYYY-MM-DD; requires date_to | - |
| date_to | string | No | Custom end date in YYYY-MM-DD; requires date_from | - |
Example JSON
This example is rendered from the active endpoint catalog so the page stays aligned with Docs and Playground.
{
"code": 200,
"msg": "OK",
"data": {
"results": [
{
"position": 1,
"title": "OpenAI",
"url": "https://openai.com/",
"description": "OpenAI helps you build and deploy AI systems.",
"hostname": "openai.com",
"path": "research > overview"
}
],
"pagination": {
"offset": 0,
"next_offset": 1
},
"related_queries": [
"openai api"
],
"knowledge_card": {
"title": "OpenAI",
"description": "AI research and deployment company",
"long_description": "OpenAI is an AI research and deployment company building useful models and tools.",
"url": "https://openai.com/",
"image": "https://imgs.search.brave.com/openai-card.png",
"category": "Artificial intelligence company"
},
"discussions": [
{
"position": 1,
"title": "Why is OpenAI so popular?",
"url": "https://www.reddit.com/r/OpenAI/comments/abc123/why_is_openai_so_popular/",
"description": "Trying to understand why OpenAI has such a large audience.",
"forum": "r/OpenAI",
"hostname": "www.reddit.com"
}
],
"videos": [
{
"position": 1,
"title": "OpenAI DevDay keynote - YouTube",
"url": "https://www.youtube.com/watch?v=openai-devday",
"description": "Watch the OpenAI DevDay keynote and product announcements.",
"platform": "YouTube",
"creator": "OpenAI"
}
]
}
}Endpoint catalog
/brave/searchReturns normalized web search results from Brave Search for a query string, along with offset-based pagination, related queries, discussions, videos, and the right-side knowledge card when Brave includes one. Use time_range for preset ranges or date_from/date_to for a custom YYYY-MM-DD range. Locale defaults to country=us and lang=en-us.
MCP tool brave_search
/brave/newsReturns normalized Brave news search results for a query string. Locale defaults to country=us and lang=en-us. Results are fetched from public Brave Search news HTML and return 503 when Brave serves a challenge page or unusable HTML.
Response notes
- Challenge pages, bot blocks, malformed Brave bootstrap data, and parser drift return `503`. - Empty first-page parser output is only treated as no results when Brave includes an explicit no-results marker. Example response: ```json { "code": 200, "msg": "OK", "data": { "results": [ { "position": 1, "title": "OpenAI announces update", "url": "https://example.com/openai-news", "description": "OpenAI announced an update.", "source": "Example News", "hostname": "example.com", "thumbnail": "https://imgs.search.brave.com/example-thumb.jpg", "age": "2 hours ago" } ], "pagination": { "offset": 0, "next_offset": 1 } } } ```
MCP tool brave_news
/brave/videosReturns normalized Brave video search results for a query string. Locale defaults to country=us and lang=en-us. Results are fetched from public Brave Search video HTML and return 503 when Brave serves a challenge page or unusable HTML.
Response notes
- Challenge pages, bot blocks, malformed Brave bootstrap data, and parser drift return `503`. - Empty first-page parser output is only treated as no results when Brave includes an explicit no-results marker. Example response: ```json { "code": 200, "msg": "OK", "data": { "results": [ { "position": 1, "title": "OpenAI DevDay keynote - YouTube", "url": "https://www.youtube.com/watch?v=openai-devday", "description": "Watch the OpenAI DevDay keynote.", "platform": "YouTube", "creator": "OpenAI", "thumbnail": "https://imgs.search.brave.com/example-thumb.jpg", "duration": "45:12", "age": "November 6, 2023" } ], "pagination": { "offset": 0, "next_offset": 1 } } } ```
MCP tool brave_videos
/brave/imagesReturns normalized Brave image search results for a query string. Locale defaults to country=us and lang=en-us. Results are fetched from public Brave Search image HTML and return 503 when Brave serves a challenge page or unusable HTML.
Response notes
- Challenge pages, bot blocks, malformed Brave bootstrap data, and parser drift return `503`. - Empty first-page parser output is only treated as no results when Brave includes an explicit no-results marker. Example response: ```json { "code": 200, "msg": "OK", "data": { "results": [ { "position": 1, "title": "OpenAI colors mobile 08", "url": "https://area17.com/clients/openai", "source": "area17.com", "image_url": "https://media-cdn-prod.area17.com/openai.jpg", "thumbnail": "https://imgs.search.brave.com/example", "width": 1000, "height": 1184 } ], "pagination": { "offset": 0, "next_offset": 1 } } } ```
MCP tool brave_images
/brave/suggestReturns Brave autosuggest query completions for a query prefix. Locale defaults to country=us and lang=en-us. Suggestions are fetched from public Brave Search suggest JSON and trimmed to the requested count.
Response notes
- Malformed suggest payloads and upstream blocks return `503`. - Duplicate or empty suggestions are removed from the normalized response. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "openai", "suggestions": [ { "position": 1, "query": "openai api" } ] } } ```
MCP tool brave_suggest
Managed execution
Crawlora 将支持的公开 Brave Search 结果页面转化为规范化 JSON,配有端点专属的请求逻辑、文档、Playground 示例和结构化的错误响应。
针对 Brave 网页、新闻、视频、图片和建议页面的端点专属请求逻辑
在支持范围内提供代理感知采集和验证感知处理
对自然结果、相关搜索词、讨论、视频和知识卡片提供规范化 JSON
Docs 和 Playground 示例均由当前活跃目录生成
针对不支持或不可用的上游响应提供结构化的错误响应
基于文档化端点成本的额度计费
Crawlora 并非 Brave 官方的 Search API。Crawlora 为支持的 Brave Search 结果页面提供结构化网络公开数据提取端点。如果你的用例需要 Brave 官方授权的搜索索引 API,请使用 Brave 官方 API。当你需要 Crawlora 跨平台的抓取 API、文档、Playground、响应规范化以及跨多个公开网络数据源的托管执行工作流时,Crawlora 会很有用。
Related APIs
Connect this endpoint with adjacent Crawlora search, monitoring, docs, and pricing pages.
将 Brave 可见性与 Bing 的 SERP 数据进行比较。
Open将 Brave 的结果与 Google Search 监控结合起来。
Open为 Brave 搜索监控增加搜索需求和趋势发现信号。
Open跟踪关键词排名、结果变化和搜索可见性。
Open存储用于关键词、URL 和竞品监控的周期性 SERP 检查。
Open以 Brave Search 作为一种替代引擎信号,构建关键词跟踪仪表盘。
Open通过结构化的结果快照检查关键词排名和排名 URL。
Open将 Crawlora 用作代理机构和 SaaS SEO 报告背后的数据层。
Open查看套餐、额度、限制和用量选项。
Open浏览完整的活跃端点目录。
OpenHow to scrape Brave
Crawlora 的 Brave 端点是 GET 请求,接受 q 以及 offset、count、country 和 lang 参数:/brave/search 返回基于 offset 分页的网页结果、相关搜索词、讨论、视频,以及 Brave 提供时的右侧知识卡片;/brave/news、/brave/videos 和 /brave/images 在 Brave 支持的范围内返回带 time_range 和 date 筛选的垂直搜索结果;/brave/suggest 返回自动建议补全。地区参数默认为 country=us、lang=en-us,遇到 Brave 验证页时会返回文档化的 503 错误。
对 GET /brave/search?q=<keyword>&country=us&lang=en-us 发起请求。结果行带有 position、title、URL 和 snippet;响应中还包括相关搜索词、讨论、视频,以及存在时的知识卡片。
Brave 使用 offset 而非页码进行分页:传入 offset=<n> 即可从第 n 条结果继续读取。将 offset 与每条结果一起存储,方便多次运行之间进行比较。
GET /brave/news 和 /brave/videos 接受 time_range 和 date_from(网页搜索还接受 date_to)以限定结果的时间窗口,这更适合监控场景而非一次性查询。GET /brave/images 返回图片结果;/brave/suggest 返回补全建议。
Brave 运行的是自己的独立索引,因此将 /brave/search 与 Crawlora 的 /google/search 和 /bing/search 端点进行对比,可以看出某个排名有多少是 Google 特有的。使用同一个密钥、同一种响应结构。
FAQ
Answers for developers evaluating Crawlora for supported public search result pages.
是的。Crawlora 为支持的公开 Brave Search 结果页面提供端点,并通过文档化的 API 路由返回规范化 JSON。
不是。Crawlora 并非 Brave 官方的 Search API。Crawlora 为支持的 Brave Search 结果页面提供结构化网络公开数据提取端点。如果你的用例需要 Brave 官方授权的搜索索引 API,请使用 Brave 官方 API。
Brave 已于 2026 年 2 月取消了 Brave Search API 的免费套餐,开发者被转移到计量计费(大约每 1000 次请求 5 美元,且每月的小额免费额度需要署名)。Brave 的官方 API 仍然存在,但 Crawlora 的 Brave Search 端点是一种替代方案,在 Crawlora 基于额度的计费下以规范化 JSON 返回 Brave 的结果——如果你已经在用 Crawlora 调用 Google 和 Bing 搜索,并希望跨引擎使用同一个 API,会很方便。
Brave 的官方 API 使用来自其 Brave Search API 控制台的专属密钥。使用 Crawlora 时,你只需一个 Crawlora API 密钥(以 x-api-key 请求头发送)即可调用 Brave 端点——同一个密钥在 Google、Bing 和 Brave 之间通用。
目录示例包括带有排名位置、标题、URL、描述、域名、分页信息的自然结果,以及 Brave 包含时的相关搜索词、知识卡片数据、讨论和视频。
可以。Brave Search 数据可以支撑 SERP 监控和搜索数据增强工作流,尤其是在将 Brave 的可见性与 Google 和 Bing 的结果进行比较时。
支持。Brave 平台包括搜索、新闻、视频、图片和建议端点,具体以生成目录中处于活跃状态的端点为准。
Crawlora 会为不可用的上游响应提供文档化的错误。在支持的范围内,Brave 媒体端点的文档将验证页、拦截、损坏的引导数据和解析器漂移列为 503 情况。
Brave 可能会展示不同的排名模式、讨论内容、信息源多样性和知识卡片背景信息,这使它可以作为额外的搜索可见性信号发挥作用。
Brave 没有像 Google Search Console 那样为第三方提供的控制台,但你可以用 Crawlora 自建一个 Brave 搜索仪表盘:定期拉取结构化的 Brave Search 结果,存储排名位置、URL 和摘要,从而随时间监控你的域名和竞品在 Brave 上的排名情况。参考 SERP 监控应用场景获取一套参考工作流。
对 Crawlora 的 /brave/search 端点发起 GET 请求,附带 q 以及可选的 offset、country、lang、time_range、date_from 和 date_to。你会得到带排名位置、相关搜索词、讨论、视频和知识卡片的网页结果,均为 JSON。
按 offset 而非页码。传入 offset 即可从指定的结果索引继续读取;响应会报告其所使用的 offset,方便你串联多次调用。
Brave 销售一个带有自己套餐和配额的官方 Search API。Crawlora 的端点读取公开的结果页面,并以与其 Google、Bing 和 DuckDuckGo 端点相同的结构返回数据,如果你希望跨引擎使用一套集成而不是每个引擎对接一个供应商,这一点很重要。
可以。Crawlora 的 /brave/news 端点接受 time_range 和 date_from,/brave/search 接受 date_from 和 date_to,因此你可以将结果限定在某个时间窗口内。
Guides
Read Crawlora guides and comparisons that use the Brave API.
在 Playground 中测试 /brave/search,在 Docs 中查看当前的响应架构,并在价格页面比较基于额度的用量。