# Changelog of Brave Search Scraper (`scrapeai/brave-search-scraper`) Actor

- **URL**: https://apify.com/scrapeai/brave-search-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/scrapeai/brave-search-scraper.md

## Changelog

All notable changes to the Brave Search Scraper are documented here.

### \[1.0.0] - 2025-05-20

#### Added

- Initial production release of the Brave Search Scraper.
- `PlaywrightCrawler`-based architecture using Firefox (`apify/actor-node-playwright-firefox`).
- Modular project structure following Brave Apify actor pattern:
  - `src/main.js` — entry point with input validation, proxy setup, and crawler init.
  - `src/routes.js` — Crawlee router factory.
  - `src/routes/handlers.js` — page handler with multi-page pagination logic using "Next" link clicks.
  - `src/extractors/search-results.js` — extracts title, link, snippet, domain, date, siteLinks, thumbnail.
  - `src/extractors/selectors.js` — CSS/DOM selectors for Brave Search Svelte SPA.
  - `src/filters/index.js` — URL-based deduplication.
  - `src/schema/input.js` — input validation (query, maxItems, country, language, safeSearch).
  - `src/utils/index.js` — `buildSearchUrl`, `isBlocked`, `launchBrowser`, `createContext`, stealth utilities.
  - `src/errors/` — `ScraperError`, `ErrorTypes`, `ErrorHandler`.
- `.actor/actor.json`, `input_schema.json`, `dataset_schema.json` for Apify platform compatibility.
- `validate-datasets.js` for local dataset output validation.
- `Dockerfile` using `apify/actor-node-playwright-firefox` image.
- `README.md` with full Apify usage guide.
