Web Search
Requires API Key: Get one at https://api.search.brave.com
Plan: Included in the Search plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe
Quick Start (cURL)
Basic Search
With Parameters
Endpoint
Note: Both GET and POST methods are supported. POST is useful for long queries or complex Goggles.
Authentication: X-Subscription-Token: <API_KEY> header
Optional Headers:
Accept-Encoding: gzip— Enable gzip compression
When to Use Web Search
Parameters
Freshness Values
Result Filter Values
Filter types: discussions, faq, infobox, news, query, videos, web, locations
Location Headers (Optional)
For location-aware results, add these headers. Lat/Long is sufficient when coordinates are known — the other headers are only needed as a fallback when coordinates are unavailable.
Priority:
X-Loc-Lat+X-Loc-Longtake precedence. When provided, downstream services resolve the location directly from coordinates and the text-based headers (City, State, Country, Postal-Code) are not used for location resolution. Provide text-based headers only when you don't have coordinates. Sending both won't break anything — lat/long simply wins.
Response Format
Response Fields
JSON Example
Mixed Response
The mixed object defines the preferred display order of results across types. It contains three arrays:
Each entry is a ResultReference with type (e.g., "web", "videos"), index (into the corresponding result array), and all (true to include all results of that type at this position).
Search Operators
Set operators=false to disable operator parsing.
Goggles (Custom Ranking) — Unique to Brave
Goggles let you re-rank search results — boost trusted sources, suppress SEO spam, or build focused search scopes.
Hosted goggles must be on GitHub/GitLab, include
! name:,! description:,! author:headers, and be registered at https://search.brave.com/goggles/create. Inline rules need no registration.
Syntax: Rules start with $ + comma-separated options. Actions (pick one): discard, boost[=N], downrank[=N] — N is an integer 1–10. Site filter: site=DOMAIN. Example: $site=example.com,boost=3. Separate rules with \n (%0A).
Allow list: $discard\n$site=docs.python.org\n$site=developer.mozilla.org — Block list: $discard,site=pinterest.com\n$discard,site=quora.com
Resources: Discover · Syntax · Quickstart
Rich Data Enrichments
For queries about weather, stocks, sports, currency, etc., use the rich callback workflow:
Supported Rich Types: Calculator, Definitions, Unit Conversion, Unix Timestamp, Package Tracker, Stock, Currency, Cryptocurrency, Weather, American Football, Baseball, Basketball, Cricket, Football/Soccer, Ice Hockey, Web3, Translator
Rich Callback Endpoint
Use Cases
- General-purpose search integration: Richest result set (web, news, videos, discussions, FAQ, infobox, locations) in one call. For RAG/LLM grounding, prefer
llm-context. - Structured data extraction: Products, recipes, ratings, articles via
schemasand typed fields on results. - Custom search with Goggles: Unique to Brave. Boost/discard sites with inline rules or hosted Goggles for fully customized ranking.
Notes
- Pagination: Use
offset(0-9) withcountto page through results - Count: Max 20 for web search; actual results may be less than requested


