# Changelog of Justdial.com Reviews Scraper (`codingfrontend/justdial-reviews-scraper`) Actor

- **URL**: https://apify.com/codingfrontend/justdial-reviews-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/codingfrontend/justdial-reviews-scraper.md

## Changelog

All notable changes to the JustDial Reviews Scraper are documented here.

### \[1.0.8] - 2026-08-31

#### Fixed

- Required genuine source review and business identifiers instead of fallback placeholders.
- Treated `maxReviewsPerBusiness` as a ceiling and added global review-ID deduplication.
- Removed email, mobile, social identifiers, and browser/fingerprint telemetry from output.
- Added strict Justdial URL validation, 5-business/100-review caps, bounded session rotation, and truthful failure propagation.
- Rebuilt schemas, tests, docs, lifecycle, dependencies, and reproducible Docker install.

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

#### Added

- Initial production release of the JustDial Reviews Scraper.
- `PuppeteerCrawler`-based architecture using Chrome (`apify/actor-node-puppeteer-chrome:latest`).
- 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` — reviews page handler with infinite-scroll pagination.
  - `src/extractors/index.js` — review row mapping (name, rating, review text, sentiment, subRating, ownerComment, photos, etc.).
  - `src/schema/input.js` — input validation (businessUrls, maxReviewsPerBusiness, headless, proxyConfiguration).
  - `src/filters/index.js` — review deduplication by `revid`.
  - `src/utils/index.js` — `delay`, `scrollToCurrentBottom`, `waitForPageGrowth`, `removePopups`, fingerprint injection helpers.
  - `src/errors/` — `ScraperError`, `ErrorTypes`, `ErrorHandler`.
- Response-intercept approach: captures JustDial's reviews API batches via `page.on('response')`.
- Per-business request dispatch — each `businessUrl` is scraped independently.
- `.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-puppeteer-chrome:latest` image.
- `README.md` with full Apify usage guide, input/output field reference, and example JSON.
- Dataset views: `review_details` with name, rating, rev, revCount, sentiment, ownerComment, subRating, photos.
