Brave Videos API
Our Brave Videos API allows you to scrape videos from Brave Videos, the video search of Brave Search. For each video, the API returns its title and link, its website and channel, its description, its date and duration, its views when Brave has them, and its thumbnails.
Brave Videos returns up to 50 videos per page, and a second page when it has more videos. Filter them by country with country, by publication date with date, and for adult content with safe_search.
The API endpoint is https://serpapi.com/search?engine=brave_videos
Head to the playground for a live and interactive demo.
API parameters
Localization
country
Optional
Parameter defines the country to search from. It's a two-letter country code (e.g., us (default) for the United States, gb for the United Kingdom, or fr for France). Head to the Brave countries page for a full list of supported Brave countries.
Advanced filters
safe_search
Optional
Parameter defines the level of filtering for adult content. Brave filters it with moderate when it isn't set.
Available options:off - Offmoderate - Moderatestrict - Strict
date
Optional
Parameter filters the videos by their publication date. Videos from any time are returned when it isn't set.
Available options:past_day - Past daypast_week - Past weekpast_month - Past monthpast_year - Past year
spelling
Optional
Parameter defines whether to fix the spelling of misspelled queries, like Brave. It can be set to true (default) to search for the spelling fix (e.g., minecraft mods for minecarft modz), as shown in search_information.spelling_fix, or false to search for the query as typed, like Brave's Search instead for link.
SerpApi parameters
no_cache
Optional
Parameter will force SerpApi to fetch the Brave Videos results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to false (default) to allow results from the cache, or true to disallow results from the cache. no_cache and async parameters should not be used together.
async
Optional
Parameter defines the way you want to submit your search to SerpApi. It can be set to false (default) to open an HTTP connection and keep it open until you got your search results, or true to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our Searches Archive API to retrieve your results. async and no_cache parameters should not be used together. async should not be used on accounts with Ludicrous Speed enabled.
zero_trace
Optional
Enterprise only. Parameter enables ZeroTrace mode. It can be set to false (default) or true. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult.
output
Optional
Parameter defines the format of the result. It can be set to json (default) to get a structured JSON of the results, html to get the raw HTML retrieved, or md to get a Markdown-formatted version optimized for LLMs and AI agents.
json_restrictor
Optional
Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details.
API results
JSON results
JSON output includes structured data for Video Results.
A search status is accessible through search_metadata.status.
It flows this way: Processing -> Success || Error.
If a search has failed, error will contain an error message.
search_metadata.id is the search ID inside SerpApi.
HTML results
This API does not have a full HTML response, only text.
search_metadata.prettify_html_file contains a link to the prettified version of the result.
It is displayed in the playground.
Markdown results
Markdown output is optimized for LLMs and AI agents. It provides a curated view of the JSON results
in a token-efficient format using tables, markdown links, and YAML frontmatter.
To access, use the output=md parameter, the /search.md endpoint, or request header Accept: text/markdown.
API examples
Example with q: minecraft
{
...
"video_results": [
{
"title": "Minecraft LIVE Official Trailer – September 2026",
"link": "https://www.youtube.com/watch?v=UiPcEW_d9Io",
"source": "YouTube",
"source_logo": "https://imgs.search.brave.com/Wg4wjE5SHAargkzePU3eSLmWgVz84BEZk1SjSglJK_U/rs:fit:32:32:1:0/g:ce/aHR0cDovL2Zhdmlj/b25zLnNlYXJjaC5i/cmF2ZS5jb20vaWNv/bnMvOTkyZTZiMWU3/YzU3Nzc5YjExYzUy/N2VhZTIxOWNlYjM5/ZGVjN2MyZDY4Nzdh/ZDYzMTYxNmI5N2Rk/Y2Q3N2FkNy93d3cu/eW91dHViZS5jb20v",
"channel": {
"name": "Minecraft",
"link": "http://www.youtube.com/@minecraft"
},
"description": "New adventures await when Minecraft LIVE airs on September 26! Are you ready? We’re revealing a new game drop, looking at Minecraft Dungeons II, and have lot...",
"date": "September 22, 2026",
"iso_date": "2026-09-22T15:00:12Z",
"duration": "00:55",
"thumbnail": "https://imgs.search.brave.com/QNfQPbYRoEN08oYLx1gjt8R3kuPQLq27hCf9UJucGUg/rs:fit:200:200:1:0/g:ce/aHR0cHM6Ly9pLnl0/aW1nLmNvbS92aS9V/aVBjRVdfZDlJby9t/YXhyZXNkZWZhdWx0/LmpwZw",
"original_thumbnail": "https://i.ytimg.com/vi/UiPcEW_d9Io/maxresdefault.jpg"
},
{
"title": "Mystery Tent 🌙 | Minecraft Forever World | Ep. 11",
"link": "https://www.youtube.com/watch?v=wPcy4lbqZlA",
"source": "YouTube",
"source_logo": "https://imgs.search.brave.com/Wg4wjE5SHAargkzePU3eSLmWgVz84BEZk1SjSglJK_U/rs:fit:32:32:1:0/g:ce/aHR0cDovL2Zhdmlj/b25zLnNlYXJjaC5i/cmF2ZS5jb20vaWNv/bnMvOTkyZTZiMWU3/YzU3Nzc5YjExYzUy/N2VhZTIxOWNlYjM5/ZGVjN2MyZDY4Nzdh/ZDYzMTYxNmI5N2Rk/Y2Q3N2FkNy93d3cu/eW91dHViZS5jb20v",
"channel": {
"name": "LDShadowLady",
"link": "http://www.youtube.com/@ldshadowlady"
},
"description": "Welcome to a brand new Minecraft Single player Let's Play World currently in Minecraft Version Update 26.1. This is a forever world which means I will keep t...",
"date": "2 days ago",
"iso_date": "2026-11-02T18:10:34Z",
"duration": "17:53",
"thumbnail": "https://imgs.search.brave.com/L7z1OCXRwa6PHBN-50OMggQflkuB70tEyC3VfgCNTaU/rs:fit:200:200:1:0/g:ce/aHR0cHM6Ly9pLnl0/aW1nLmNvbS92aS93/UGN5NGxicVpsQS9t/YXhyZXNkZWZhdWx0/LmpwZw",
"original_thumbnail": "https://i.ytimg.com/vi/wPcy4lbqZlA/maxresdefault.jpg"
},
...
],
"serpapi_pagination": {
"current": 1,
"next": "https://serpapi.com/search.json?country=us&engine=brave_videos&page=2&q=minecraft"
}
}
Example with country: gb
Brave Videos ranks the videos for the country of the search. When country isn't set, the search is from the United States (us), so the results don't depend on where the request comes from. Videos from websites without channels, like BBC videos, have no channel.
{
...
"search_parameters": {
"engine": "brave_videos",
"q": "football highlights",
"country": "gb"
},
"video_results": [
{
"title": "Moore and Richarlison on target 💪 | Spurs 3-0 Hoffenheim | Highlights",
"link": "https://www.youtube.com/watch?v=vL5hl_hrVRc",
"source": "YouTube",
"source_logo": "https://imgs.search.brave.com/Wg4wjE5SHAargkzePU3eSLmWgVz84BEZk1SjSglJK_U/rs:fit:32:32:1:0/g:ce/aHR0cDovL2Zhdmlj/b25zLnNlYXJjaC5i/cmF2ZS5jb20vaWNv/bnMvOTkyZTZiMWU3/YzU3Nzc5YjExYzUy/N2VhZTIxOWNlYjM5/ZGVjN2MyZDY4Nzdh/ZDYzMTYxNmI5N2Rk/Y2Q3N2FkNy93d3cu/eW91dHViZS5jb20v",
"channel": {
"name": "Sky Sports Football",
"link": "http://www.youtube.com/@skysportsfootball"
},
"description": "► Subscribe to Sky Sports Football: http://bit.ly/SSFootballSub► Watch Sky Sports with NOW: https://bit.ly/NOWFootballYTMikey Moore scored a brace and Richar",
"date": "August 15, 2026",
"iso_date": "2026-08-15T20:08:37Z",
"duration": "02:57",
"thumbnail": "https://imgs.search.brave.com/uH43M0vlFcIo4xVRtlEUDgVCXPCqYv-8kEQxeLFMWdk/rs:fit:200:200:1:0/g:ce/aHR0cHM6Ly9pLnl0/aW1nLmNvbS92aS92/TDVobF9oclZSYy9t/YXhyZXNkZWZhdWx0/LmpwZw",
"original_thumbnail": "https://i.ytimg.com/vi/vL5hl_hrVRc/maxresdefault.jpg"
},
{
"title": "Highlights - Premier League - Manchester United 1-1 Tottenham Hotspur - BBC Sport",
"link": "https://www.bbc.co.uk/sport/football/videos/crz9zdl0g04zo",
"source": "BBC",
"source_logo": "https://imgs.search.brave.com/BCYR3u7f0k_Pqx5hEO56aUIzi3eMFfe-vYQgUYWV-Bc/rs:fit:32:32:1:0/g:ce/aHR0cDovL2Zhdmlj/b25zLnNlYXJjaC5i/cmF2ZS5jb20vaWNv/bnMvYTEzZDM0NjY3/NDc3MDEyZjI5ZGY3/OTJkMmMyOWU1MGNj/ZjQ5ZGU0Y2U4ZTEx/NzYzMWI1NWE2NDY4/YTk0MThkZC93d3cu/YmJjLmNvLnVrLw",
"description": "Dominic Solanke scores in stoppage time to salvage a point for 10-man Tottenham as they snatch a draw against Manchester United in a feisty encounter at Old Trafford.",
"date": "4 weeks ago",
"iso_date": "2026-10-10T19:24:23Z",
"thumbnail": "https://imgs.search.brave.com/TzojvRUUAZNEuFooxyOCIb2CgU-6rVYOwUzPR9UEdAI/rs:fit:200:200:1:0/g:ce/aHR0cHM6Ly9pY2hl/Zi5iYmNpLmNvLnVr/L2FjZS9icmFuZGVk/X3Nwb3J0LzEyMDAv/Y3BzcHJvZHBiL2I1/MTkvbGl2ZS9lOGZk/OTkzMC1jNGQ4LTEx/ZjEtYmMyZS0wMThk/NjQ1ZDhkMjEuanBn",
"original_thumbnail": "https://ichef.bbci.co.uk/ace/branded_sport/1200/cpsprodpb/b519/live/e8fd9930-c4d8-11f1-bc2e-018d645d8d21.jpg"
},
...
],
...
}
Example with date: past_month
With date, the API only returns videos published in the past day, week, month, or year. The publication date and time of each video, in UTC, is in iso_date.
{
...
"search_parameters": {
"engine": "brave_videos",
"q": "spacex launch",
"country": "us",
"date": "past_month"
},
"video_results": [
{
"title": "SpaceX Falcon 9 rocket launches batch of Starlink satellites from California",
"link": "https://www.youtube.com/watch?v=BEnnrpwGnMQ",
"source": "YouTube",
"source_logo": "https://imgs.search.brave.com/Wg4wjE5SHAargkzePU3eSLmWgVz84BEZk1SjSglJK_U/rs:fit:32:32:1:0/g:ce/aHR0cDovL2Zhdmlj/b25zLnNlYXJjaC5i/cmF2ZS5jb20vaWNv/bnMvOTkyZTZiMWU3/YzU3Nzc5YjExYzUy/N2VhZTIxOWNlYjM5/ZGVjN2MyZDY4Nzdh/ZDYzMTYxNmI5N2Rk/Y2Q3N2FkNy93d3cu/eW91dHViZS5jb20v",
"channel": {
"name": "Spaceflight Now",
"link": "http://www.youtube.com/@SpaceflightNowVideo"
},
"description": "Watch live coverage as SpaceX launches a Falcon 9 rocket from California with 27 satellites for the company's Starlink space-based internet service. Liftoff ...",
"date": "5 days ago",
"iso_date": "2026-10-31T04:42:42Z",
"duration": "50:14",
"thumbnail": "https://imgs.search.brave.com/WYFROarBdcteiyi-vIn-9QTdNxp3focdjsgNCrlrNS0/rs:fit:200:200:1:0/g:ce/aHR0cHM6Ly9pLnl0/aW1nLmNvbS92aS9C/RW5ucnB3R25NUS9t/YXhyZXNkZWZhdWx0/LmpwZw",
"original_thumbnail": "https://i.ytimg.com/vi/BEnnrpwGnMQ/maxresdefault.jpg"
},
...
],
...
}
Example with a misspelled query: minecarft modz
Like Brave Videos, the API searches for the spelling fix of a misspelled query, which is in search_information.spelling_fix.
{
...
"search_information": {
"spelling_fix": "minecraft mods",
"video_results_state": "Showing results for fixed spelling"
},
"video_results": [
{
"title": "Top 30 Quality of Life Minecraft Mods",
"link": "https://www.youtube.com/watch?v=XnZmMu5cJNY",
"source": "YouTube",
...
},
...
],
...
}
Example with spelling: false
With spelling set to false, the API searches for the query as typed, like the Search instead for link of Brave Videos.
Example with page: 2
With page set to 2, the API returns the second page of Brave Videos. serpapi_pagination.next is only present when Brave Videos has a next page.
{
...
"search_parameters": {
"engine": "brave_videos",
"q": "minecraft",
"country": "us",
"page": "2"
},
"video_results": [
{
"title": "How Minecraft Can Regain It's Greatness?",
"link": "https://www.youtube.com/watch?v=WQFR2AEupKQ",
"source": "YouTube",
"source_logo": "https://imgs.search.brave.com/Wg4wjE5SHAargkzePU3eSLmWgVz84BEZk1SjSglJK_U/rs:fit:32:32:1:0/g:ce/aHR0cDovL2Zhdmlj/b25zLnNlYXJjaC5i/cmF2ZS5jb20vaWNv/bnMvOTkyZTZiMWU3/YzU3Nzc5YjExYzUy/N2VhZTIxOWNlYjM5/ZGVjN2MyZDY4Nzdh/ZDYzMTYxNmI5N2Rk/Y2Q3N2FkNy93d3cu/eW91dHViZS5jb20v",
"channel": {
"name": "kasser",
"link": "http://www.youtube.com/@kasser1"
},
"description": "Minecraft is one of the most iconic games in history, but can it regain its former greatness? In this video, we’ll explore what made Minecraft legendary, the...",
"date": "February 8, 2025",
"iso_date": "2025-02-08T09:04:55Z",
"duration": "08:16",
"views": 4891,
"thumbnail": "https://imgs.search.brave.com/xDHk5Sz5OgpHne1GMOGRBEUrRlj8dyTPhmNV5II0rrE/rs:fit:200:200:1:0/g:ce/aHR0cHM6Ly9pLnl0/aW1nLmNvbS92aS9X/UUZSMkFFdXBLUS9t/YXhyZXNkZWZhdWx0/LmpwZw",
"original_thumbnail": "https://i.ytimg.com/vi/WQFR2AEupKQ/maxresdefault.jpg"
},
...
],
"serpapi_pagination": {
"current": 2,
"previous": "https://serpapi.com/search.json?country=us&engine=brave_videos&page=1&q=minecraft"
}
}
JSON structure overview
{
...
"search_information": {
"spelling_fix": "String - Query that Brave Videos searched for instead of the misspelled one. (Ex. minecraft mods for minecarft modz)",
"video_results_state": "String - 'Showing results for fixed spelling' when Brave Videos searched for the spelling fix, or 'Fully empty' when there are no videos."
},
"video_results": [
{
"title": "String - Title of the video.",
"link": "String - Link to the video.",
"source": "String - Website of the video (Ex. YouTube, Vimeo, or BBC), or its domain when Brave Videos has no name for it.",
"source_logo": "String - Link to the favicon of the website of the video, served by Brave.",
"channel": {
"name": "String - Name of the channel that published the video. Videos of websites without channels, like BBC, have no channel.",
"link": "String - Link to the channel."
},
"description": "String - Description of the video, as cut by Brave Videos.",
"date": "String - Publication date of the video, as shown by Brave Videos. (Ex. 2 days ago, or September 22, 2026)",
"iso_date": "String - Publication date and time of the video, in UTC. (Ex. 2026-09-22T15:00:12Z)",
"duration": "String - Duration of the video. (Ex. 17:53, or 03:59:59)",
"views": "Integer - Number of views of the video. Present when Brave Videos has it.",
"thumbnail": "String - Link to the thumbnail of the video, served by Brave.",
"original_thumbnail": "String - Link to the thumbnail of the video on its website."
},
...
],
"serpapi_pagination": {
"current": "Integer - Current page.",
"previous": "String - SerpApi link to the previous page.",
"next": "String - SerpApi link to the next page. Missing when Brave Videos has no more videos."
}
}