Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
brave avatar

Videos Search

  • 720 installs
  • 164 repo stars
  • Updated August 3, 2026
  • brave/brave-search-skills

videos-search is a Claude Code skill that queries the Brave Videos Search API for tutorials and demonstrations with title, URL, thumbnail, duration, views, and creator metadata for developers researching implementation o

About

videos-search is a Brave Search skill from brave/brave-search-skills that calls https://api.search.brave.com/res/v1/videos/search with an X-Subscription-Token API key from the Search plan. Results include title, URL, thumbnail, duration, view count, and creator fields, with optional freshness filters, SafeSearch, and pagination for agent-driven research loops. Developers and coding agents reach for videos-search when written docs are thin and video walkthroughs clarify framework setup, debugging steps, or UI patterns. The skill ships cURL quick-start examples so agents can embed video discovery into research workflows without building a custom search client first.

  • Returns videos with title, URL, thumbnail, duration, view count, and creator
  • Supports freshness filters, SafeSearch, country, language, and pagination
  • Works with both GET and POST endpoints for short and long queries
  • Requires only a Brave Search API key (included in the Search plan)

Videos Search by the numbers

  • 720 all-time installs (skills.sh)
  • Ranked #1,408 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/brave/brave-search-skills --skill videos-search

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs720
repo stars164
Last updatedAugust 3, 2026
Repositorybrave/brave-search-skills

How do agents search video tutorials with metadata?

Let their coding agent retrieve relevant video tutorials, explainer clips, and demonstrations with rich metadata during research.

Who is it for?

Coding agents and developers who need programmatic video tutorial discovery with rich metadata during framework or debugging research.

Skip if: Teams needing general web page search, image-only results, or video hosting and transcoding rather than Brave Search API retrieval.

When should I use this skill?

User asks to find video tutorials, search Brave for explainer clips, or retrieve demonstration videos with duration and view metadata.

What you get

Ranked video results with URLs, thumbnails, durations, view counts, creators, and pagination cursors.

  • video result list
  • pagination cursors
  • tutorial metadata records

Files

SKILL.mdMarkdownGitHub ↗

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

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

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

GET https://api.search.brave.com/res/v1/videos/search
POST 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

{
  "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

Related skills

How it compares

Use videos-search when agents need tutorial video metadata from Brave rather than generic web search or manual YouTube browsing.

FAQ

What API does videos-search use?

videos-search queries https://api.search.brave.com/res/v1/videos/search with an X-Subscription-Token from a Brave Search plan API key. Responses return JSON video metadata including title, URL, thumbnail, duration, and view count.

What metadata does videos-search return?

videos-search returns videos with title, URL, thumbnail, duration, view count, and creator fields. Freshness filters, SafeSearch, and pagination parameters refine agent research queries.

AI & Agent Buildingresearchautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.