Skip to content

Brave Search Scraper

Try for free

Scrape Brave Search results for any query: web results with title, URL, snippet and date, plus free discussions, news, videos, FAQ, knowledge panels, local businesses with phone and rating, and images. 37 regions, time and safe search filters.

🦁 Brave Search Scraper

Scrape Brave Search results for any query and get clean, structured rows: web results with title, URL, snippet and date, plus the discussions, news, videos, FAQ answers, knowledge panel and local businesses Brave shows next to them. Add images, videos and the news tab with one switch each. No login, no API key, about $2.25 per 1,000 web results, and everything else is free.

✨ Why use Brave Search Scraper?

  • 🔎 Independent index — Brave runs its own web index, so you see results that differ from Google and Bing. Great for SEO checks and for AI tools that need a second source.
  • ⚡ Fast — one page of 20 results takes about a second of work; many queries run in parallel.
  • 🎁 Bonus sections for free — discussions (Reddit and forums), news, inline videos, FAQ answers, knowledge panels, local businesses, images and videos cost nothing extra. You only pay for web results.
  • 📍 Local business data — for searches like "coffee shops in Berlin" you get address, phone, rating, review count, price range, opening hours and coordinates.
  • 🌍 37 regions and real filters — country, past day/week/month/year, a custom date range and safe search, the same filters as on search.brave.com.
  • 📦 Many queries per run — paste a list of keywords or Brave Search URLs and get one tidy dataset with a type field on every row.

🎯 Use cases

  • 📈 SEO rank tracking — check where your pages rank on Brave for your keywords, in several countries.
  • 🧠 AI and RAG pipelines — feed fresh search results with snippets and dates into your agents and LLM apps.
  • 🗣️ Community research — collect the Reddit and forum threads Brave surfaces for a topic, with score and top comment.
  • 🏪 Local lead lists — pull businesses with phone numbers, addresses and ratings for "<category> in <city>" searches.
  • 📰 News and brand monitoring — run "past day" searches or the news tab on a schedule and watch what is new.
  • 🖼️ Image and video research — gather image URLs with sizes and sources, or videos with duration and creator.

🚀 How to use

  1. Type or paste your search queries, one per line. Search operators (site:, quotes, -word) work, and so do Brave Search URLs.
  2. Set Maximum web results per query (20 is one page; Brave shows up to about 120).
  3. Optionally pick a country, time filter or safe search, and switch images, videos or the news tab on.
  4. Click Start and wait a few seconds.
  5. Export the results to JSON, CSV, Excel or HTML, or read them through the API. Filter on the type column to split web results from the bonus rows.

📥 Input

FieldWhat it does
queriesSearch terms, one per line, or Brave Search URLs (https://search.brave.com/search?q=...).
maxResultsWeb results per query. 20 by default; 0 means every web result Brave shows (about 120).
countryBrave region, e.g. us, gb, de, fr, jp, or all for worldwide.
timeFilterpd (past day), pw (past week), pm (past month), py (past year).
dateFrom / dateToA custom publication date range, YYYY-MM-DD.
safesearchoff, moderate (default) or strict.
includeExtrasDiscussions, news, inline videos, FAQ, knowledge panel and related searches. On by default, free.
includeLocationsLocal businesses for local searches. On by default, free.
includeImages / includeVideos / includeNewsLoad the Images, Videos and News tabs too. Off by default, free.
{
  "queries": ["web scraping", "coffee shops in Berlin"],
  "maxResults": 20,
  "country": "de",
  "timeFilter": "pm",
  "includeExtras": true,
  "includeLocations": true,
  "includeImages": false
}

📤 Output

Every row has a type: web, discussion, news, video_cluster, faq, infobox, location, image, video, news_article or search_metadata, plus the query it belongs to and the country searched.

FieldDescription
typeWhat the row is (see above).
queryThe search query.
positionRank within its type, starting at 1 (web results are ranked across pages).
title, url, descriptionTitle, link and snippet.
age, page_ageHow old the page is as Brave shows it, and the publication timestamp.
hostname, site_name, faviconDomain, site name and icon.
language, subtypePage language and Brave's result kind (generic, article, video, faq...).
thumbnail, thumbnail_originalPreview image (Brave's copy and the original URL).
sitelinks, faq, article, rating, product, recipe, videoRich data Brave attached to the web result, when present.
pageResults page the web result came from (1–6).
forum_name, score, num_answers, question, top_commentDiscussion rows.
address, phone, rating, reviews_count, price_range, categories, cuisine, coordinates, opening_hoursLocal business rows.
image_url, width, height, sourceImage rows.
duration, views, creator, publisherVideo rows.
related_queries, altered_query, user_location_labelThe search_metadata row of each query.

Real rows from a test run (trimmed):

[
  {
    "type": "web",
    "query": "web scraping",
    "position": 2,
    "page": 1,
    "title": "What is Web Scraping and How to Use It? - GeeksforGeeks",
    "url": "https://www.geeksforgeeks.org/blogs/what-is-web-scraping-and-how-to-use-it/",
    "description": "Request: Scraper visits each URL like a browser (sends HTTP GET). Load: Downloads HTML (runs JavaScript if needed for dynamic pages). Parse: Turns HTML into a navigable structure...",
    "age": "November 12, 2025",
    "page_age": "2025-11-12T16:25:54",
    "language": "en",
    "subtype": "video",
    "is_live": false,
    "hostname": "www.geeksforgeeks.org",
    "site_name": "GeeksforGeeks",
    "favicon": "https://imgs.search.brave.com/bGE5KD5Za34la_MeOAt7584d1aXRWEQopsXEQyAALPw/rs:fit:32:32:1:0/g:ce/...",
    "thumbnail_original": "https://media.geeksforgeeks.org/wp-content/cdn-uploads/20200622222131/What-is-Web-Scraping-and-How-to-Use-It.png",
    "country": "us"
  },
  {
    "type": "location",
    "query": "coffee shops in Berlin",
    "position": 1,
    "title": "Einstein Kaffee",
    "url": "https://einstein-kaffee.de/en/cafe/berlin/alexanderplatz",
    "description": "Coffee Shop",
    "address": "Alexanderpl. 3, 10178 Berlin, Germany",
    "phone": "+493024629919",
    "rating": 3.3,
    "reviews_count": 75,
    "price_range": "$$ - $$$",
    "categories": ["cafe"],
    "coordinates": { "lat": 52.521153, "lng": 13.4149712 },
    "opening_hours": { "Monday": "08:00-23:00", "Tuesday": "08:00-23:00", "Friday": "08:00-23:00" },
    "country": "de"
  }
]

💰 Pricing

You pay $2.25 per 1,000 web results ($0.00225 each), plus the small platform usage of the run. Discussions, news, videos, FAQ, knowledge panels, local businesses, images, videos and related searches are free.

Example: 1,000 web results ≈ $2.25 in results plus a few tenths of a cent of platform usage (a 20-result run used about $0.0003 in our tests). Bonus rows never add to the bill.

❓ FAQ

Is it legal to scrape Brave Search? The actor only reads public search result pages, the same pages anyone sees without logging in. You are responsible for how you use the data, especially personal data, under the laws that apply to you (GDPR, CCPA...).

Do I need a Brave account, API key or proxy? No account and no API key. The run uses Scrapely datacenter proxies by default and retries a blocked request on a fresh IP automatically. Brave challenges a few queries (for example some site: searches) on datacenter IPs; those pages are retried on residential exits, which only adds the residential traffic of those pages (about 0.1 MB each) to the platform usage.

How many results can I get? Brave Search shows at most about 120 web results per query (6 pages of 20), so that is the ceiling for one query. To get more, add more queries; there is no limit on how many queries one run handles. Images return up to about 200 per query.

Why is a field empty? Brave does not show every detail for every result: a date, thumbnail, rating or opening hours only appear when Brave has them. Empty fields are null.

Can I schedule it or use it from my code? Yes. Schedule runs in the console, call the actor through the Scrapely API, or connect it to your workflows with webhooks and integrations.

What do the countries do? The country picks Brave's region: which market's results rank and which local businesses appear. Brave does not offer a separate search language setting.

⚠️ Limits

  • Brave Search shows at most about 120 web results per query (6 pages of 20). Deeper pages do not exist on Brave's web tab.
  • Brave now and then repeats an earlier page when asked for a deeper one; the actor asks again and drops duplicates, so a query can end a little short of 120.
  • The Images, Videos and News tabs return their first batch (about 200 images, 20–60 videos, 10–50 news articles).
  • Ads, AI answers and the summarizer are not scraped.
  • Brave picks the searcher's location from the proxy exit, so user_location_label and local results for non-local queries follow the exit's city.

Related actors

//From the blog\\

Latest articles

All articles
G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.