Brave Search API | Web, Image & Video Results avatar

Brave Search API | Web, Image & Video Results

Pricing

from $2.29 / 1,000 scraped search results

Go to Apify Store
Brave Search API | Web, Image & Video Results

Brave Search API | Web, Image & Video Results

Extract structured web, image, and video search results from Brave Search. Up to 100 web results, 200 images, and 60 videos per query. Filter by 38 countries, time period, and safety level.

Pricing

from $2.29 / 1,000 scraped search results

Rating

0.0

(0)

Developer

ClearPath

ClearPath

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Structured JSON from Brave Search.

No API key. No Brave account. Just a search query.

Web links, discussions, news, local businesses with phone numbers and addresses, knowledge panels, FAQ answers, and rich widgets. Images and videos optional.

200 results in seconds. Discussions, news, local businesses with contact data, and more included free.

Output Example

 

Search Suite ➤Brave SearchGoogle AI Overview ↗

Quick Start

{
"query": "best restaurants in Berlin"
}

With image and video results

{
"query": "golden gate bridge",
"includeImages": true,
"includeVideos": true
}

German results from the past week

{
"query": "Nachrichten",
"country": "de",
"timeFilter": "pw",
"maxResults": 50
}

Input Parameters

ParameterTypeDescriptionDefault
querystringSearch term. Works exactly like the Brave Search box.required
includeImagesbooleanFetch image results alongside web results. Up to 200 images per query.false
includeVideosbooleanFetch video results alongside web results. Up to ~60 videos per query.false
maxResultsintegerMax web results to return (1-200). Only web results are charged.100
countrystring2-letter country code. Controls both result region and language. 38 countries supported.us
timeFilterstringFilter by recency: past day, week, month, or year.Any time
safesearchstringContent safety filter: off, moderate, or strict.off

Output

Each result includes a type field so you can filter by result type in your pipeline. Web results are paginated up to maxResults. All other sections (discussions, news, locations, etc.) are extracted automatically from the first page of results.

Result types

TypeDescriptionKey fields
webStandard search linkstitle, url, description, age, page_age, language, subtype, hostname, favicon, thumbnail
discussionReddit, GitHub, forum poststitle, url, description, forum_name, score, top_comment, hostname
infoboxKnowledge panel / Q&A sidebartitle, url, question, answer_text, answer_author, answer_upvotes, suggested_answers, attributes, providers
video_clusterInline videos from web searchtitle, url, duration, views, creator, publisher, thumbnail
newsNews clustertitle, url, description, age, source_name, source_logo, thumbnail
faqFAQ schema resultstitle, url, question, answer, hostname
richWeather, calculator, stock, currency, etc.rich_type, data (full structured data), provider
locationLocal businesses with contact datatitle, url, address, phone, rating, reviews_count, price_range, categories, coordinates, opening_hours, thumbnail
imageDedicated image results (toggle)title, url, image_url, width, height, source, thumbnail
videoDedicated video results (toggle)title, url, duration, views, creator, publisher, thumbnail
search_metadataQuery contextoriginal_query, country, city, coordinates, related_queries

Output example

Query: "best coffee shops in berlin" — 340 results (5 web, 9 discussions, 100 locations, 200 images, 18 videos, and more)

[
{
"type": "web",
"position": 1,
"title": "Berlin | Brian's Coffee Spot",
"url": "https://www.brian-coffee-spot.com/the-coffee-spot-guide-to/europe/berlin/",
"description": "When talking of speciality coffee in Berlin, you can't avoid The Barn...",
"age": "August 7, 2022",
"page_age": "2022-08-07T03:07:47",
"language": "en",
"subtype": "generic",
"hostname": "www.brian-coffee-spot.com",
"thumbnail": "https://imgs.search.brave.com/..."
},
// ... 4 more web results
{
"type": "discussion",
"position": 1,
"title": "Coffee Shops in Berlin",
"url": "https://www.reddit.com/r/Coffee/comments/7ahwkw/...",
"description": "Go to the Barn, they have some great coffee.",
"forum_name": "r/Coffee",
"score": "3",
"top_comment": "Go to the Barn, they have some great coffee."
},
// ... 8 more discussions
{
"type": "infobox",
"title": "Best coffee in Berlin",
"url": "https://www.reddit.com/r/askberliners/comments/...",
"question": "Best coffee in Berlin",
"answer_text": "Bonanza is a bit too pretentious for me, but worth checking out. Ben Rahim also has some interesting options.",
"answer_author": "32452353",
"answer_upvotes": 5,
"suggested_answers": [
{ "text": "My favorite is DoubleEye, and if you walk down Goltz- and Akazienstraße there's a bunch more...", "author": "senfengel", "upvotes": 3 }
]
},
{
"type": "video_cluster",
"position": 1,
"title": "3 of the best cafés for coffee and cake in Berlin",
"url": "https://www.youtube.com/watch?v=4Hz-8xItLSs",
"duration": "07:30",
"views": 595,
"creator": "Helen Edwards",
"publisher": "YouTube"
},
// ... 5 more inline videos
{
"type": "location",
"position": 1,
"title": "Rausch Schokoladenhaus",
"url": "https://rausch.de/schokoladenhaus",
"address": "Charlottenstraße 60, 10117 Berlin, Germany",
"phone": "+4930757880",
"rating": 4.6,
"reviews_count": 2630,
"price_range": "$$ - $$$",
"coordinates": { "lat": 52.512053, "lng": 13.3912058 },
"opening_hours": {
"Tuesday": "10:00-20:00",
"Wednesday": "10:00-20:00",
"Thursday": "10:00-20:00",
"Friday": "10:00-20:00",
"Saturday": "10:00-20:00",
"Sunday": "12:00-20:00"
},
"thumbnail": "https://imgs.search.brave.com/..."
},
// ... 99 more locations with contact data
{
"type": "image",
"position": 1,
"title": "Concierge Coffee is one of The 15 Best Coffee Shops in Berlin.",
"url": "https://foursquare.com/top-places/berlin/best-coffee-shops",
"source": "foursquare.com",
"image_url": "https://fastly.4sqi.net/img/general/699x268/...",
"width": 699,
"height": 268,
"thumbnail": "https://imgs.search.brave.com/..."
},
// ... 199 more images
{
"type": "video",
"position": 1,
"title": "I found the BEST coffee shop in Berlin",
"url": "https://www.youtube.com/watch?v=xCOplUM1mGY",
"duration": "08:36",
"creator": "pourtherecord",
"publisher": "YouTube",
"tags": ["coffee shops berlin"]
},
// ... 17 more videos
{
"type": "search_metadata",
"original_query": "best coffee shops in berlin",
"country": "us",
"is_geolocal": true,
"related_queries": [
"best coffee in berlin mitte",
"specialty coffee berlin",
"berlin coffee roasters",
"unusual cafes in berlin",
"bonanza coffee berlin",
"the barn berlin"
]
}
]

Pricing — Pay Per Event (PPE)

You only pay for web results. Discussions, news, locations, knowledge panels, images, and videos are all included free.

EventPrice
Web result scraped$0.00299

Pricing examples

ScenarioWeb resultsTotal itemsCost
Default search20~40-70~$0.06
Large search100~120-150~$0.30
Max search200~220-250~$0.60
With images + videos20~320~$0.06

Images, videos, discussions, news, locations, and all other bonus sections are free — toggle them on without worrying about cost.


How Brave Search Results Work

Country controls language

The country parameter is the main lever for result language. Set country to de for German results, fr for French, es for Spanish. No separate language setting needed.

Result counts

TypeResults per queryNotes
Web~20 per page, up to 100Automatic pagination based on maxResults
DiscussionsUp to ~10Reddit, GitHub, forums
NewsUp to ~8News cluster from first page
LocationsUp to ~30+Local businesses with address, phone, rating, hours
Infobox0-1Knowledge panel / Q&A sidebar
Video clusterUp to ~6Inline videos from web search
FAQUp to ~4FAQ schema answers
Rich0-1Weather, calculator, stock, currency widgets
Images (toggle)200 (fixed)Single batch, no pagination
Videos (toggle)~60 max2 pages fetched automatically

Time filtering

Use timeFilter to get recent results only. Works with web results. Useful for monitoring news, trending topics, or recent content.


API Integration

Python

from apify_client import ApifyClient
client = ApifyClient("your_token")
run = client.actor("clearpath/brave-search-api").call(run_input={
"query": "machine learning trends 2026",
"maxResults": 50,
"includeImages": True
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["type"] == "web":
print(f'{item["title"]}{item["url"]}')
elif item["type"] == "discussion":
print(f'[{item["forum_name"]}] {item["title"]} (score: {item["score"]})')
elif item["type"] == "location":
print(f'{item["title"]}{item.get("rating", "N/A")} stars')
elif item["type"] == "news":
print(f'[{item["source_name"]}] {item["title"]}')

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'your_token' });
const run = await client.actor('clearpath/brave-search-api').call({
query: 'machine learning trends 2026',
maxResults: 50,
includeImages: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const webResults = items.filter(i => i.type === 'web');
const discussions = items.filter(i => i.type === 'discussion');
const news = items.filter(i => i.type === 'news');
const locations = items.filter(i => i.type === 'location');

Advanced Usage

Multi-language research

Fetch results in different languages by changing the country code:

{
"query": "artificial intelligence",
"country": "jp",
"maxResults": 30
}

Strict safe search for family-friendly content

{
"query": "educational games for kids",
"safesearch": "strict",
"includeImages": true
}

Recent news monitoring

{
"query": "startup funding",
"timeFilter": "pd",
"maxResults": 50
}

Data Export

  • JSON — Structured data for programmatic use
  • CSV — Spreadsheet-ready format
  • Excel — Direct download from Apify Console

Use with AI Assistants (OpenClaw, Claude, etc.)

Connect this actor to AI assistants via Apify's MCP server. Ask your assistant to search the web using Brave.

Setup

  1. Go to mcp.apify.com and add clearpath/brave-search-api to your MCP server
  2. Connect the MCP server to your AI assistant (OpenClaw, Claude Desktop, Cursor, etc.)

OpenClaw example

Add Apify's MCP server to ~/.openclaw/openclaw.json:

{
"provider": {
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
}

Then message your OpenClaw bot on Telegram, WhatsApp, or Discord:

"Search Brave for the latest AI research papers from this week"

"Find images of modern architecture in Tokyo using Brave Search"

"Get me 50 search results about renewable energy trends in Germany"

The assistant calls the Brave Search API, gets structured results, and responds with titles, URLs, and descriptions.


Automation

  • Scheduled runs — Monitor search trends daily or weekly
  • Webhooks — Get notified when new results are ready
  • API — Integrate search results into your data pipeline

FAQ

Q: How many results can I get per run? A: Up to 200 web results, 200 images, and ~60 videos per query. Every query also returns discussions, news, locations, knowledge panels, and other sections automatically. Web results are controlled by maxResults, images and videos return all available results when toggled on. Only web results are charged.

Q: Does this need a Brave account? A: No. No account, login, or API key required.

Q: How fresh is the data? A: Results are fetched live from Brave Search. Use timeFilter set to "Past day" for the most recent content.

Q: Can I search in languages other than English? A: Yes. Set country to the target country code. For example, de for German, fr for French, es for Spanish. Brave returns results in the corresponding language.

Q: What result types do I get? A: Every query returns web links plus any available discussions, news, locations, knowledge panels, FAQ answers, inline videos, and rich widgets (weather, stocks, etc.). Enable includeImages or includeVideos for dedicated image/video results on top of that. Each result has a type field for easy filtering.

Q: Is there a free tier? A: Yes. Free users get 5 lifetime runs with up to 20 results each. Upgrade for unlimited usage.

Q: How is pricing calculated? A: $0.00299 per web result. Only web links are charged. Discussions, news, locations, images, videos, and all bonus sections are free.

Q: Can I filter by date? A: Yes. Use timeFilter with values: past day, past week, past month, or past year.


Support

Extracts publicly available search results from Brave Search. Users must comply with applicable data protection regulations (GDPR, CCPA).


Structured search results from Brave — web links, discussions, news, locations, knowledge panels, images, videos, and more in one query.