Brave API endpoint
Search Brave
Returns 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.
GETapiKey3 credits/requestbrave.searchResponseDoc
/brave/searchParameters
| Name | In | Type | Required | Enum | Example | Description |
|---|---|---|---|---|---|---|
| q | query | string | Yes | openai | Search query | |
| offset | query | integer | No | 1 | Zero-based Brave result page | |
| country | query | string | No | all, ar, at, au, be, br, ca, ch, cl, cn, de, dk, es, fi, fr, gb, gr, hk, id, in, it, jp, kr, mx, my, nl, no, nz, ph, pl, pt, ru, sa, se, sg, tr, tw, us, za | us | Brave result country; defaults to us |
| lang | query | string | No | de-de, en-ca, en-gb, en-in, en-us, fi-fi, fr-ca, fr-fr, ja-jp, pt-br, sq-al, sw-ke, zh-tw | en-us | Brave UI language; defaults to en-us |
| time_range | query | string | No | any, day, week, month, year, custom | Preset time filter: any, day, week, month, year, or custom | |
| date_from | query | string | No | 2026-03-01 | Custom start date in YYYY-MM-DD; requires date_to | |
| date_to | query | string | No | 2026-03-30 | Custom end date in YYYY-MM-DD; requires date_from | |
| x-api-key | header | string | Yes | API key required |
Authentication
Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.
Billing
Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.
- Credit cost
- 3 credits/request
- Charged response
- Successful 2xx responses
| Plan | Price | Included credits | Daily cap | Rate limit | Overage |
|---|---|---|---|---|---|
| Free | $0/mo | 2,000 | 500 daily credits | 5/min | No overage |
| Starter | $9/mo | 20,000 | 5,000 daily credits | 15/min | $0.75/1,000 overage credits when enabled |
| Growth | $29/mo | 100,000 | 25,000 daily credits | 45/min | $0.45/1,000 overage credits when enabled |
| Pro | $79/mo | 400,000 | No daily cap | 120/min | $0.30/1,000 overage credits |
| Business | $199/mo | 1,200,000 | No daily cap | 300/min | $0.20/1,000 overage credits |
| Enterprise | $499/mo | 5,000,000 | No daily cap | 1,000/min | $0.12/1,000 overage credits |
Failure responses
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid query | #/definitions/app.Response |
| 404 | No results found | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
Example response
{
"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"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/brave.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | brave.SearchResponse | No | ||||
| data.discussions | array | No | ||||
| data.discussions[].age | string | No | October 24, 2024 | |||
| data.discussions[].comment_count | integer | No | 30 | |||
| data.discussions[].description | string | No | I have free time from highschool and want to get into coding, and tips on diving in and learning. | |||
| data.discussions[].favicon | string | No | https://imgs.search.brave.com/example-reddit.ico | |||
| data.discussions[].forum | string | No | r/pythontips | |||
| data.discussions[].hostname | string | No | www.reddit.com | |||
| data.discussions[].path | string | No | r > pythontips > comments > 1gav6bm > how_to_learn_python | |||
| data.discussions[].position | integer | No | 1 | |||
| data.discussions[].score | integer | No | 25 | |||
| data.discussions[].title | string | No | How to learn python | |||
| data.discussions[].top_comment | string | No | r/learnpython | |||
| data.discussions[].url | string | No | https://www.reddit.com/r/pythontips/comments/1gav6bm/how_to_learn_python/ | |||
| data.knowledge_card | brave.KnowledgeCard | No | ||||
| data.knowledge_card.category | string | No | computer program | |||
| data.knowledge_card.description | string | No | computer program that produces the message "Hello, world!", often used to illustrate the basic syntax of a programming language | |||
| data.knowledge_card.image | string | No | https://imgs.search.brave.com/example-card.png | |||
| data.knowledge_card.long_description | string | No | A "Hello, World!" program is usually a simple computer program that displays on the screen a message similar to "Hello, World!". | |||
| data.knowledge_card.provider | brave.KnowledgeCardProvider | No | ||||
| data.knowledge_card.provider.icon | string | No | https://imgs.search.brave.com/example-provider.ico | |||
| data.knowledge_card.provider.name | string | No | Wikipedia | |||
| data.knowledge_card.provider.url | string | No | https://en.wikipedia.org/wiki/%22Hello,_World!%22_program | |||
| data.knowledge_card.title | string | No | "Hello, World!" program | |||
| data.knowledge_card.url | string | No | https://en.wikipedia.org/wiki/%22Hello,_World!%22_program | |||
| data.pagination | brave.SearchPagination | No | ||||
| data.pagination.next_offset | integer | No | 1 | |||
| data.pagination.offset | integer | No | 0 | |||
| data.pagination.previous_offset | integer | No | 0 | |||
| data.related_queries | array | No | hello world anime,hello world code | |||
| data.results | array | No | ||||
| data.results[].age | string | No | 1 day ago | |||
| data.results[].description | string | No | OpenAI helps you build and deploy AI systems. | |||
| data.results[].favicon | string | No | https://imgs.search.brave.com/example.ico | |||
| data.results[].hostname | string | No | openai.com | |||
| data.results[].path | string | No | research > index | |||
| data.results[].position | integer | No | 1 | |||
| data.results[].title | string | No | OpenAI | |||
| data.results[].url | string | No | https://openai.com/ | |||
| data.videos | array | No | ||||
| data.videos[].age | string | No | March 24, 2024 | |||
| data.videos[].creator | string | No | Train To Code | |||
| data.videos[].description | string | No | Introducing you to 15 of the most popular programming languages in the world, by writing hello world to the console. | |||
| data.videos[].duration | string | No | 08:47 | |||
| data.videos[].favicon | string | No | https://imgs.search.brave.com/example-youtube.ico | |||
| data.videos[].hostname | string | No | www.youtube.com | |||
| data.videos[].path | string | No | watch | |||
| data.videos[].platform | string | No | YouTube | |||
| data.videos[].position | integer | No | 1 | |||
| data.videos[].thumbnail | string | No | https://imgs.search.brave.com/example-thumb.jpg | |||
| data.videos[].title | string | No | Hello World in 15 Programming Languages - YouTube | |||
| data.videos[].url | string | No | https://www.youtube.com/watch?v=tRUsXTbixIE | |||
| data.videos[].views | string | No | 118 | |||
| msg | string | No | OK |
Example request
curl -X GET "https://api.crawlora.net/api/v1/brave/search?q=openai&offset=1&country=us&lang=en-us&date_from=2026-03-01&date_to=2026-03-30" -H "x-api-key: <api-key>"
TypeScript fetch
const url = new URL("https://api.crawlora.net/api/v1/brave/search");
url.searchParams.set("q", "openai");
url.searchParams.set("offset", "1");
url.searchParams.set("country", "us");
url.searchParams.set("lang", "en-us");
url.searchParams.set("date_from", "2026-03-01");
url.searchParams.set("date_to", "2026-03-30");
const headers = new Headers();
headers.set("x-api-key", "<api-key>");
const response = await fetch(url, {
method: "GET",
headers,
});
const payload = await response.json();