Brave Search Scraper
Pricing
from $3.39 / 1,000 search results
Brave Search Scraper
Scrape Brave Search results for any query: rank, title, URL, displayed URL, snippet, domain, date, thumbnail and sitelinks. Pick country, language and safe search. Export as JSON, CSV or Excel, or use the API.
Pricing
from $3.39 / 1,000 search results
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Brave Search Scraper
Brave Search Scraper extracts organic web results from Brave Search for any keyword: rank, title, URL, displayed URL, snippet, domain, date, thumbnail and sitelinks. Pick from 39 countries, a search language and a safe search level, and get clean SERP data without a Brave Search API key.
| Track rankings on Brave's independent search index: every result comes with its exact position, page number, publication date and sitelinks, deduplicated across pages and ready for SEO reports, monitoring or AI pipelines. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/brave-search-scraper. Scrapes organic web results from Brave Search (search.brave.com) for one query per run. Call via ApifyClient: client.actor("parsebird/brave-search-scraper").call(run_input={"query": "best electric cars 2025", "maxItems": 50, "country": "us", "language": "en", "safeSearch": "moderate"}). Inputs: query (string, required; Brave search operators such as site:, "exact phrase" and -word work), maxItems (integer, default 50, min 1; Brave shows about 20 results per page and up to roughly 100-120 per query), country (string, default "us"; one of all, ar, au, at, be, br, ca, cl, cn, dk, fi, fr, de, gr, hk, in, id, it, jp, kr, my, mx, nl, nz, no, ph, pl, pt, ru, sa, sg, za, es, se, ch, tw, tr, gb, us), language (string, default "en"; search language preference such as de, fr, es, ja, pt-br, zh-hans), safeSearch ("off" | "moderate" | "strict", default "moderate"), proxyConfiguration (optional, default Apify US residential proxy). Output: one row per result with position (1-based rank), resultTitle, link, displayedUrl, snippet, domain, siteName, date (as shown by Brave), publishedAt (ISO date), thumbnail, siteLinks[{title, link, snippet}], page, searchQuery, country, language, safeSearch, scrapedAt. Pricing: pay per event, $3.99 per 1,000 results on the Free plan plus a small run start fee. Full API spec: https://apify.com/parsebird/brave-search-scraper/api. Get your token: https://console.apify.com/settings/integrations.
What is Brave Search Scraper?
Brave Search Scraper turns a Brave Search results page into structured data. Type a query, as you would on search.brave.com, and click Start. To try it, keep the prefilled query best electric cars 2025: the run saves 50 ranked results in a few seconds.
Brave Search runs on its own web index rather than reselling Google or Bing results, so its rankings are a separate signal worth tracking. Brave Search Scraper works as a Brave Search API alternative for SERP data: no API key, no setup. Download results as JSON, CSV or Excel, or read them through the Apify API.
What can Brave Search Scraper do?
- 🔎 Scrape any Brave Search query, including search operators such as
site:reddit.com,"exact phrase"and-word. - 🏁 Record exact rankings: each result gets its 1-based position and the page it was on.
- 🌍 Localize results for 39 countries, or turn off country ranking with All regions.
- 🗣️ Set a search language and a safe search level (off, moderate, strict).
- 🔗 Collect sitelinks shown under navigational results, such as the section links under
amazon.comornytimes.com. - 📅 Get dates and thumbnails when Brave shows them, both as displayed (
1 day ago) and as an ISO timestamp. - ♻️ Skip duplicates across pages, so the same URL is never saved or charged twice.
- 🛡️ Rotate IPs automatically: every page goes out through a fresh proxy IP, and rate-limited requests are retried.
Because it runs on Apify, you also get:
- Scheduling to track rankings daily, weekly or at any interval
- API access with Python and JavaScript clients
- Integrations with Make, Zapier, Google Sheets, Slack, webhooks and more
- Export to JSON, CSV, Excel, XML and HTML
What data can you extract from Brave Search?
| Field | Description |
|---|---|
position | Rank of the result, starting at 1, counted across pages |
resultTitle | Title of the result |
link | Full URL of the result |
displayedUrl | URL as Brave displays it, such as caranddriver.com › rankings › best-electric-cars |
snippet | Description text under the result, with highlight tags removed |
domain | Hostname of the result, such as www.caranddriver.com |
siteName | Site name Brave shows, such as Car and Driver or Reddit |
date | Date as Brave displays it, such as June 25, 2025 or 1 day ago, when shown |
publishedAt | Page date as an ISO timestamp, when Brave has one |
thumbnail | Thumbnail image URL, when shown |
siteLinks | Sub-links under the result, each with title, link and snippet |
page | Results page the result appeared on (1, 2, 3 …) |
searchQuery, country, language, safeSearch | The search settings used. country is the country Brave actually applied |
scrapedAt | When the result was scraped (ISO 8601, UTC) |
Fields Brave doesn't show for a result are null, or an empty list for siteLinks.
How to scrape Brave Search step by step
- Open Brave Search Scraper and sign in to Apify.
- Enter a Search query, such as
best electric cars 2025orsite:github.com web scraper. - Set Max results. Brave shows about 20 results per page.
- Pick a Country, a Search language and a Safe search level, or keep the defaults (United States, English, Moderate).
- Click Start, then download your data as JSON, CSV or Excel from the Output tab.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| query | string | Yes | — | Search query. Brave search operators work |
| maxItems | integer | No | 50 | Most results to save (minimum 1) |
| country | string | No | us | Country Brave ranks results for: one of 39 country codes, or all for All regions |
| language | string | No | en | Search language preference, such as de, fr, es, ja, pt-br, zh-hans |
| safeSearch | string | No | moderate | off, moderate or strict |
| proxyConfiguration | object | No | Apify US residential | Proxy settings. Set it only to change the default |
Example input:
{"query": "best electric cars 2025","maxItems": 50,"country": "us","language": "en","safeSearch": "moderate","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Output example
[{"position": 1,"resultTitle": "Best Electric Vehicles for 2026, Tested","link": "https://www.caranddriver.com/rankings/best-electric-cars","displayedUrl": "caranddriver.com › rankings › best-electric-cars","snippet": "C/D SAYS: The 2025 Volkswagen ID.Buzz represents the modern revival of the brand's beloved Microbus and is the first electric minivan on the market.","domain": "www.caranddriver.com","siteName": "Car and Driver","date": null,"publishedAt": null,"thumbnail": "https://hips.hearstapps.com/hmg-prod/images/2023-evoty-the-contenders-649324baab1b1.jpg","siteLinks": [],"page": 1,"searchQuery": "best electric cars 2025","country": "us","language": "en","safeSearch": "moderate","scrapedAt": "2026-11-07T12:59:47.872Z"},{"position": 1,"resultTitle": "Amazon | 本, ファッション, 家電から食品まで | ...","link": "https://www.amazon.co.jp/","displayedUrl": "amazon.co.jp","snippet": "Amazon.co.jp 公式サイト。アマゾンで本, 日用品, ファッション, 食品, ベビー用品, カー用品ほか一億種の商品をいつでもお安く。通常配送無料(一部を除く)","domain": "www.amazon.co.jp","siteName": "Amazon Japan","date": null,"publishedAt": null,"thumbnail": null,"siteLinks": [{ "title": "Amazon タイムセール", "link": "https://www.amazon.co.jp/gp/goldbox", "snippet": "Tokushoho © 1996-2026, Amazon.com, Inc." },{ "title": "Prime Video:映画、TV番組、スポーツ番組、ライブTVを視聴…", "link": "https://www.amazon.co.jp/gp/video/storefront", "snippet": "Tokushoho © 1996-2026, Amazon.com, Inc." }],"page": 1,"searchQuery": "amazon","country": "jp","language": "ja","safeSearch": "moderate","scrapedAt": "2026-11-07T13:03:57.069Z"}]
The second row is from a separate run for amazon with country Japan, shortened to two sitelinks.
How to use the Brave Search API in Python and JavaScript
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("parsebird/brave-search-scraper").call(run_input={"query": "best project management software","maxItems": 100,"country": "gb","language": "en-gb",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["position"], item["domain"], item["resultTitle"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/brave-search-scraper').call({query: 'site:reddit.com best budget headphones',maxItems: 40,country: 'us',safeSearch: 'strict',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((row) => console.log(row.position, row.link));
Get your token in Apify Console. See every option on the API tab.
Use cases
- SEO rank tracking: check where your pages rank on Brave Search for your target keywords, by country.
- Competitor research: see which domains own the first pages for a keyword, and how that changes over time.
- Search engine comparison: put Brave's rankings next to other engines to see where your visibility differs.
- Content research: collect titles, snippets and dates of the top pages before writing on a topic.
- AI and RAG pipelines: feed fresh, ranked web results with snippets and links into LLM agents.
- Brand monitoring: schedule runs for your brand name and spot new pages, reviews and threads.
How does Brave Search Scraper work?
- It opens the Brave Search results page for your query with your country, language and safe search settings.
- It reads the result data Brave embeds in the page, so titles, URLs, dates and sitelinks come out exactly as Brave has them.
- It moves through the pages (about 20 results each) until it reaches Max results or Brave says there are no more.
- Every page goes through a fresh proxy IP. If Brave limits a request, the scraper retries it on a new IP.
- It skips URLs it already saved, numbers results in order, and saves rows page by page, so a stopped run keeps its results.
How much does it cost to scrape Brave Search?
Brave Search Scraper uses pay-per-event pricing. Compute and proxy costs are included in the event price.
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
apify-actor-start, per run | $0.005 | $0.005 | $0.005 | $0.005 |
result-scraped, per 1,000 | $3.99 | $3.79 | $3.59 | $3.39 |
Each saved search result is one result-scraped event. Duplicates are skipped and never charged. For example, 50 results for one keyword cost about $0.20 on the Free plan, plus $0.005 for the run start. A start event fires once per run for each GB of run memory, and the default memory stays within one. To cap your spending, set a maximum cost per run in the run options. The run stops at that limit and keeps what it saved.
Is it legal to scrape Brave Search?
Brave Search Scraper only collects data that search.brave.com shows publicly, without logging in. Web scraping of public data is generally legal, but what you may do with the data depends on your purpose and your country. You can read more in Is web scraping legal?
Search results can include titles and snippets of third-party pages that are protected by copyright, and pages that mention people. Check Brave Search's terms too, and ask a lawyer if you are unsure. This section is not legal advice.
Other search scrapers you may like
- Startpage Search Scraper: private search results from Startpage
- Baidu 百度 Search Scraper: Chinese web search results from Baidu
- Sogou WeChat Article Search Scraper: WeChat articles through Sogou search
- Google Shopping Scraper: product listings and prices from Google Shopping
- Bing Images Scraper: image search results from Bing
- YouTube Search Scraper & API: videos from YouTube search
- Reddit Search Scraper: posts and comments from Reddit search
- Similarweb Scraper: website traffic and ranking data
FAQ
Do I need a Brave Search API key? No. Brave offers its own paid Brave Search API with keys and plans. Brave Search Scraper reads the public search pages instead, so you only need an Apify account.
How many results can I get per query?
As many as Brave shows, which is usually around 100–120. In our tests, best electric cars 2025 returned 115 unique results over 6 pages, and a narrow query with operators returned 32. When Brave runs out, the run ends with the message "all Brave Search shows for this query".
Why do I get fewer results than Max results? Brave stops offering more pages for that query. Later pages can also repeat results from earlier pages; those are skipped and not charged.
Does the search language filter results? It sets a preference, not a strict filter. Brave mostly ranks by the query's own language, so a German query in Germany returns mostly German pages, while an English query stays mostly English whatever language you pick. Combine Country and a query in the target language for the most local results.
Do the results depend on the proxy location?
For queries with local intent, such as weather forecast, Brave also uses the location of the IP address. The default proxy is a US residential IP. For local results elsewhere, pick a proxy country to match in Proxy configuration.
What happens if I pick a country Brave doesn't support?
The country list only offers the 39 countries Brave Search supports, plus All regions. The country field in each row shows the country Brave actually applied.
Can I run several keywords? Each run takes one query. For many keywords, start several runs through the API, or save each keyword as an Apify task and schedule them.
Can I schedule recurring runs? Yes. Use Apify Schedules to run daily, weekly or at any interval, and send results to Google Sheets, Slack or your own app with integrations.
Something doesn't work. Where do I report it? Open a ticket on the Issues tab. Include your run link so we can look into it.