Brave Local Results Scraper avatar

Brave Local Results Scraper

Pricing

from $1.99 / 1,000 search results

Go to Apify Store
Brave Local Results Scraper

Brave Local Results Scraper

Scrapes local business listings from Brave Search. Extracts local pack results including business name, address, rating, review count, price level, phone, hours, and website for location-based queries.

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

9 days ago

Last modified

Share

Search Brave Maps with a business query and an optional city, region, or address. The actor captures Brave's structured place-search response and, by default, fetches each selected place's detail response for the richest source-backed dataset available.

Input

  • query (required): business or place type, such as coffee shops.
  • location: city, region, or address, such as New York City. A query ending in near me is converted to this explicit location.
  • maxItems: 1–100 unique places. Brave currently returns up to 100 places in one result set.
  • country and language: browser locale and output context.
  • includeDetails: fetch profiles and related source pages for each place; defaults to true.
  • requireDetails: fail without saving partial data when even one selected place cannot be enriched; defaults to false because Brave does not expose details for every listing.
  • maxConcurrency, maxRequestRetries, and navigationTimeoutSecs: bounded request controls.
  • proxyConfiguration: optional Apify or custom proxy settings.

Output

Each record maps the website response into a stable contract instead of storing the raw payload. Available fields include place IDs, name and description, structured and display address, coordinates, contact details, website, categories/cuisine, ratings and review counts, price range, weekly hours, source and original images, external profiles, related pages, source flags, and requested search metadata. detailFetched and detailStatus state whether the optional detail endpoint enriched that specific row.

Unavailable optional fields are omitted after normalization, so records do not contain nulls or empty strings/arrays. Zero and false are retained only when they are source-backed values. No-results searches finish successfully with an empty dataset; the actor never emits placeholder records. The browser session rejects challenge pages and does not attempt to solve CAPTCHAs or bypass access controls.

The actor intentionally uses a browser bootstrap because Brave rejects anonymous calls to its local API. Images, media, and fonts are skipped after verifying that this does not affect the structured response. GOOGLE_SERP proxy groups are rejected because they support Google endpoints, not Brave Maps; use an appropriate Apify Residential proxy or a user-provided HTTP(S) proxy when authorized.

Local validation

npm ci
npm test
apify validate-schema
apify run --purge --input-file INPUT.json