Brave Search Scraper avatar

Brave Search Scraper

Pricing

from $1.99 / 1,000 search results

Go to Apify Store
Brave Search Scraper

Brave Search Scraper

Searches Brave Search and extracts rich, source-backed organic web listing data including publisher paths, snippets, deep links, images, dates, 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

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Search Brave Search using a keyword and save normalized organic web results from the rendered results page. Brave currently exposes no reliable structured search-results API; the Actor validates the HTML response and extracts the visible result cards with Firefox.

What is captured

Each record includes source-backed listing data where Brave displays it:

  • Identity: type, resultType, position, page.
  • Article and publisher: title, titleHtml, link, url, displayUrl, displayedUrl, domain, source, publisher, sourceUrl, sourceDomain, favicon.
  • Text and navigation: snippet, description, snippetHtml, descriptionHtml, emphasis, sitelinks, breadcrumbs.
  • Dates and rich details: author, date, publishedAt, publishedAtRaw, relativeTime, richSnippet, richResultType, rating, ratingCount, reviewCount, price, priceNumeric, currency, cacheLink, additionalInfo, category, tags.
  • Images and flags: thumbnail, thumbnailUrl, imageUrl, imageAlt, imageWidth, imageHeight, isAd, isSponsored.
  • Search context: engineId, searchQuery, query, country, language, market, safeSearch, searchUrl, scrapedAt, searchMetadata, canonicalUrl.

Unavailable optional fields are omitted recursively. Valid zero values and false flags are preserved. The Actor does not fabricate ratings, prices, authors, categories, or summaries.

Input

FieldTypeDefaultDescription
querystringrequiredSearch keywords.
maxItemsinteger50Maximum records, from 1 to 500.
maxPagesintegerderivedMaximum Brave result pages, from 1 to 50.
countrystringusTwo-letter Brave country code.
languagestringenBrave language code.
safeSearchstringmoderatestrict, moderate, or off; applied through Brave's official preference and verified.
maxRequestRetriesinteger3Bounded retries for 429 and 5xx navigation responses.
navigationTimeoutSecsinteger60Navigation timeout, from 10 to 180 seconds.
headlessbooleantrueDisable only for local browser debugging.
proxyConfigurationobjectdisabled locallyApify Proxy or custom proxy configuration.

Example:

{
"query": "artificial intelligence",
"maxItems": 50,
"country": "gb",
"language": "en",
"safeSearch": "strict",
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "GB"
}
}

Pagination and validation

Brave renders 20 organic cards per page and exposes a page-indexed Next link. The Actor follows only an enabled, forward-moving next link, preserves the requested query/country/language/Safe Search values on every page, deduplicates canonical URLs, and stops at maxItems, maxPages, or a reliable end-of-results signal.

Before extraction it validates HTTP status, HTML content type, block/challenge markers, search parameters, and the Safe Search preference cookie. Images are retained; only fonts and media are skipped for efficiency.

Local checks

npm ci
npm test
apify validate-schema
apify run

Inspect storage/datasets/default after a run. The local INPUT.json is a representative search; a valid no-results query completes with an empty dataset.