Videos Search

by brave62793e0c49edNo license183 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 2 weeks ago

USE FOR video search. Returns videos with title, URL, thumbnail, duration, view count, creator. Supports freshness filters, SafeSearch, pagination.

Instructions only

Videos 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

bash
curl -s "https://api.search.brave.com/res/v1/videos/search?q=python+tutorial" \  -H "Accept: application/json" \  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"

With Parameters

bash
curl -s "https://api.search.brave.com/res/v1/videos/search" \  -H "Accept: application/json" \  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \  -G \  --data-urlencode "q=machine learning explained" \  --data-urlencode "country=US" \  --data-urlencode "search_lang=en" \  --data-urlencode "count=20" \  --data-urlencode "freshness=pm"

Endpoint

http
GET https://api.search.brave.com/res/v1/videos/searchPOST https://api.search.brave.com/res/v1/videos/search

Authentication: X-Subscription-Token: <API_KEY> header

Note: Both GET and POST methods are supported. POST is useful for long queries.

Parameters

ParameterTypeRequiredDefaultDescription
qstringYes-Search query (1-400 chars, max 50 words)
countrystringNoUSSearch country (2-letter country code or ALL)
search_langstringNoenLanguage preference (2+ char language code)
ui_langstringNoen-USUI language (e.g., "en-US")
countintNo20Number of results (1-50)
offsetintNo0Page offset (0-9)
safesearchstringNomoderateAdult content filter (off/moderate/strict)
freshnessstringNo-Time filter (pd/pw/pm/py or date range)
spellcheckboolNotrueAuto-correct query
operatorsboolNotrueApply search operators
include_fetch_metadataboolNofalseInclude fetched_content_timestamp in results

Freshness Values

ValueDescription
pdPast day (24 hours)
pwPast week (7 days)
pmPast month (31 days)
pyPast year (365 days)
YYYY-MM-DDtoYYYY-MM-DDCustom date range

Response Format

json
{  "type": "videos",  "query": {    "original": "python tutorial",    "spellcheck_off": false  },  "extra": {    "might_be_offensive": false  },  "results": [    {      "type": "video_result",      "title": "Python Tutorial for Beginners",      "url": "https://www.youtube.com/watch?v=rfscVS0vtbw",      "description": "Learn Python programming from scratch...",      "age": "February 12, 2025",      "page_age": "2025-02-12T00:00:00",      "page_fetched": "2025-02-12T15:00:00Z",      "thumbnail": {        "src": "https://imgs.search.brave.com/...",        "original": "https://i.ytimg.com/vi/rfscVS0vtbw/hqdefault.jpg"      },      "video": {        "duration": "03:45:00",        "views": 1523000,        "creator": "freeCodeCamp",        "publisher": "YouTube",        "requires_subscription": false,        "tags": ["python", "programming"],        "author": {          "name": "freeCodeCamp.org",          "url": "https://www.youtube.com/@freecodecamp"        }      },      "meta_url": {        "scheme": "https",        "netloc": "youtube.com",        "hostname": "www.youtube.com",        "favicon": "https://imgs.search.brave.com/...",        "path": "\u203a watch"      }    }  ]}

Response Fields

FieldTypeDescription
typestringAlways "videos"
query.originalstringThe original search query
query.alteredstring?Spellcheck-corrected query (if changed)
query.cleanedstring?Cleaned/normalized query
query.spellcheck_offbool?Whether spellcheck was disabled
query.show_strict_warningbool?True if strict safesearch blocked adult results
query.search_operatorsobject?Applied search operators (applied, cleaned_query, sites)
extra.might_be_offensiveboolWhether results may contain offensive content
results[].typestringAlways "video_result"
results[].urlstringSource URL of the video
results[].titlestringVideo title
results[].descriptionstring?Video description
results[].agestring?Human-readable age (e.g. "6 months ago") or absolute date (e.g. "February 12, 2025")
results[].page_agestring?Page age from source (ISO datetime)
results[].page_fetchedstring?ISO datetime when page was last fetched (e.g. 2025-02-12T15:00:00Z)
results[].fetched_content_timestampint?Fetch timestamp (only with include_fetch_metadata=true)
results[].video.durationstring?Time string (variable format)
results[].video.viewsint?View count as integer
results[].video.creatorstring?Channel/creator name
results[].video.publisherstring?Platform (YouTube, Vimeo, etc.)
results[].video.requires_subscriptionbool?Whether video requires a subscription
results[].video.tagslist[str]?Tags relevant to the video
results[].video.authorobject?Author profile
results[].video.author.namestringAuthor name
results[].video.author.urlstringAuthor profile URL
results[].video.author.long_namestring?Extended author name
results[].video.author.imgstring?Author profile image URL
results[].thumbnail.srcstringServed thumbnail URL
results[].thumbnail.originalstring?Original thumbnail URL
results[].meta_url.schemestring?URL protocol scheme
results[].meta_url.netlocstring?Network location
results[].meta_url.hostnamestring?Lowercased domain name
results[].meta_url.faviconstring?Favicon URL
results[].meta_url.pathstring?URL path

Search Operators

Use search operators to refine results:

  • site:youtube.com - Limit to specific site
  • "exact phrase" - Match exact phrase
  • -exclude - Exclude term

Set operators=false to disable operator parsing.

Use Cases

  • Video content research: Find tutorials, explainers, and reviews by topic. Use the video.duration, video.views, and video.creator metadata to filter and rank results programmatically. Prefer videos-search over web-search when you need a dedicated video index with richer metadata (duration, views, creator, tags) and up to 50 results per request.
  • Fresh video monitoring: Use freshness=pd or freshness=pw to track newly published video content on trending topics or specific subjects.
  • Platform-specific search: Use site:youtube.com or site:vimeo.com operators to target specific video platforms.
  • Video metadata extraction: Get view counts, durations, creator info, and tags for analytics, content curation, or recommendation systems.

Notes

  • Pagination: Use offset (0-9) with count for more results
  • Max results: Up to 50 results per request

Source and attribution

Source:brave/brave-search-skillsinskills/videos-searchat commit62793e0

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal