> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# News Search

> <!-- aisa-pricing:start -->
Published reference price: $0.005 USD per successful request. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Request contract

* **Method and path:** GET /apis/v1/brave/news/search
* **Availability:** enabled
* **Request URL template:** [https://api.aisa.one/apis/v1/brave/news/search](https://api.aisa.one/apis/v1/brave/news/search)
* **accept:** header; optional
* **api-version:** header; optional
* **cache-control:** header; optional
* **user-agent:** header; optional
* **count:** query; optional
* **country:** query; optional
* **extra\_snippets:** query; optional
* **freshness:** query; optional
* **goggles:** query; optional
* **include\_fetch\_metadata:** query; optional
* **offset:** query; optional
* **operators:** query; optional
* **q:** query; required
* **safesearch:** query; optional
* **search\_lang:** query; optional
* **spellcheck:** query; optional
* **ui\_lang:** query; optional
* **Runtime facts:** 8627d7bc05db287888574873d586ce7dca25f9fa7b4a266cb71760e824597bfc

[Complete OpenAPI definition](https://aisa.one/docs/openapi/brave-search.json)

Effective request and pricing declaration (including authentication and referenced schemas):

```json theme={null}
{
  "operationId": "get_any_brave_search_apis_v1_brave_news_search",
  "method": "GET",
  "path": "/apis/v1/brave/news/search",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [
    {
      "deprecated": false,
      "description": "The default supported media type is application/json.",
      "examples": {
        "0": {
          "value": "application/json"
        }
      },
      "in": "header",
      "name": "accept",
      "required": false,
      "schema": {
        "allOf": [
          {
            "enum": [
              "application/json",
              "*/*"
            ],
            "title": "Accept",
            "type": "string"
          },
          {
            "default": "application/json"
          }
        ],
        "description": "The default supported media type is application/json.",
        "examples": [
          "application/json"
        ],
        "title": "Media type"
      }
    },
    {
      "deprecated": false,
      "description": "The API version to use.                 This is denoted by the format <code>YYYY-MM-DD</code>.                 Default is the latest that is available. Read                 more about <a href=\"/documentation/guides/versioning\">API versioning</a>.",
      "in": "header",
      "name": "api-version",
      "required": false,
      "schema": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "The API version to use.                 This is denoted by the format <code>YYYY-MM-DD</code>.                 Default is the latest that is available. Read                 more about <a href=\"/documentation/guides/versioning\">API versioning</a>.",
        "title": "API version"
      }
    },
    {
      "deprecated": false,
      "description": "Brave Search will return cached content by default.                 To prevent caching set the Cache-Control header to <code>no-cache</code>.                 This is currently done as best effort.",
      "in": "header",
      "name": "cache-control",
      "required": false,
      "schema": {
        "anyOf": [
          {
            "const": "no-cache",
            "enum": [
              "no-cache"
            ],
            "title": "CacheControl",
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "Brave Search will return cached content by default.                 To prevent caching set the Cache-Control header to <code>no-cache</code>.                 This is currently done as best effort.",
        "title": "Cache control"
      }
    },
    {
      "deprecated": false,
      "description": "The user agent originating the request.                 Brave search can utilize the user agent to provide a different                 experience depending on the device as described by the string.                 The user agent should follow the commonly used browser agent                 strings on each platform. For more information on curating user agents,                 see <a href=\"https://www.rfc-editor.org/rfc/rfc9110.html#name-user-agent\">RFC 9110</a>.",
      "examples": {
        "Android": {
          "description": "Android",
          "value": "Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36"
        },
        "Windows": {
          "description": "Windows",
          "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
        },
        "iOS": {
          "description": "iOS",
          "value": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/103.0.5060.63 Mobile/15E148 Safari/604.1"
        },
        "macOS": {
          "description": "macOS",
          "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
        }
      },
      "in": "header",
      "name": "user-agent",
      "required": false,
      "schema": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "null"
          }
        ],
        "description": "The user agent originating the request.                 Brave search can utilize the user agent to provide a different                 experience depending on the device as described by the string.                 The user agent should follow the commonly used browser agent                 strings on each platform. For more information on curating user agents,                 see <a href=\"https://www.rfc-editor.org/rfc/rfc9110.html#name-user-agent\">RFC 9110</a>.",
        "title": "User agent"
      }
    },
    {
      "deprecated": false,
      "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.",
      "in": "query",
      "name": "count",
      "required": false,
      "schema": {
        "default": 20,
        "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.",
        "maximum": 50,
        "minimum": 1,
        "title": "Count",
        "type": "integer"
      }
    },
    {
      "deprecated": false,
      "description": "The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries or <code>ALL</code> for worldwide.",
      "in": "query",
      "name": "country",
      "required": false,
      "schema": {
        "allOf": [
          {
            "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"
            ],
            "title": "SearchCountry",
            "type": "string"
          },
          {
            "default": "US"
          }
        ],
        "description": "The search query country, where the results come from. The country string is limited to 2 character country codes of supported countries or <code>ALL</code> for worldwide."
      }
    },
    {
      "deprecated": false,
      "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.",
      "examples": {
        "": {
          "value": ""
        },
        "Exclude extra snippets": {
          "value": false
        },
        "Include extra snippets": {
          "value": true
        }
      },
      "in": "query",
      "name": "extra_snippets",
      "required": false,
      "schema": {
        "anyOf": [
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ],
        "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.",
        "title": "Extra Snippets"
      }
    },
    {
      "deprecated": false,
      "description": "<p>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. The following values are supported:</p>\n<ul>\n<li><strong>pd</strong> - Pages aged 24 hours or less.</li>\n<li><strong>pw</strong> - Pages aged 7 days or less.</li>\n<li><strong>pm</strong> - Pages aged 31 days or less.</li>\n<li><strong>py</strong> - Pages aged 365 days or less.</li>\n<li><strong>YYYY-MM-DDtoYYYY-MM-DD</strong> - A custom date range is also supported by specifying start and end dates e.g. <code>2022-04-01to2022-07-30</code>.</li>\n</ul>",
      "examples": {
        "0": {
          "value": ""
        },
        "1": {
          "value": "pm"
        },
        "2": {
          "value": "2022-04-01to2022-07-30"
        }
      },
      "in": "query",
      "name": "freshness",
      "required": false,
      "schema": {
        "default": "",
        "description": "<p>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. The following values are supported:</p>\n<ul>\n<li><strong>pd</strong> - Pages aged 24 hours or less.</li>\n<li><strong>pw</strong> - Pages aged 7 days or less.</li>\n<li><strong>pm</strong> - Pages aged 31 days or less.</li>\n<li><strong>py</strong> - Pages aged 365 days or less.</li>\n<li><strong>YYYY-MM-DDtoYYYY-MM-DD</strong> - A custom date range is also supported by specifying start and end dates e.g. <code>2022-04-01to2022-07-30</code>.</li>\n</ul>",
        "examples": [
          "",
          "pm",
          "2022-04-01to2022-07-30"
        ],
        "title": "Freshness",
        "type": "string"
      }
    },
    {
      "deprecated": false,
      "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 <a href=\"/documentation/resources/goggles\">Goggles documentation</a>. The parameter can be a single Goggle or a list of up to 3 Goggles.",
      "examples": {
        "": {
          "value": ""
        },
        "Prioritizes domains popular with the Hacker News": {
          "value": "https://raw.githubusercontent.com/brave/goggles-quickstart/main/goggles/hacker_news.goggle"
        },
        "Social media blocker": {
          "value": "! name: Social Networks\n! description: Removes social networks\n! public: true\n! author: Average Joe\n! avatar: #de0320\n$discard,site=facebook.com\n$discard,site=x.com\n$discard,site=instagram.com"
        }
      },
      "in": "query",
      "name": "goggles",
      "required": false,
      "schema": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          {
            "type": "null"
          }
        ],
        "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 <a href=\"/documentation/resources/goggles\">Goggles documentation</a>. The parameter can be a single Goggle or a list of up to 3 Goggles.",
        "title": "Goggles"
      }
    },
    {
      "deprecated": false,
      "description": "Include fetch metadata.",
      "examples": {
        "0": {
          "value": ""
        },
        "1": {
          "value": true
        },
        "2": {
          "value": false
        }
      },
      "in": "query",
      "name": "include_fetch_metadata",
      "required": false,
      "schema": {
        "default": false,
        "description": "Include fetch metadata.",
        "examples": [
          "",
          true,
          false
        ],
        "title": "Include Fetch Metadata",
        "type": "boolean"
      }
    },
    {
      "deprecated": false,
      "description": "The zero based offset that indicates number of search results per page (count) to skip before returning the result. The maximum is 9. The actual number delivered may be less than requested based on the query. In order to paginate results use this parameter together with count. For example, if your user interface displays 20 search results per page, set count to 20 and offset to 0 to show the first page of results. To get subsequent pages, increment offset by 1 (e.g. 0, 1, 2). The results may overlap across multiple pages.",
      "in": "query",
      "name": "offset",
      "required": false,
      "schema": {
        "default": 0,
        "description": "The zero based offset that indicates number of search results per page (count) to skip before returning the result. The maximum is 9. The actual number delivered may be less than requested based on the query. In order to paginate results use this parameter together with count. For example, if your user interface displays 20 search results per page, set count to 20 and offset to 0 to show the first page of results. To get subsequent pages, increment offset by 1 (e.g. 0, 1, 2). The results may overlap across multiple pages.",
        "maximum": 9,
        "minimum": 0,
        "title": "Offset",
        "type": "integer"
      }
    },
    {
      "deprecated": false,
      "description": "Whether to apply search operators.",
      "examples": {
        "0": {
          "value": ""
        },
        "1": {
          "value": true
        },
        "2": {
          "value": false
        }
      },
      "in": "query",
      "name": "operators",
      "required": false,
      "schema": {
        "default": true,
        "description": "Whether to apply search operators.",
        "examples": [
          "",
          true,
          false
        ],
        "title": "Operators",
        "type": "boolean"
      }
    },
    {
      "deprecated": false,
      "description": "The user’s search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query.",
      "in": "query",
      "name": "q",
      "required": true,
      "schema": {
        "description": "The user’s search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query.",
        "maxLength": 400,
        "minLength": 1,
        "title": "The user's search query term.",
        "type": "string"
      }
    },
    {
      "deprecated": false,
      "description": "<p>Filters search results for adult content. The following values are supported:</p>\n<ul>\n<li><strong>off</strong> - No filtering is done.</li>\n<li><strong>moderate</strong> - Filter out explicit content.</li>\n<li><strong>strict</strong> - Filter out explicit and suggestive content.</li>\n</ul>",
      "examples": {
        "0": {
          "value": ""
        },
        "1": {
          "value": "off"
        },
        "2": {
          "value": "moderate"
        },
        "3": {
          "value": "strict"
        }
      },
      "in": "query",
      "name": "safesearch",
      "required": false,
      "schema": {
        "allOf": [
          {
            "enum": [
              "off",
              "moderate",
              "strict"
            ],
            "title": "SafeSearch",
            "type": "string"
          },
          {
            "default": "strict"
          }
        ],
        "description": "<p>Filters search results for adult content. The following values are supported:</p>\n<ul>\n<li><strong>off</strong> - No filtering is done.</li>\n<li><strong>moderate</strong> - Filter out explicit content.</li>\n<li><strong>strict</strong> - Filter out explicit and suggestive content.</li>\n</ul>",
        "examples": [
          "",
          "off",
          "moderate",
          "strict"
        ],
        "title": "Safe search"
      }
    },
    {
      "deprecated": false,
      "description": "The search language preference. The 2 or more character language code for which the search results are provided.",
      "in": "query",
      "name": "search_lang",
      "required": false,
      "schema": {
        "allOf": [
          {
            "enum": [
              "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"
            ],
            "title": "Language",
            "type": "string"
          },
          {
            "default": "en"
          }
        ],
        "description": "The search language preference. The 2 or more character language code for which the search results are provided."
      }
    },
    {
      "deprecated": false,
      "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.",
      "examples": {
        "0": {
          "value": ""
        },
        "1": {
          "value": true
        },
        "2": {
          "value": false
        }
      },
      "in": "query",
      "name": "spellcheck",
      "required": false,
      "schema": {
        "default": true,
        "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.",
        "examples": [
          "",
          true,
          false
        ],
        "title": "Spellcheck",
        "type": "boolean"
      }
    },
    {
      "deprecated": false,
      "description": "User interface language preferred in response. Usually of the format <code>&lt;language_code&gt;-&lt;country_code&gt;</code>. For more, see <a href=\"https://www.rfc-editor.org/rfc/rfc9110.html#name-accept-language\">RFC 9110</a>.",
      "in": "query",
      "name": "ui_lang",
      "required": false,
      "schema": {
        "allOf": [
          {
            "enum": [
              "es-AR",
              "en-AU",
              "de-AT",
              "nl-BE",
              "fr-BE",
              "pt-BR",
              "en-CA",
              "fr-CA",
              "es-CL",
              "da-DK",
              "fi-FI",
              "fr-FR",
              "de-DE",
              "el-GR",
              "zh-HK",
              "en-IN",
              "en-ID",
              "it-IT",
              "ja-JP",
              "ko-KR",
              "en-MY",
              "es-MX",
              "nl-NL",
              "en-NZ",
              "no-NO",
              "zh-CN",
              "pl-PL",
              "en-PH",
              "ru-RU",
              "en-ZA",
              "es-ES",
              "sv-SE",
              "fr-CH",
              "de-CH",
              "zh-TW",
              "tr-TR",
              "en-GB",
              "en-US",
              "es-US"
            ],
            "title": "MarketCodes",
            "type": "string"
          },
          {
            "default": "en-US"
          }
        ],
        "description": "User interface language preferred in response. Usually of the format <code>&lt;language_code&gt;-&lt;country_code&gt;</code>. For more, see <a href=\"https://www.rfc-editor.org/rfc/rfc9110.html#name-accept-language\">RFC 9110</a>."
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "cost_contract": "fixed_success",
    "customer_multiplier": 1.0,
    "customer_pricing": "provider_cost_multiplier",
    "default_request_estimate_usd": 0.005,
    "estimate_source": "profile_seed",
    "evidence_source": "request_snapshot"
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## Cost and request rules

Published reference price: \$0.005 USD per successful request. Account-specific pricing and final settlement may differ.

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.

* **Default request reference estimate (USD):** 0.005
* **Cost contract:** fixed\_success
* **Published reference multiplier:** 1.0
* **Settlement evidence source:** request\_snapshot


## OpenAPI

````yaml openapi/brave-search.json GET /apis/v1/brave/news/search
openapi: 3.1.0
info:
  description: ''
  title: Brave Search
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-catalogs:
    brave-search:
      description: ''
      title: Brave Search
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
      x-aisa-document:
        facts_hash: 8627d7bc05db287888574873d586ce7dca25f9fa7b4a266cb71760e824597bfc
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-configured-paths:
    - /apis/v1/brave/images/search
    - /apis/v1/brave/llm/context
    - /apis/v1/brave/local/descriptions
    - /apis/v1/brave/local/place_search
    - /apis/v1/brave/local/pois
    - /apis/v1/brave/news/search
    - /apis/v1/brave/spellcheck/search
    - /apis/v1/brave/suggest/search
    - /apis/v1/brave/videos/search
    - /apis/v1/brave/web/rich
    - /apis/v1/brave/web/search
  x-aisa-document:
    composer_version: '20'
    document_hash: sha256:dd3bf51bf816c65187edaf986eabe02a048ea79407f7f5e64e18c08fd29983cf
    facts_hash: 8627d7bc05db287888574873d586ce7dca25f9fa7b4a266cb71760e824597bfc
    generator_version: '3'
    protocol_version: '1'
    response_pending: []
    schema_version: '1'
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: brave-search
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/brave/news/search:
    get:
      tags:
        - default
      summary: News Search
      description: >-
        <!-- aisa-pricing:start -->

        Published reference price: $0.005 USD per successful request.
        Account-specific pricing and final settlement may differ.

        <!-- aisa-pricing:end -->
      operationId: get_any_brave_search_apis_v1_brave_news_search
      parameters:
        - deprecated: false
          description: The default supported media type is application/json.
          examples:
            '0':
              value: application/json
          in: header
          name: accept
          required: false
          schema:
            allOf:
              - enum:
                  - application/json
                  - '*/*'
                title: Accept
                type: string
              - default: application/json
            description: The default supported media type is application/json.
            examples:
              - application/json
            title: Media type
        - deprecated: false
          description: >-
            The API version to use.                 This is denoted by the
            format <code>YYYY-MM-DD</code>.                 Default is the
            latest that is available. Read                 more about <a
            href="/documentation/guides/versioning">API versioning</a>.
          in: header
          name: api-version
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              The API version to use.                 This is denoted by the
              format <code>YYYY-MM-DD</code>.                 Default is the
              latest that is available. Read                 more about <a
              href="/documentation/guides/versioning">API versioning</a>.
            title: API version
        - deprecated: false
          description: >-
            Brave Search will return cached content by default.                
            To prevent caching set the Cache-Control header to
            <code>no-cache</code>.                 This is currently done as
            best effort.
          in: header
          name: cache-control
          required: false
          schema:
            anyOf:
              - const: no-cache
                enum:
                  - no-cache
                title: CacheControl
                type: string
              - type: 'null'
            description: >-
              Brave Search will return cached content by
              default.                 To prevent caching set the Cache-Control
              header to <code>no-cache</code>.                 This is currently
              done as best effort.
            title: Cache control
        - deprecated: false
          description: >-
            The user agent originating the request.                 Brave search
            can utilize the user agent to provide a different                
            experience depending on the device as described by the
            string.                 The user agent should follow the commonly
            used browser agent                 strings on each platform. For
            more information on curating user agents,                 see <a
            href="https://www.rfc-editor.org/rfc/rfc9110.html#name-user-agent">RFC
            9110</a>.
          examples:
            Android:
              description: Android
              value: >-
                Mozilla/5.0 (Linux; Android 12) AppleWebKit/537.36 (KHTML, like
                Gecko) Chrome/103.0.5060.71 Mobile Safari/537.36
            Windows:
              description: Windows
              value: >-
                Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
                (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
            iOS:
              description: iOS
              value: >-
                Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X)
                AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/103.0.5060.63
                Mobile/15E148 Safari/604.1
            macOS:
              description: macOS
              value: >-
                Mozilla/5.0 (Macintosh; Intel Mac OS X 12_4) AppleWebKit/537.36
                (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
          in: header
          name: user-agent
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              The user agent originating the request.                 Brave
              search can utilize the user agent to provide a
              different                 experience depending on the device as
              described by the string.                 The user agent should
              follow the commonly used browser agent                 strings on
              each platform. For more information on curating user
              agents,                 see <a
              href="https://www.rfc-editor.org/rfc/rfc9110.html#name-user-agent">RFC
              9110</a>.
            title: User agent
        - deprecated: false
          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.
          in: query
          name: count
          required: false
          schema:
            default: 20
            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.
            maximum: 50
            minimum: 1
            title: Count
            type: integer
        - deprecated: false
          description: >-
            The search query country, where the results come from. The country
            string is limited to 2 character country codes of supported
            countries or <code>ALL</code> for worldwide.
          in: query
          name: country
          required: false
          schema:
            allOf:
              - 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
                title: SearchCountry
                type: string
              - default: US
            description: >-
              The search query country, where the results come from. The country
              string is limited to 2 character country codes of supported
              countries or <code>ALL</code> for worldwide.
        - deprecated: false
          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.
          examples:
            '':
              value: ''
            Exclude extra snippets:
              value: false
            Include extra snippets:
              value: true
          in: query
          name: extra_snippets
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            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.
            title: Extra Snippets
        - deprecated: false
          description: >-
            <p>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. The following values are
            supported:</p>

            <ul>

            <li><strong>pd</strong> - Pages aged 24 hours or less.</li>

            <li><strong>pw</strong> - Pages aged 7 days or less.</li>

            <li><strong>pm</strong> - Pages aged 31 days or less.</li>

            <li><strong>py</strong> - Pages aged 365 days or less.</li>

            <li><strong>YYYY-MM-DDtoYYYY-MM-DD</strong> - A custom date range is
            also supported by specifying start and end dates e.g.
            <code>2022-04-01to2022-07-30</code>.</li>

            </ul>
          examples:
            '0':
              value: ''
            '1':
              value: pm
            '2':
              value: 2022-04-01to2022-07-30
          in: query
          name: freshness
          required: false
          schema:
            default: ''
            description: >-
              <p>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. The following values are
              supported:</p>

              <ul>

              <li><strong>pd</strong> - Pages aged 24 hours or less.</li>

              <li><strong>pw</strong> - Pages aged 7 days or less.</li>

              <li><strong>pm</strong> - Pages aged 31 days or less.</li>

              <li><strong>py</strong> - Pages aged 365 days or less.</li>

              <li><strong>YYYY-MM-DDtoYYYY-MM-DD</strong> - A custom date range
              is also supported by specifying start and end dates e.g.
              <code>2022-04-01to2022-07-30</code>.</li>

              </ul>
            examples:
              - ''
              - pm
              - 2022-04-01to2022-07-30
            title: Freshness
            type: string
        - deprecated: false
          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 <a
            href="/documentation/resources/goggles">Goggles documentation</a>.
            The parameter can be a single Goggle or a list of up to 3 Goggles.
          examples:
            '':
              value: ''
            Prioritizes domains popular with the Hacker News:
              value: >-
                https://raw.githubusercontent.com/brave/goggles-quickstart/main/goggles/hacker_news.goggle
            Social media blocker:
              value: |-
                ! name: Social Networks
                ! description: Removes social networks
                ! public: true
                ! author: Average Joe
                ! avatar: #de0320
                $discard,site=facebook.com
                $discard,site=x.com
                $discard,site=instagram.com
          in: query
          name: goggles
          required: false
          schema:
            anyOf:
              - type: string
              - items:
                  type: string
                type: array
              - type: 'null'
            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 <a
              href="/documentation/resources/goggles">Goggles documentation</a>.
              The parameter can be a single Goggle or a list of up to 3 Goggles.
            title: Goggles
        - deprecated: false
          description: Include fetch metadata.
          examples:
            '0':
              value: ''
            '1':
              value: true
            '2':
              value: false
          in: query
          name: include_fetch_metadata
          required: false
          schema:
            default: false
            description: Include fetch metadata.
            examples:
              - ''
              - true
              - false
            title: Include Fetch Metadata
            type: boolean
        - deprecated: false
          description: >-
            The zero based offset that indicates number of search results per
            page (count) to skip before returning the result. The maximum is 9.
            The actual number delivered may be less than requested based on the
            query. In order to paginate results use this parameter together with
            count. For example, if your user interface displays 20 search
            results per page, set count to 20 and offset to 0 to show the first
            page of results. To get subsequent pages, increment offset by 1
            (e.g. 0, 1, 2). The results may overlap across multiple pages.
          in: query
          name: offset
          required: false
          schema:
            default: 0
            description: >-
              The zero based offset that indicates number of search results per
              page (count) to skip before returning the result. The maximum is
              9. The actual number delivered may be less than requested based on
              the query. In order to paginate results use this parameter
              together with count. For example, if your user interface displays
              20 search results per page, set count to 20 and offset to 0 to
              show the first page of results. To get subsequent pages, increment
              offset by 1 (e.g. 0, 1, 2). The results may overlap across
              multiple pages.
            maximum: 9
            minimum: 0
            title: Offset
            type: integer
        - deprecated: false
          description: Whether to apply search operators.
          examples:
            '0':
              value: ''
            '1':
              value: true
            '2':
              value: false
          in: query
          name: operators
          required: false
          schema:
            default: true
            description: Whether to apply search operators.
            examples:
              - ''
              - true
              - false
            title: Operators
            type: boolean
        - deprecated: false
          description: >-
            The user’s search query term. Query can not be empty. Maximum of 400
            characters and 50 words in the query.
          in: query
          name: q
          required: true
          schema:
            description: >-
              The user’s search query term. Query can not be empty. Maximum of
              400 characters and 50 words in the query.
            maxLength: 400
            minLength: 1
            title: The user's search query term.
            type: string
        - deprecated: false
          description: >-
            <p>Filters search results for adult content. The following values
            are supported:</p>

            <ul>

            <li><strong>off</strong> - No filtering is done.</li>

            <li><strong>moderate</strong> - Filter out explicit content.</li>

            <li><strong>strict</strong> - Filter out explicit and suggestive
            content.</li>

            </ul>
          examples:
            '0':
              value: ''
            '1':
              value: 'off'
            '2':
              value: moderate
            '3':
              value: strict
          in: query
          name: safesearch
          required: false
          schema:
            allOf:
              - enum:
                  - 'off'
                  - moderate
                  - strict
                title: SafeSearch
                type: string
              - default: strict
            description: >-
              <p>Filters search results for adult content. The following values
              are supported:</p>

              <ul>

              <li><strong>off</strong> - No filtering is done.</li>

              <li><strong>moderate</strong> - Filter out explicit content.</li>

              <li><strong>strict</strong> - Filter out explicit and suggestive
              content.</li>

              </ul>
            examples:
              - ''
              - 'off'
              - moderate
              - strict
            title: Safe search
        - deprecated: false
          description: >-
            The search language preference. The 2 or more character language
            code for which the search results are provided.
          in: query
          name: search_lang
          required: false
          schema:
            allOf:
              - enum:
                  - 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
                title: Language
                type: string
              - default: en
            description: >-
              The search language preference. The 2 or more character language
              code for which the search results are provided.
        - deprecated: false
          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.
          examples:
            '0':
              value: ''
            '1':
              value: true
            '2':
              value: false
          in: query
          name: spellcheck
          required: false
          schema:
            default: true
            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.
            examples:
              - ''
              - true
              - false
            title: Spellcheck
            type: boolean
        - deprecated: false
          description: >-
            User interface language preferred in response. Usually of the format
            <code>&lt;language_code&gt;-&lt;country_code&gt;</code>. For more,
            see <a
            href="https://www.rfc-editor.org/rfc/rfc9110.html#name-accept-language">RFC
            9110</a>.
          in: query
          name: ui_lang
          required: false
          schema:
            allOf:
              - enum:
                  - es-AR
                  - en-AU
                  - de-AT
                  - nl-BE
                  - fr-BE
                  - pt-BR
                  - en-CA
                  - fr-CA
                  - es-CL
                  - da-DK
                  - fi-FI
                  - fr-FR
                  - de-DE
                  - el-GR
                  - zh-HK
                  - en-IN
                  - en-ID
                  - it-IT
                  - ja-JP
                  - ko-KR
                  - en-MY
                  - es-MX
                  - nl-NL
                  - en-NZ
                  - no-NO
                  - zh-CN
                  - pl-PL
                  - en-PH
                  - ru-RU
                  - en-ZA
                  - es-ES
                  - sv-SE
                  - fr-CH
                  - de-CH
                  - zh-TW
                  - tr-TR
                  - en-GB
                  - en-US
                  - es-US
                title: MarketCodes
                type: string
              - default: en-US
            description: >-
              User interface language preferred in response. Usually of the
              format <code>&lt;language_code&gt;-&lt;country_code&gt;</code>.
              For more, see <a
              href="https://www.rfc-editor.org/rfc/rfc9110.html#name-accept-language">RFC
              9110</a>.
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ResponseB91D37C29Ffe_NewsSearchApiResponse
          description: Successful Response
        default:
          content:
            application/json:
              schema: {}
          description: >-
            Error response; upstream passthrough responses may use provider
            formats
components:
  schemas:
    ResponseB91D37C29Ffe_NewsSearchApiResponse:
      properties:
        query:
          $ref: >-
            #/components/schemas/ResponseB91D37C29Ffe_app__models__products__search__v1__news__Query
          description: News search query string.
        results:
          default: []
          description: The list of news results for the given query.
          items:
            $ref: >-
              #/components/schemas/ResponseB91D37C29Ffe_app__models__products__search__v1__news__NewsResult
          title: Results
          type: array
        type:
          const: news
          default: news
          enum:
            - news
          title: Type
          type: string
      required:
        - query
      title: NewsSearchApiResponse
      type: object
    ResponseB91D37C29Ffe_app__models__products__search__v1__news__Query:
      properties:
        altered:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The altered query by the spellchecker. This is the query that is
            used to search if any.
          title: Altered
        cleaned:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The cleaned normalized query by the spellchecker. This is the query
            that is used to search if any.
          title: Cleaned
        original:
          description: The original query that was requested.
          title: Original
          type: string
        search_operators:
          anyOf:
            - $ref: '#/components/schemas/ResponseB91D37C29Ffe_SearchOperators'
            - type: 'null'
          description: Search operators applied to the query.
        show_strict_warning:
          anyOf:
            - type: boolean
            - type: 'null'
          description: >-
            The value is <code>true</code> if the lack of results is due to a
            <code>strict</code> safesearch setting. Adult content relevant to
            the query was found, but was blocked by safesearch.
          title: Show Strict Warning
        spellcheck_off:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the spellchecker is enabled or disabled.
          title: Spellcheck Off
      required:
        - original
      title: Query
      type: object
    ResponseB91D37C29Ffe_app__models__products__search__v1__news__NewsResult:
      properties:
        age:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            A human-readable representation of the news article’s age. For
            example, <code>2 days ago</code>.
          title: Age
        breaking:
          anyOf:
            - type: boolean
            - type: 'null'
          description: Whether the result includes breaking news.
          title: Breaking
        description:
          anyOf:
            - type: string
            - type: 'null'
          description: The description for the news article.
          title: Description
        extra_snippets:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: A list of extra alternate snippets for the news search result.
          title: Extra Snippets
        fetched_content_timestamp:
          anyOf:
            - type: integer
            - type: 'null'
          description: The timestamp when the content was fetched.
          title: Fetched Content Timestamp
        icons:
          anyOf:
            - items:
                $ref: '#/components/schemas/ResponseB91D37C29Ffe_PostprocessedIcon'
              type: array
            - type: 'null'
          description: Icons associated with the news result.
          title: Icons
        meta_url:
          anyOf:
            - $ref: >-
                #/components/schemas/ResponseB91D37C29Ffe_app__models__products__search__v1__news__MetaUrl
            - type: 'null'
          description: >-
            Aggregated information on the URL associated with the news search
            result.
        page_age:
          anyOf:
            - type: string
            - type: 'null'
          description: The page’s date, based on its published or last modified date.
          title: Page Age
        page_fetched:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            The ISO date time when the page was last fetched. The format is
            <code>YYYY-MM-DDTHH:MM:SSZ</code>.
          title: Page Fetched
        profile:
          anyOf:
            - $ref: >-
                #/components/schemas/ResponseB91D37C29Ffe_app__models__products__search__v1__shared__Profile
            - type: 'null'
          description: A profile associated with the web page.
        thumbnail:
          anyOf:
            - $ref: >-
                #/components/schemas/ResponseB91D37C29Ffe_app__models__products__search__v1__news__Thumbnail
            - type: 'null'
          description: The thumbnail for the news article.
        title:
          description: The title of the news article.
          title: Title
          type: string
        type:
          const: news_result
          default: news_result
          description: >-
            The type of news search API result. The value is always
            <code>news_result</code>.
          enum:
            - news_result
          title: Type
          type: string
        url:
          description: The source URL of the news article.
          title: Url
          type: string
      required:
        - title
        - url
      title: NewsResult
      type: object
    ResponseB91D37C29Ffe_SearchOperators:
      properties:
        applied:
          default: false
          description: Whether search operators were applied to the query.
          title: Applied
          type: boolean
        cleaned_query:
          anyOf:
            - type: string
            - type: 'null'
          description: The query after search operators have been processed.
          title: Cleaned Query
        sites:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: 'List of site domains extracted from site: operators.'
          title: Sites
      title: SearchOperators
      type: object
    ResponseB91D37C29Ffe_PostprocessedIcon:
      properties:
        ext:
          anyOf:
            - type: string
            - type: 'null'
          title: Ext
        href:
          title: Href
          type: string
        rel:
          anyOf:
            - type: string
            - type: 'null'
          title: Rel
        sizes:
          anyOf:
            - type: string
            - type: 'null'
          title: Sizes
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
      required:
        - href
        - sizes
        - rel
        - type
        - ext
      title: PostprocessedIcon
      type: object
    ResponseB91D37C29Ffe_app__models__products__search__v1__news__MetaUrl:
      properties:
        favicon:
          anyOf:
            - type: string
            - type: 'null'
          description: The favicon used for the URL.
          title: Favicon
        hostname:
          anyOf:
            - type: string
            - type: 'null'
          description: The lowercased domain name extracted from the URL.
          title: Hostname
        netloc:
          anyOf:
            - type: string
            - type: 'null'
          description: The network location part extracted from the URL.
          title: Netloc
        path:
          anyOf:
            - type: string
            - type: 'null'
          description: The hierarchical path of the URL useful as a display string.
          title: Path
        scheme:
          anyOf:
            - type: string
            - type: 'null'
          description: The protocol scheme extracted from the URL.
          title: Scheme
      title: MetaUrl
      type: object
    ResponseB91D37C29Ffe_app__models__products__search__v1__shared__Profile:
      description: A profile of an entity.
      properties:
        img:
          anyOf:
            - type: string
            - type: 'null'
          description: The served image URL representing the profile.
          title: Img
        long_name:
          anyOf:
            - type: string
            - type: 'null'
          description: The long name of the profile.
          title: Long Name
        name:
          description: The name of the profile.
          title: Name
          type: string
        url:
          description: The original URL where the profile is available.
          title: Url
          type: string
      required:
        - name
        - url
      title: Profile
      type: object
    ResponseB91D37C29Ffe_app__models__products__search__v1__news__Thumbnail:
      properties:
        original:
          anyOf:
            - type: string
            - type: 'null'
          description: The original URL of the thumbnail associated with the news article.
          title: Original
        src:
          description: The served URL of the thumbnail associated with the news article.
          title: Src
          type: string
      required:
        - src
      title: Thumbnail
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.