{"openapi":"3.0.0","info":{"description":"Brave API — web, news, video, and image search over Brave's independent index, plus AI surfaces for LLM apps: LLM Context (clean grounded context for RAG) and AI Answers (OpenAI-compatible chat completions with search), local POIs, rich realtime results, query suggestions and spellcheck. Auth is a static X-Subscription-Token header; every endpoint lives under https://api.search.brave.com/res/v1. Note: auth failures return HTTP 422 with error.code SUBSCRIPTION_TOKEN_INVALID (not 401).","version":[]},"servers":[{"description":"Brave API — web, news, video, and image search over Brave's independent index, plus AI surfaces for LLM apps: LLM Context (clean grounded context for RAG) and AI Answers (OpenAI-compatible chat completions with search), local POIs, rich realtime results, query suggestions and spellcheck. Auth is a static X-Subscription-Token header; every endpoint lives under https://api.search.brave.com/res/v1. Note: auth failures return HTTP 422 with error.code SUBSCRIPTION_TOKEN_INVALID (not 401).","url":"https://api.apirails.com/brave"}],"paths":{"/res/v1/web/search":{"get":{"tags":["Web Search"],"parameters":[{"name":"count","in":"query","description":"The number of search results returned in response. The maximum is 20. The actual number delivered may be less than requested. Combine this parameter with offset to paginate search results. NOTE: Count only applies to web results.","required":false,"schema":{"type":"number","example":""}},{"name":"country","in":"query","description":"The 2 character country code where the search results come from.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"enable_rich_callback","in":"query","description":"Enable rich callback. Allows you to get real time rich results via a callback URL when they are relevant to your query. NOTE: Requires Search plan.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"extra_snippets","in":"query","description":"A snippet is an excerpt from a page you get as a result of the query, and extra_snippets allow you to get up to 5 additional, alternative excerpts.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"freshness","in":"query","description":"Filters search results by page age. The age of a page is determined by the most relevant date reported by the content, such as its published or last modified date. Supported values: pd - Pages aged 24 hours or less; pw - Pages aged 7 days or less; pm - Pages aged 31 days or less; py - Pages aged 365 days or less; YYYY-MM-DDtoYYYY-MM-DD - A custom date range is also supported by specifying start and end dates e.g. 2022-04-01to2022-07-30.","required":false,"schema":{"type":"string","example":""}},{"name":"goggles","in":"query","description":"Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. For more details, see the Goggles documentation. The parameter can be a single Goggle or a list of up to 3 Goggles.","required":false,"schema":{"type":"string","example":""}},{"name":"goggles_id","in":"query","description":"Goggles act as a custom re-ranking on top of Brave's search index. For more details, refer to the Goggles repository. This parameter is deprecated. Please use the goggles parameter.","required":false,"schema":{"type":"string","example":""}},{"name":"include_fetch_metadata","in":"query","description":"Include fetch metadata.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"offset","in":"query","description":"The zero based offset that indicates number of search result pages (count) to skip before returning the result. The default is 0 and the maximum is 9. Use this parameter along with the count parameter to page results — increment offset by 1 for each subsequent page. It is possible for multiple pages to include some overlap in results.","required":false,"schema":{"type":"number","example":""}},{"name":"operators","in":"query","description":"Whether to apply search operators","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"q","in":"query","description":"The user's search query term. Query can not be empty. Maximum of 600 characters and 75 words in the query.","required":true,"schema":{"type":"string","example":""}},{"name":"result_filter","in":"query","description":"A comma delimited string of result types to include in the search response. Not specifying this parameter will return back all result types in search response where data is available and the plan has the corresponding option activated. The response always includes query and type to identify any query modifications and response type respectively. Available result filter values are: discussions, faq, infobox, news, query, summarizer, videos, web, locations. NOTE: count param only applies to web results.","required":false,"schema":{"type":"string","example":""}},{"name":"safesearch","in":"query","description":"Filters search results for adult content. off - No filtering is done. moderate - Filters explicit content, like images and videos, but allows adult domains in the search results. strict - Drops all adult content from search results.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["off","moderate","strict"]}}},{"name":"search_lang","in":"query","description":"The 2 or more character language code for which the search results are provided. Supported codes include ar, eu, bn, bg, ca, zh-hans, zh-hant, hr, cs, da, nl, en, en-gb, et, fi, fr, gl, de, el, gu, he, hi, hu, is, it, ja, jp, kn, ko, lv, lt, ms, ml, mr, nb, pl, pt-br, pt-pt, pa, ro, ru, sr, sk, sl, es, sv, ta, te, th, tr, uk, vi.","required":false,"schema":{"type":"string","example":""}},{"name":"spellcheck","in":"query","description":"Whether to spell check provided query. If the spell checker is enabled, the modified query is always used for search. The modified query can be found in altered key from the query response model.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"summary","in":"query","description":"This parameter enables summary key generation in web search results. This is required for summarizer to be enabled.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"text_decorations","in":"query","description":"Whether display strings (e.g. result snippets) should include decoration markers (e.g. highlighting characters).","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"ui_lang","in":"query","description":"User interface language preferred in response. Usually of the format <language_code>-<country_code>, e.g. en-US, de-DE, pt-BR. For more, see RFC 9110 (Accept-Language).","required":false,"schema":{"type":"string","example":""}},{"name":"units","in":"query","description":"The measurement units. metric - The standardized measurement system (km, celcius..). imperial - The British Imperial system of units (mile, fahrenheit..).","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["imperial","metric"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/web/search/get","api_endpoint":"https://api.search.brave.com/res/v1/web/search"},"summary":"Search Web","description":"Core web search over Brave's independent index. Optional localization headers (x-loc-lat, x-loc-long, x-loc-timezone, x-loc-city, x-loc-state, x-loc-country, x-loc-postal-code) are also accepted for relevant local results — send them as request headers if needed. Auth failures return 422 SUBSCRIPTION_TOKEN_INVALID.","security":[{"bearerAuth":[]}]}},"/res/v1/web/rich":{"get":{"tags":["Web Search"],"parameters":[{"name":"callback_key","in":"query","description":"The callback key to use for the rich header","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/web/rich_search","api_endpoint":"https://api.search.brave.com/res/v1/web/rich"},"summary":"Get Rich Result","description":"Gets the rich realtime result for the requested resource, ie. query like \"weather in london\". The rich result callback_key is obtained by performing first a Web Search and including the enable_rich_callback=true parameter in the request. Requires a Search plan.","security":[{"bearerAuth":[]}]}},"/res/v1/llm/context":{"get":{"tags":["AI Search"],"parameters":[{"name":"context_threshold_mode","in":"query","description":"The mode to use to determine the threshold for including content in context.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["disabled","strict","lenient","balanced"]}}},{"name":"count","in":"query","description":"The maximum number of search results considered to select the LLM context data. The default is 20 and the maximum is 50.","required":false,"schema":{"type":"number","example":""}},{"name":"country","in":"query","description":"The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"enable_local","in":"query","description":"Whether to enable local recall. Not setting this value means auto-detect and uses local recall if any of the localization headers are provided.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"enable_source_metadata","in":"query","description":"Enable source metadata enrichment (site_name, favicon, thumbnail, description) in the sources attribute of the response.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"freshness","in":"query","description":"Filters search results by page age. Supported values: pd - Pages aged 24 hours or less; pw - Pages aged 7 days or less; pm - Pages aged 31 days or less; py - Pages aged 365 days or less; YYYY-MM-DDtoYYYY-MM-DD - A custom date range is also supported by specifying start and end dates e.g. 2022-04-01to2022-07-30.","required":false,"schema":{"type":"string","example":""}},{"name":"goggles","in":"query","description":"Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. For more details, see the Goggles documentation. The parameter can be a single Goggle or a list of up to 3 Goggles.","required":false,"schema":{"type":"string","example":""}},{"name":"maximum_number_of_snippets","in":"query","description":"Maximum number of different snippets (or chunks of text) to include in LLM context. The default is 50 and maximum is 256.","required":false,"schema":{"type":"number","example":""}},{"name":"maximum_number_of_snippets_per_url","in":"query","description":"Maximum number of snippets to include per URL. The default is 50 and maximum is 100.","required":false,"schema":{"type":"number","example":""}},{"name":"maximum_number_of_tokens","in":"query","description":"Approximate maximum number of tokens to include in context. The default is 8192 and maximum is 32768.","required":false,"schema":{"type":"number","example":""}},{"name":"maximum_number_of_tokens_per_url","in":"query","description":"Maximum number of tokens to include per URL. The default is 4096 and maximum is 8192.","required":false,"schema":{"type":"number","example":""}},{"name":"maximum_number_of_urls","in":"query","description":"Maximum number of different URLs to include in LLM context.","required":false,"schema":{"type":"number","example":""}},{"name":"q","in":"query","description":"The user's search query term. Query can not be empty. Maximum of 600 characters and 75 words in the query.","required":true,"schema":{"type":"string","example":""}},{"name":"safesearch","in":"query","description":"Filters results for adult content. off - No filtering is done. moderate - Drops adult content from the results used for context. strict - Drops all adult content from the results used for context. When not set, no filtering is applied — except for local recall, which stays strict.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["off","moderate","strict"]}}},{"name":"search_lang","in":"query","description":"The search language preference. The 2 or more character language code for which the search results are provided (e.g. en, de, ja, pt-br; default en).","required":false,"schema":{"type":"string","example":""}},{"name":"spellcheck","in":"query","description":"Whether to enable spellcheck on the query.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/ai/llm_context/get","api_endpoint":"https://api.search.brave.com/res/v1/llm/context"},"summary":"Get LLM Context","description":"Brave LLM Context — search the web and return clean, chunked, token-budgeted textual context ready for RAG / LLM consumption (snippets and URLs with configurable budget knobs: tokens, snippets, urls, per-url caps). Optional localization headers (x-loc-lat, x-loc-long, x-loc-city, ...) are also accepted — send them as request headers if needed. Requires a Data for AI plan.","security":[{"bearerAuth":[]}]}},"/res/v1/chat/completions":{"post":{"tags":["AI Search"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/ai/answers","api_endpoint":"https://api.search.brave.com/res/v1/chat/completions"},"summary":"Generate AI Answer","description":"Brave AI Answers — OpenAI-compatible chat-completions endpoint that answers grounded in live Brave search results (drop-in for OpenAI SDKs with a different base URL). Streaming (stream=true) is the default and is required for entities/citations and research mode; research mode runs iterative multi-query deep research under time/iteration budgets.","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"country":{"type":"string","description":"The 2 character country code where the search results come from."},"enable_citations":{"type":"boolean","description":"Whether to include inline citation tags in the answer. Requires stream=true and is not supported in research mode.","enum":[true,false]},"enable_entities":{"type":"boolean","description":"Whether to include inline entity tags in the answer. Requires stream=true and is not supported in research mode.","enum":[true,false]},"enable_research":{"type":"boolean","description":"Whether to answer with iterative deep research instead of a single search. Requires stream=true.","enum":[true,false]},"language":{"type":"string","description":"The language code for the search and the answer."},"max_completion_tokens":{"type":"number","description":"Maximum number of tokens the answer may use."},"messages":{"type":"array","description":"The conversation so far. Exactly one user message is supported, e.g. [{\"role\": \"user\", \"content\": \"Explain quantum computing\"}].","required":true,"items":{"type":"object","properties":{"content":{"type":"string","description":"The user's question or prompt for the answer engine.","required":true},"role":{"type":"string","description":"The message role. Only \"user\" is currently supported; defaults to user.","enum":["user"]}}}},"metadata":{"type":"object","description":"Accepted for OpenAI SDK compatibility and currently ignored: the pairs are not stored or returned.","properties":{}},"model":{"type":"string","description":"Model ID used to generate the response: brave-pro or brave.","enum":["brave-pro","brave"]},"research_allow_thinking":{"type":"boolean","description":"Accepted for compatibility. Ignored by the mixer engine behind this API, which always runs research with extended thinking off.","enum":[true,false]},"research_maximum_number_of_iterations":{"type":"number","description":"Maximum number of research iterations."},"research_maximum_number_of_queries":{"type":"number","description":"Maximum number of search queries research mode may issue in total."},"research_maximum_number_of_results_per_query":{"type":"number","description":"Maximum number of search results to consider per research query."},"research_maximum_number_of_seconds":{"type":"number","description":"Time budget for research, in seconds."},"research_maximum_number_of_tokens_per_query":{"type":"number","description":"Maximum number of tokens to gather per research query."},"safesearch":{"type":"string","description":"Filters adult content from results used for the answer: off, moderate, or strict.","enum":["off","moderate","strict"]},"seed":{"type":"number","description":"Accepted for OpenAI SDK compatibility and currently ignored: answers are not reproducible."},"stream":{"type":"boolean","description":"Whether to stream the response with server-sent events (OpenAI chat.completion.chunk schema). Default true; required for enable_entities, enable_citations and enable_research.","enum":[true,false]},"web_search_options":{"type":"object","description":"Search grounding options (OpenAI-compatible shape).","properties":{"search_context_size":{"type":"string","description":"How much search context to gather for the answer.","enum":["low","medium","high"]},"user_location":{"type":"object","description":"Approximate user location for localized answers."}}}}},"example":{"country":"","enable_citations":"","enable_entities":"","enable_research":"","language":"","max_completion_tokens":"","messages":[],"metadata":{},"model":"","research_allow_thinking":"","research_maximum_number_of_iterations":"","research_maximum_number_of_queries":"","research_maximum_number_of_results_per_query":"","research_maximum_number_of_seconds":"","research_maximum_number_of_tokens_per_query":"","safesearch":"","seed":"","stream":"","web_search_options":{}}}}}}},"/res/v1/news/search":{"get":{"tags":["News"],"parameters":[{"name":"count","in":"query","description":"The number of search results returned in response. The maximum is 50. The actual number delivered may be less than requested. Combine this parameter with offset to paginate search results.","required":false,"schema":{"type":"number","example":""}},{"name":"country","in":"query","description":"The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries or ALL for worldwide.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"extra_snippets","in":"query","description":"A snippet is an excerpt from a page you get as a result of the query, and extra_snippets allow you to get up to 5 additional, alternative excerpts.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"freshness","in":"query","description":"Filters search results by page age. Supported values: pd - Pages aged 24 hours or less; pw - Pages aged 7 days or less; pm - Pages aged 31 days or less; py - Pages aged 365 days or less; YYYY-MM-DDtoYYYY-MM-DD - A custom date range is also supported by specifying start and end dates e.g. 2022-04-01to2022-07-30.","required":false,"schema":{"type":"string","example":""}},{"name":"goggles","in":"query","description":"Goggles act as a custom re-ranking on top of Brave's search index. The parameter supports both a url where the Goggle is hosted or the definition of the Goggle. For more details, see the Goggles documentation. The parameter can be a single Goggle or a list of up to 3 Goggles.","required":false,"schema":{"type":"string","example":""}},{"name":"include_fetch_metadata","in":"query","description":"Include fetch metadata.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"offset","in":"query","description":"The zero based offset that indicates number of search results per page (count) to skip before returning the result. The maximum is 9. In order to paginate results use this parameter together with count — increment offset by 1 for each subsequent page. The results may overlap across multiple pages.","required":false,"schema":{"type":"number","example":""}},{"name":"operators","in":"query","description":"Whether to apply search operators.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"q","in":"query","description":"The user's search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query.","required":true,"schema":{"type":"string","example":""}},{"name":"safesearch","in":"query","description":"Filters search results for adult content. off - No filtering is done. moderate - Filter out explicit content. strict - Filter out explicit and suggestive content.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["off","moderate","strict"]}}},{"name":"search_lang","in":"query","description":"The search language preference. The 2 or more character language code for which the search results are provided (e.g. en, de, ja, pt-br; default en).","required":false,"schema":{"type":"string","example":""}},{"name":"spellcheck","in":"query","description":"Whether to spell check the provided query. If the spellchecker is enabled, the modified query is always used for search. The modified query can be found in altered key from the query response model.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"ui_lang","in":"query","description":"User interface language preferred in response. Usually of the format <language_code>-<country_code>, e.g. en-US, de-DE. For more, see RFC 9110 (Accept-Language).","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/news/news_search/get","api_endpoint":"https://api.search.brave.com/res/v1/news/search"},"summary":"Search News","description":"Search news content from a large independent index of web pages. Auth failures return 422 SUBSCRIPTION_TOKEN_INVALID.","security":[{"bearerAuth":[]}]}},"/res/v1/videos/search":{"get":{"tags":["Videos"],"parameters":[{"name":"count","in":"query","description":"The number of search results returned in response. The maximum is 50. The actual number delivered may be less than requested. Combine this parameter with offset to paginate search results.","required":false,"schema":{"type":"number","example":""}},{"name":"country","in":"query","description":"The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries or ALL for worldwide.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"freshness","in":"query","description":"Filters search results by page age. Supported values: pd - Pages aged 24 hours or less; pw - Pages aged 7 days or less; pm - Pages aged 31 days or less; py - Pages aged 365 days or less; YYYY-MM-DDtoYYYY-MM-DD - A custom date range is also supported by specifying start and end dates e.g. 2022-04-01to2022-07-30.","required":false,"schema":{"type":"string","example":""}},{"name":"include_fetch_metadata","in":"query","description":"Include fetch metadata.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"offset","in":"query","description":"The zero based offset that indicates number of search results per page (count) to skip before returning the result. The maximum is 9. Use this parameter together with count to paginate — increment offset by 1 for each subsequent page. The results may overlap across multiple pages.","required":false,"schema":{"type":"number","example":""}},{"name":"operators","in":"query","description":"Whether to apply search operators.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"q","in":"query","description":"The user's search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query.","required":true,"schema":{"type":"string","example":""}},{"name":"safesearch","in":"query","description":"Filters search results for adult content. off - No filtering is done. moderate - Filters explicit content, like images and videos, but allows adult domains in the search results. strict - Drops all adult content from search results.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["off","moderate","strict"]}}},{"name":"search_lang","in":"query","description":"The search language preference. The 2 or more character language code for which the search results are provided (e.g. en, de, ja, pt-br; default en).","required":false,"schema":{"type":"string","example":""}},{"name":"spellcheck","in":"query","description":"Whether to spell check the provided query. If the spell checker is enabled, the modified query is always used for search. The modified query can be found in altered key from the query response model.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"ui_lang","in":"query","description":"User interface language preferred in response. Usually of the format <language_code>-<country_code>, e.g. en-US, de-DE. For more, see RFC 9110 (Accept-Language).","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/videos/video_search/get","api_endpoint":"https://api.search.brave.com/res/v1/videos/search"},"summary":"Search Videos","description":"Search video content from a large independent index of web pages.","security":[{"bearerAuth":[]}]}},"/res/v1/images/search":{"get":{"tags":["Images"],"parameters":[{"name":"count","in":"query","description":"The number of search results returned in response. The maximum is 200. The actual number delivered may be less than requested. NOTE: Image search is not paginated and has no offset parameter. Raise count to get more results.","required":false,"schema":{"type":"number","example":""}},{"name":"country","in":"query","description":"The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries and ALL for worldwide.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"q","in":"query","description":"The user's search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query.","required":true,"schema":{"type":"string","example":""}},{"name":"safesearch","in":"query","description":"Filters search results for adult content. off - No content filtering (except for illegal content). strict - Drops all adult content from search results.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["off","strict"]}}},{"name":"search_lang","in":"query","description":"The search language preference. The 2 or more character language code for which the search results are provided (e.g. en, de, ja, pt-br; default en).","required":false,"schema":{"type":"string","example":""}},{"name":"spellcheck","in":"query","description":"Whether to spell check the provided query. If the spell checker is enabled, the modified query is always used for search. The modified query can be found in altered key from the query response model.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/images/image_search","api_endpoint":"https://api.search.brave.com/res/v1/images/search"},"summary":"Search Images","description":"Find images from a large independent index of images. NOTE: Image search is not paginated and has no offset parameter — raise count to get more results.","security":[{"bearerAuth":[]}]}},"/res/v1/local/place_search":{"get":{"tags":["Local"],"parameters":[{"name":"count","in":"query","description":"Number of results to return. The maximum is 100.","required":false,"schema":{"type":"number","example":""}},{"name":"country","in":"query","description":"Two-letter country code (ISO 3166-1 alpha-2) to scope the search.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"geoloc","in":"query","description":"Optional geolocation of the user in the format <latitude>x<longitude>. Used to calculate distance values in results.","required":false,"schema":{"type":"string","example":""}},{"name":"latitude","in":"query","description":"Latitude of the geographical coordinates. Must be between -90 and 90 degrees.","required":false,"schema":{"type":"string","example":""}},{"name":"location","in":"query","description":"Location string to search for points of interest in an area. This is alternative to the latitude and longitude parameters. For locations in US prefer the form \"<city> <state> <country name>\", ie. \"san francisco ca united states\". For non-US locations, use the form \"<city> <country name>\", ie. \"tokyo japan\". No need for commas or other special chars, capitalization does not matter. Multiple languages are covered (\"nueva york\" instead of \"new york\" works), but English or the most popular language of the target city works best.","required":false,"schema":{"type":"string","example":""}},{"name":"longitude","in":"query","description":"Longitude of the geographical coordinates. Must be between -180 and 180 degrees.","required":false,"schema":{"type":"string","example":""}},{"name":"q","in":"query","description":"Query string to search for points of interest in an area. If no q is provided, the endpoint will return general points of interest in the given area.","required":false,"schema":{"type":"string","example":""}},{"name":"radius","in":"query","description":"Search radius bias around the given coordinates, in meters. NOTE: This is not strictly the radius of the search (nor the resulting radius of the results), but rather a bias towards results that are closer to the given coordinates. Search is performed globally if no radius is provided.","required":false,"schema":{"type":"string","example":""}},{"name":"safesearch","in":"query","description":"Safe search level for the query results: off, moderate, or strict.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["off","moderate","strict"]}}},{"name":"search_lang","in":"query","description":"Language for the search results (2+ character language code, e.g. en, de, ja, pt-br; default en).","required":false,"schema":{"type":"string","example":""}},{"name":"spellcheck","in":"query","description":"Whether to apply spellcheck before executing the search.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"ui_lang","in":"query","description":"User interface language for the response. Usually <language>-<region>, e.g. en-US, de-DE.","required":false,"schema":{"type":"string","example":""}},{"name":"units","in":"query","description":"Units of measurement for distance values: metric is kilometres, imperial is miles.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["imperial","metric"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/web/place_search","api_endpoint":"https://api.search.brave.com/res/v1/local/place_search"},"summary":"Search Places","description":"Search for points of interest in an area. If no q is provided, the endpoint will return general points of interest in the given area. Provide latitude/longitude, or a location string as an alternative.","security":[{"bearerAuth":[]}]}},"/res/v1/local/pois":{"get":{"tags":["Local"],"parameters":[{"name":"ids","in":"query","description":"A list of unique identifiers for the location (comma-delimited). The ids are valid only for 8 hours.","required":true,"schema":{"type":"array","example":""}},{"name":"search_lang","in":"query","description":"The search language preference. The 2 or more character language code for which the search results are provided (e.g. en, de, ja, pt-br; default en).","required":false,"schema":{"type":"string","example":""}},{"name":"ui_lang","in":"query","description":"User interface language preferred in response. Usually of the format <language_code>-<country_code>, e.g. en-US, de-DE.","required":false,"schema":{"type":"string","example":""}},{"name":"units","in":"query","description":"The measurement units. metric - The standardized measurement system (km, celcius..). imperial - The British Imperial system of units (mile, fahrenheit..).","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["imperial","metric"]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/web/local_pois","api_endpoint":"https://api.search.brave.com/res/v1/local/pois"},"summary":"Get Local POIs","description":"Get detailed information about points of interest. The ids come from a Web Search (results of type locations) or a Place Search response and are valid only for 8 hours. Optional localization headers (x-loc-lat, x-loc-long) are also accepted.","security":[{"bearerAuth":[]}]}},"/res/v1/local/descriptions":{"get":{"tags":["Local"],"parameters":[{"name":"ids","in":"query","description":"A list of unique identifiers for the location (comma-delimited). The ids are valid only for 8 hours.","required":true,"schema":{"type":"array","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/web/poi_descriptions","api_endpoint":"https://api.search.brave.com/res/v1/local/descriptions"},"summary":"Get POI Descriptions","description":"Get LLM generated descriptions about points of interest. The ids come from a Local POIs response and are valid only for 8 hours.","security":[{"bearerAuth":[]}]}},"/res/v1/suggest/search":{"get":{"tags":["Suggestions"],"parameters":[{"name":"count","in":"query","description":"The number of suggestion search results returned in response. The actual number of results delivered may be less than requested. Minimum is 1, maximum is 20. The default is 5.","required":false,"schema":{"type":"number","example":""}},{"name":"country","in":"query","description":"The suggest search query country, where potentially the results could come from. The country string is limited to 2 character country codes of supported countries.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"lang","in":"query","description":"The suggest search language preference, where potentially the results could come from. The 2 or more character language code for which the suggest search results are provided. This is a just a hint for calculating suggest responses.","required":false,"schema":{"type":"string","example":""}},{"name":"q","in":"query","description":"The user's suggest search query term. Query can not be empty. The max query length is 400 characters, and the word limit is 50 words.","required":true,"schema":{"type":"string","example":""}},{"name":"rich","in":"query","description":"Whether to enhance suggestions with rich results. This requires a paid autosuggest subscription.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/other/suggestions","api_endpoint":"https://api.search.brave.com/res/v1/suggest/search"},"summary":"Get Query Suggestions","description":"Intelligent search suggestions to help users find what they're looking for. Requires the paid Suggestions add-on (not part of base plans).","security":[{"bearerAuth":[]}]}},"/res/v1/spellcheck/search":{"get":{"tags":["Suggestions"],"parameters":[{"name":"country","in":"query","description":"The spell check country, where potentially the results could come from. The country string is limited to 2 character country codes of supported countries.","required":false,"schema":{"type":"string","example":"","items":{"type":"string","enum":["AR","AU","AT","BE","BR","CA","CL","DK","FI","FR","DE","GR","HK","IN","ID","IT","JP","KR","MY","MX","NL","NZ","NO","CN","PL","PT","PH","RU","SA","ZA","ES","SE","CH","TW","TR","GB","US","ALL"]}}},{"name":"lang","in":"query","description":"The spell check language preference, where potentially the results could come from. The 2 or more character language code for which the spell check search results are provided. This is a just a hint for calculating spell check responses.","required":false,"schema":{"type":"string","example":""}},{"name":"q","in":"query","description":"The phrase to be spell checked. Query can not be empty. Maximum of 400 characters and 50 words in the query.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://api-dashboard.search.brave.com/api-reference/other/spell_check","api_endpoint":"https://api.search.brave.com/res/v1/spellcheck/search"},"summary":"Spell Check Query","description":"Intelligent spell checking to improve query quality and help users find what they're looking for. Requires the paid Spell Check add-on (not part of base plans).","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}