# Changelog of Brave AI Mode Scraper (`searchapi/brave-ai-mode-scraper`) Actor

- **URL**: https://apify.com/searchapi/brave-ai-mode-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/searchapi/brave-ai-mode-scraper.md

## Changelog

### 3.1.0 - 2026-08-29

- Aligned Playwright and the Firefox Docker/runtime image; upgraded exact Apify/Crawlee dependencies and resolved all production audit findings.
- Added combined single/batch queries, bounded concurrent pages, stable IDs and positions, stable proxy sessions, locale/timezone-consistent browser contexts, and bounded retries.
- Removed ordinary results/body-text fallbacks that could mislabel non-AI content as a summary.
- Added sanitized structural answer HTML, word counts, explicit provenance, source/citation fallback normalization, and a truthful linked 41-field schema.
- Added clean structural no-results handling and all-or-nothing batch dataset writes.

All notable changes to the Brave AI Mode Scraper are documented here.

### \[2.0.0] - 2026-06-12

#### Added

- **Schema expanded** from 24 to **37 fields**.
- **New fields**: `resultType`, `position`, `aiSummaryTokens`, `summaryTitle`, `summarySubtitle`, `modelProvider`, `citationsCount`, `inlineReferencesCount`, `followupQuestionsCount`, `firstOrganicResult`, `extractionConfidence`, `errorType`, `market`, `searchMetadata`.
- **New view**: `fullDetails` — all 37 fields.
- **INPUT.json** added at project root for local validation.

### \[2.0.0] - 2026-06-12 (Brave refactor)

#### Added

- **Summary**: `aiSummary`, `aiSummaryHtml`, `aiSummaryLength`, `hasSummary`, `model`.
- **Sources**: `sources`, `sourcesCount`, `citations`, `inlineReferences`.
- **Questions**: `relatedQuestions`, `relatedQuestionsCount`, `followupQuestions`.
- **Organic results**: `organicResults`, `organicResultsCount`, `matchedSelector`.
- **Shared validator/normalizer** wired to `_canonical/`.

#### Changed

- Handler normalizes every record before pushing.

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

#### Added

- Initial production release of the Brave AI Mode Scraper.
- `PlaywrightCrawler`-based architecture using Firefox (`apify/actor-node-playwright-firefox`).
- Modular project structure.
- `validate-datasets.js` for local dataset output validation.
- `Dockerfile` using `apify/actor-node-playwright-firefox` image.
- `README.md` with full Apify usage guide.
