# Changelog of Perplexity Search Images Scraper (`searchapi/perplexity-search-images-scraper`) Actor

- **URL**: https://apify.com/searchapi/perplexity-search-images-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/searchapi/perplexity-search-images-scraper.md

## Changelog

All notable changes to the Perplexity Search Images Scraper are documented here.

### \[Unreleased]

#### Changed

- DOM extraction now retains visible card labels and source-page links, while the output schema omits inferred fields that the image result parser does not source.
- Added source-reported thumbnail dimensions and avoid treating a rendered card image as a separate original-image URL.
- Recognize Perplexity's current signed-out “Sign up below” gate and fail clearly without storing the prompt.
- Chrome inspection confirmed the signed-out Images tab exposes card labels and source links after the prompt is dismissed; no Actor, proxy, or cloud run was made for this update.

### \[3.0.1] - 2026-08-29

#### Changed

- Updated the current Perplexity Images control from the obsolete button selector to the live tab workflow.
- Added validated extraction from `rest/media/search-images-for-entry` and retained a current-layout DOM fallback.
- Added stable IDs, global URL deduplication, required output fields, recursive empty-value omission, and explicit API-field mapping.
- Added single and batch modes, global limits, pagination, concurrency, retries, timeouts, locale, and country controls.
- Added Crawlee session management, consistent Firefox fingerprints, country-aligned Residential proxy support, and font/media request optimization.
- Made direct access the default after cloud validation showed it working while the tested US Residential route returned HTTP 403.
- Explicit challenges and sign-in walls now fail fast as `TARGET_BLOCKED` without retrying or storing challenge content.

#### Verified

- Local single query: 5 clean records from 29 extracted API items.
- Apify Cloud single query: 5 clean records in run `WXqmUT4okRL0zkW0O`.
- Apify Cloud two-query batch: 4 clean records (2 per query) in run `nMadfAcVs7cAn4tli`.

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

#### Added

- **Initial production release** of the Perplexity Search Images Scraper.
- Image grid extraction from Perplexity's image search (`/search/images` or image-focused modes).
- **Inline answer images** support — captures images embedded in the AI answer, with their citation index.
- **Source attribution** — title, source URL, source domain, favicon, creator, license.
- **Image metadata** — width, height, aspect ratio, file format, mime type, dominant color, isAnimated.
- **Aspect ratio, sizePixels** computed automatically from width/height.
- **Multiple queries / batch mode** via `queries[]`.
- **Focus modes** — `images` (image grid), `web` / `academic` (with inline answer images).
- Perplexity's Next.js SSR-friendly extraction — uses Playwright (Firefox) with stealth.
- `validate-datasets.js` for local dataset output validation.
- `Dockerfile` using `apify/actor-node-playwright-firefox` image.
- `README.md` with full Apify usage guide.
- Canonical normalizer in `src/canonical.js` (self-contained, no external deps).
- **Pair with `perplexity-search-answers-scraper`** — inline answer images have `citationIndex` aligned with the answer's `citationIndexes` field.
