Brave News Scraper avatar

Brave News Scraper

Pricing

from $1.99 / 1,000 search results

Go to Apify Store
Brave News Scraper

Brave News Scraper

Searches Brave News and extracts rich, source-backed listing data including article URLs, publishers, snippets, images, publication times, displayed flags, and search context.

Pricing

from $1.99 / 1,000 search results

Rating

0.0

(0)

Developer

Search API

Search API

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

5 days ago

Last modified

Share

Extract normalized articles from Brave News. Version 3.3 reads the structured SvelteKit news response embedded in Brave's validated HTML document and retains current DOM extraction as a fallback.

Output

Available source-backed values are preserved and unavailable optional values are omitted. Common fields include:

  • stable article-URL SHA-256 ID and global/query/request positions;
  • canonical article URL, title, description/snippet, source/publisher, source domain, and favicon;
  • displayed publication age plus an ISO timestamp derived from the one stable scrape timestamp;
  • thumbnail/article image when Brave provides one;
  • live-story status and optional source/profile/image metadata;
  • query, locale, Safe Search, time filter, search URL, provenance, retrieval method, and scrape metadata.

Brave serializes its SvelteKit hydration payload with one immediately invoked function per entry — (function(a,b){return {…}})(<lit>,<lit>) — to hoist repeated long strings into parameters. The decoder resolves that shape statically (parameters bound to their decoded literal arguments, then the single returned expression decoded); no page code is ever evaluated and any other callee/body shape still fails closed. The structured response is the primary source and the rendered card supplements the fields it does not carry (title/snippet HTML, image dimensions), so switching sources never empties a field the live page exposes.

Opaque debugging, click/tracking actions, cookies, proxy credentials, and hydration request state are excluded. Ad, sponsored, and breaking flags are only emitted when Brave exposes a positive or explicit value; missing markers are not fabricated as false.

Search modes

  • Single query: set query.
  • Multiple queries: set queries, optionally together with query. Duplicates are removed case-insensitively.
  • One article: set maxItems to 1.
  • Fair batch: concurrent query results are interleaved until the total maxItems limit is reached.
  • Time filter: any, day, week, month, or year maps to Brave's current News filter.
  • Safe Search: strict, moderate, or off is applied through Brave's preference cookie and verified after navigation.

Brave currently returns one bounded result set per News query (observed from roughly 20 to 50 records depending on the query/filter) and exposes no usable continuation cursor. Multi-query mode is the supported way to collect a larger, fairly distributed dataset.

Input

The complete input contract is in .actor/input_schema.json.

FieldTypeDefaultDescription
querystring—One Brave News query.
queriesarray of strings—Optional batch of up to 50 queries, interleaved fairly.
maxItemsinteger50Maximum articles across all queries; set to 1 for one-item mode.
maxConcurrencyinteger2Browser pages processed concurrently within one session.
countrystringusBrave country code, such as us, gb, or in.
languagestringenBrave language, optionally with a region.
safeSearchstringmoderatestrict, moderate, or off.
timeRangestringanyany, day, week, month, or year.
maxRequestRetriesinteger1Retries temporary network errors, HTTP 429, and HTTP 5xx responses.
navigationTimeoutSecsinteger60Maximum time for each Brave News navigation.
headlessbooleantrueDisable only for local visual inspection.
proxyConfigurationobject—Direct access, Apify Residential, or authorized custom proxy.

Example

{
"queries": ["artificial intelligence", "climate change"],
"maxItems": 20,
"maxConcurrency": 2,
"country": "us",
"language": "en",
"safeSearch": "moderate",
"timeRange": "week",
"maxRequestRetries": 1,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Reliability and performance

The primary path parses the structured response without downloading images. Image, media, and font requests are blocked after verifying that this does not affect the embedded results. Queries share one consistent Chromium session and use bounded page concurrency. Dataset writes are all-or-nothing, so a failed query cannot leave a misleading partial batch.

Temporary network failures, HTTP 429, and HTTP 5xx responses use bounded progressive retry. Invalid input, unexpected payloads, response/query mismatches, and challenge pages fail clearly. CAPTCHA or access-control pages are never solved or stored.

Direct, Apify Residential, and authorized custom proxy access are supported. Google SERP Proxy is not applicable to Brave.

The full dataset field schema, including types and requiredness, is in .actor/dataset_schema.json.

How to use

Enter one query or a batch in the Apify Input tab, select the time range and safety preference, and start the Actor. Review article records in the Output dataset. The Actor returns one bounded result set per query and interleaves batches fairly.