Brave News Search Scraper avatar

Brave News Search Scraper

Pricing

Pay per event

Go to Apify Store
Brave News Search Scraper

Brave News Search Scraper

Search Brave News by keyword and export ranked headlines, publishers, publication times, snippets, destination URLs, and thumbnails for monitoring, research, or RAG.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Search Brave's independent news index and export clean, ranked article records without opening every publisher page.

Use Brave News Search Scraper to turn keyword searches into structured headlines, publishers, publication times, destination URLs, snippets, thumbnails, and ranking context. Run one query for quick research or schedule a list of brand, market, policy, and competitor queries for continuous monitoring.

  • πŸ”Ž Search up to 20 keyword queries in one run
  • πŸ“° Export up to 200 ranked articles per query
  • 🌍 Localize results by country and language
  • πŸ•’ Filter to the past day, week, month, or year
  • πŸ”— Keep direct publisher URLs and the exact Brave source page
  • πŸ€– Send results to AI agents, RAG pipelines, Sheets, Slack, or a warehouse

The Actor uses the public Brave News result surface. It does not require a Brave API key, a Brave account, or publisher credentials.

What does Brave News Search Scraper do?

The Actor opens Brave News in a hardened Chromium session, searches each supplied query, parses the rendered result cards, and saves one dataset row per unique destination URL.

For every result, it preserves:

  • the query and per-query rank;
  • headline and publisher;
  • relative or absolute publication time;
  • normalized publication timestamp when it can be derived;
  • article destination URL and source domain;
  • Brave's visible snippet and thumbnail when available;
  • the exact Brave result-page URL;
  • country, language, freshness, and retrieval context.

It stays within search-result metadata. It does not visit publisher articles or claim to return full article bodies.

Who is it for?

Media monitoring and PR teams

Track company, executive, product, campaign, and issue coverage. Schedule daily queries and compare rank, source mix, or headline changes over time.

Researchers and journalists

Collect a reproducible set of ranked articles from an independent search index. Keep the source URL and retrieval timestamp for an audit trail.

Competitive-intelligence teams

Monitor competitor launches, funding, partnerships, litigation, hiring, and market commentary with multiple precise searches in one run.

RAG and AI-agent builders

Feed fresh headlines, snippets, dates, and direct URLs into retrieval pipelines. Use the records for discovery, then let a separate authorized article extractor fetch full text only where needed.

Data and automation engineers

Schedule the Actor, stream dataset items through webhooks, or call it through the Apify API and MCP.

Why use Brave News instead of another news index?

Brave operates an independent search index and can surface a different mix and ranking of sources than Google or Bing. That makes it valuable both as a primary discovery source and as a comparison layer.

  • 🧭 Independent rankings: compare what Brave surfaces for the same keyword.
  • πŸ” No user search profile required: the Actor uses anonymous public results.
  • 🧩 Structured context: every row includes query, rank, localization, and source page.
  • πŸ“… Repeatable monitoring: run the same query set on a schedule.
  • πŸ“€ Portable output: export JSON, CSV, Excel, XML, RSS, or Parquet from Apify.

What Brave News data can you extract?

FieldTypeMeaning
querystringOriginal keyword search
ranknumberPosition within that query
headlinestringArticle headline shown by Brave
urlURLDirect publisher destination
publisherstringSource or publisher label
publicationTimeTextstringBrave's visible date or relative time
publishedAtISO dateParsed or estimated timestamp when available
snippetstringSearch-result summary
thumbnailUrlURLBrave-hosted thumbnail when present
sourceDomainstringDestination hostname
sourceUrlURLExact Brave News result page
countrystringRanking country requested
languagestringSearch language requested
freshnessstringRequested recency window
retrievedAtISO dateActor retrieval timestamp

Optional fields are omitted when Brave does not show them; the Actor does not invent missing metadata.

How to scrape Brave News in 5 steps

  1. Open the Actor input form.
  2. Add one or more searches under News search queries.
  3. Choose the maximum articles per query, country, language, and freshness.
  4. Click Start and wait for the dataset to fill.
  5. Download the results or connect the dataset to your workflow.

A small first run with one query and 10 articles normally finishes well within two minutes.

Input parameters

News search queries

queries accepts 1–20 non-empty strings. Each query can contain up to 400 characters and 50 words.

Brave operators are useful for precise monitoring:

  • "exact phrase" for an exact phrase;
  • site:reuters.com climate technology for one publisher;
  • electric vehicles -sports to exclude a term;
  • Acme Corp funding for a brand and event combination.

Maximum articles per query

maxResultsPerQuery ranges from 1 to 200. Use 10–20 for quick checks and larger limits only when you need deeper pagination.

Country and language

country is a two-letter code such as US, GB, DE, or AU. language accepts Brave search language codes such as en, de, fr, es, or pt-br.

Freshness

Choose any, day, week, month, or year. Freshness is applied by Brave before the Actor parses result cards.

Choose off, moderate, or strict. The default is moderate.

Proxy and retries

Direct browser access is the default and avoids proxy bandwidth costs. If Brave challenges a run, enable Apify Proxy or provide custom proxy URLs. maxRequestRetries controls bounded fresh-session retries.

Example input

{
"queries": [
"artificial intelligence regulation",
"site:reuters.com semiconductor supply chain"
],
"maxResultsPerQuery": 25,
"country": "US",
"language": "en",
"freshness": "week",
"safeSearch": "moderate",
"maxRequestRetries": 2,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Example output

{
"query": "artificial intelligence regulation",
"rank": 1,
"headline": "Lawmakers set out a new framework for artificial intelligence",
"url": "https://example.com/news/ai-framework",
"publisher": "Example News",
"publicationTimeText": "2 hours ago",
"publishedAt": "2026-07-18T00:30:00.000Z",
"snippet": "The framework outlines rules for high-risk AI systems...",
"thumbnailUrl": "https://imgs.search.brave.com/example",
"sourceDomain": "example.com",
"sourceUrl": "https://search.brave.com/news?q=artificial+intelligence+regulation&source=news",
"country": "US",
"language": "en",
"freshness": "week",
"retrievedAt": "2026-07-18T02:30:00.000Z"
}

The example illustrates the schema; live headlines and rankings change as Brave refreshes its index.

How much does it cost to scrape Brave News?

This Actor uses pay-per-event pricing:

  • $0.005 when a search run starts;
  • a tiered amount for each unique article saved.

The formula-derived BRONZE article price is $0.00010108 per article. FREE is $0.00011625; SILVER, GOLD, PLATINUM, and DIAMOND receive progressively larger volume discounts. Platform compute is included in PPE pricing for supported plans.

At BRONZE, a 20-article run costs about $0.00702: one $0.005 start plus 20 article events. Check the live pricing tab before a large scheduled workflow because the Store price is authoritative.

Tips for better Brave News results

  • 🎯 Use specific entity and event terms instead of one broad noun.
  • πŸ§ͺ Compare multiple query variants in the same run.
  • 🏷️ Add site: when monitoring one publisher.
  • πŸ•’ Use day or week for alerts and month or any for research.
  • 🌍 Match country and language to the market you are studying.
  • πŸ“‰ Start with 10–20 articles before increasing pagination.
  • πŸ” Schedule repeat runs and compare datasets by query plus URL.

Monitoring brands and competitors

A useful daily query set might include:

{
"queries": [
"Acme Corp",
"Acme Corp product launch",
"Acme Corp funding OR acquisition",
"Acme competitor partnership"
],
"maxResultsPerQuery": 40,
"freshness": "day"
}

Use a webhook or automation to alert only on destination URLs not seen in your previous run.

Integrations and workflow patterns

Google Sheets or Airtable watchlist

Schedule the Actor, export rows, and upsert by query + url. Analysts get a shared watchlist without copying search pages manually.

Slack or Microsoft Teams alerts

Send new day-filtered results to a webhook. Include publisher, headline, publication time, and direct URL in the message.

RAG discovery pipeline

Use Brave records as the discovery stage. Filter by domain and freshness, then pass selected URLs to a separate article extractor that respects publisher access rules.

BigQuery, Snowflake, or PostgreSQL

Store recurring snapshots and analyze source share, headline themes, rank volatility, and coverage velocity.

Zapier and Make

Trigger a scheduled Actor run, wait for completion, iterate dataset items, and route matches into CRM, email, or incident workflows.

Use Brave News Search Scraper with the Apify API

The Actor ID is automation-lab/brave-news-search-scraper.

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/brave-news-search-scraper').call({
queries: ['climate technology funding'],
maxResultsPerQuery: 20,
country: 'US',
language: 'en',
freshness: 'week'
});
const items = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.items);

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/brave-news-search-scraper').call(run_input={
'queries': ['climate technology funding'],
'maxResultsPerQuery': 20,
'country': 'US',
'language': 'en',
'freshness': 'week',
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~brave-news-search-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": ["climate technology funding"],
"maxResultsPerQuery": 20,
"freshness": "week"
}'

Use Brave News Search Scraper with MCP

Apify MCP lets Claude Code and other compatible clients run the Actor as a tool.

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/brave-news-search-scraper"

Claude Desktop, Cursor, or VS Code

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/brave-news-search-scraper"
}
}
}

Specific MCP example prompts

Try these exact prompts:

  • β€œSearch Brave News for semiconductor export controls from the past week.”
  • β€œFind the top 30 UK news results for offshore wind investment.”
  • β€œMonitor these three competitors and return only Reuters or Bloomberg links.”

Scheduling and change detection

Create an Apify schedule for hourly, daily, or weekly runs. For change detection:

  1. keep a named store or external table of seen URLs;
  2. compare the newest dataset against that set;
  3. notify on unseen query + url combinations;
  4. retain rank and retrievedAt for trend analysis.

The Actor itself returns a fresh snapshot and does not maintain cross-run alert state.

Reliability and proxy guidance

Brave can rate-limit automated traffic. The Actor uses a normal browser fingerprint, conservative page pacing, and browser-session rotation.

If a run reports a Brave challenge:

  • enable Apify Proxy in the input;
  • try the SHADER group first because it is cheaper than residential traffic;
  • use residential only when datacenter sessions are consistently challenged;
  • keep retries bounded rather than repeatedly loading a blocked page.

The Actor fails non-zero when every query encounters extraction failure, so schedules and integrations do not mistake a challenge page for successful empty data.

Limitations

  • Rankings and result counts change continuously.
  • Brave may show fewer records than requested for narrow searches.
  • publishedAt is estimated for relative labels such as β€œ2 hours ago.”
  • Some cards have no thumbnail or machine-parseable publication date.
  • The Actor does not fetch article bodies, authors, paywalled content, comments, or publisher analytics.
  • Country and language influence ranking but do not guarantee every result originates in that country or language.
  • Brave can change its page structure or anti-automation controls.

The Actor accesses publicly visible search-result metadata without logging in. Web scraping legality depends on jurisdiction, intended use, the data collected, and applicable terms.

You are responsible for:

  • having a lawful purpose for collection and processing;
  • respecting Brave and publisher terms;
  • avoiding personal-data misuse;
  • honoring copyright, database, and privacy rules;
  • applying appropriate retention and access controls.

Search snippets are discovery metadata, not a license to republish full articles. Consult qualified counsel for regulated or high-risk use cases.

Troubleshooting

Why did the Actor return fewer articles than requested?

The query or freshness window may genuinely have fewer unique results. Broaden the query, use a longer freshness window, or lower the expected count. Duplicate destination URLs are intentionally removed per query.

Why did the run fail with a Brave challenge?

Enable proxyConfiguration, start with SHADER, and retry. If your environment has repeated challenges, rotate sessions or use an appropriate residential country. The logs state whether a challenge or navigation failure caused the retry.

Why is publishedAt missing?

Brave sometimes shows publication text that cannot be safely normalized. The original publicationTimeText remains available.

Why are there no full article bodies?

V1 deliberately stays on Brave's news-result metadata. Use a separate publisher-page extractor where you have permission to retrieve full text.

Frequently asked questions

Does this Actor require a Brave Search API key?

No. It uses the anonymous public Brave News web interface.

Can I search multiple keywords in one run?

Yes. Add up to 20 unique queries. Rank resets to 1 for each query.

Can I filter one publisher?

Yes. Use Brave's site: operator, for example site:npr.org renewable energy.

Can I export CSV or Excel?

Yes. Open the dataset and choose CSV, Excel, JSON, XML, RSS, or another supported format.

Can I schedule monitoring?

Yes. Apify schedules can run the same input repeatedly. Use webhooks or integrations to notify on new URLs.

Does Safe Search remove all sensitive content?

No automated filter is perfect. Select strict for stronger filtering and review outputs for your use case.

Use another Automation Lab Actor when you need a different index or source:

Combining independent indexes can improve source coverage and reveal ranking differences.

Support

If a valid query repeatedly fails, open an Actor issue with:

  • the run URL;
  • your input with secrets removed;
  • the country and language used;
  • whether proxy configuration was enabled;
  • the expected result page or example article.

That evidence makes challenge and parser changes faster to diagnose.