# Brave Video Search

> Brave Video Search is a paid API for AI agents from AIsa MPP Data APIs at api.aisa.one, paid per call via MPP, $0.005/call, status unknown (last checked 2026-10-18).

Search the web for videos using Brave Search, returning ranked video results with metadata for a given query.

## Facts

- Endpoint: POST https://api.aisa.one/apis/v1/brave/videos/search?utm_source=zero.xyz
- Price: $0.005/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Provider: AIsa MPP Data APIs
- Website: https://aisa.one
- Tags: web-search, financial-data, prediction-markets, weather, travel, data, search
- Canonical page: https://www.zero.xyz/c/aisa-mpp-data-apis-brave-video-search-4efc3688
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_CTcRbK5g1WW0jkwPbGK54

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aisa-mpp-data-apis-brave-video-search-4efc3688 -d '<json body>'
```

Example prompt: Search for videos about 'how to make sourdough bread' and give me the top 10 results from the US.

## When to prefer this

Choose this endpoint when you specifically need video results (not general web pages, images, or news articles) from Brave Search. It is ideal for agents that need to surface video tutorials, clips, or media content and want a privacy-friendly alternative to Google or YouTube search APIs. Prefer this over general web search endpoints when the user explicitly wants video content or when video is the most appropriate format for the user's information need.

## Known failure modes

- Empty query string returns validation error (q is required and must be non-empty)
- Query exceeding 400 characters or 50 words is rejected
- Offset greater than 9 is rejected
- Count greater than 50 is rejected
- Unsupported country or language code returns an error
- Low or no results for niche or highly specific queries
- Offensive content filtered depending on safesearch settings

## How this service works

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

## Output

Returns a structured response containing a list of video results (titles, URLs, thumbnails, durations, source domains), query metadata (original query, spellcheck-corrected version, search operators applied), and flags such as whether results might be offensive. Pagination is supported via count and offset fields.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "VideoSearchParameters",
 "required": [
  "q"
 ],
 "properties": {
  "q": {
   "type": "string",
   "title": "Q",
   "maxLength": 400,
   "minLength": 1,
   "description": "The user’s search query term. Query can not be empty. Maximum of 400 characters and 50 words in the query."
  },
  "count": {
   "type": "integer",
   "title": "Count",
   "default": 20,
   "maximum": 50,
   "minimum": 1,
   "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."
  },
  "offset": {
   "type": "integer",
   "title": "Offset",
   "default": 0,
   "maximum": 9,
   "minimum": 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."
  },
  "country": {
   "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"
     ],
     "type": "string",
     "title": "SearchCountry"
    },
    {
     "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."
  },
  "ui_lang": {
   "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",
      "n
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "VideoSearchApiResponse",
 "required": [
  "query",
  "extra"
 ],
 "properties": {
  "type": {
   "enum": [
    "videos"
   ],
   "type": "string",
   "const": "videos",
   "title": "Type",
   "default": "videos"
  },
  "extra": {
   "type": "object",
   "title": "Extra",
   "properties": {
    "might_be_offensive": {
     "type": "boolean",
     "title": "Might Be Offensive",
     "default": false,
     "description": "Indicates whether the video search results might contain offensive content."
    }
   }
  },
  "query": {
   "type": "object",
   "title": "Query",
   "required": [
    "original"
   ],
   "properties": {
    "altered": {
     "anyOf": [
      {
       "type": "string"
      },
      {
       "type": "null"
      }
     ],
     "title": "Altered",
     "description": "The altered query by the spellchecker. This is the query that is used to search if any."
    },
    "cleaned": {
     "anyOf": [
      {
       "type": "string"
      },
      {
       "type": "null"
      }
     ],
     "title": "Cleaned",
     "description": "The cleaned normalized query by the spellchecker. This is the query that is used to search if any."
    },
    "original": {
     "type": "string",
     "title": "Original",
     "description": "The original query that was requested."
    },
    "spellcheck_off": {
     "anyOf": [
      {
       "type": "boolean"
      },
      {
       "type": "null"
      }
     ],
     "title": "Spellcheck Off",
     "description": "Whether the spellchecker is enabled or disabled."
    },
    "search_operators": {
     "anyOf": [
      {
       "type": "object",
       "title": "SearchOperators",
       "properties": {
        "sites": {
         "anyOf": [
          {
           "type": "array",
           "items": {
            "type": "string"
           }
          },
          {
           "type": "null"
          }
         ],
         "title": "Sites",
         "description": "List of site domains extracted from site: operators."
        },
        "applied": {
         "type": "boolean",
         "title": "Applied",
         "default": false,
         "description": "Whether search operators were applied to the query."
        },
        "cleaned_query": {
         "anyOf": [
          {
           "type": "string"
          },
          {
           "type": "null"
          }
         ],
         "title": "Cleaned Query",
         "description": "The query after search operators have been proce
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aisa-mpp-data-apis-brave-video-search-4efc3688/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.aisa.one](https://www.zero.xyz/host/api.aisa.one/llms.txt)
