# Changelog of Google Images Scraper (`searchapi/google-images-scraper`) Actor

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

## Changelog

All notable changes to the Google Images Scraper are documented here.

### \[3.1.0] - 2026-09-22

#### Changed

- Rechecked the current `udm=2` Google Images page in Chrome for `cat`, including image cards with titles, source pages, source names, thumbnails, and the current continuous image-result layout.
- Added result and page positions, explicit source and retrieval fields, and synchronized nested search metadata to the image dataset contract.
- Removed the unused debug input option and legacy debug HTML storage, and added a recursive dataset audit for populated fields, types, URLs, duplicate IDs, metadata parity, and sensitive-field leaks.
- Aligned the browser runtime with the pinned Playwright and Crawlee versions.

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

#### Changed

- Added single and batch search modes with deduplication, fair global item quotas, and bounded concurrency.
- Added the HTTP-only `GOOGLE_SERP` transport required by Apify's Google SERP proxy group, while retaining fingerprinted Playwright sessions for other proxy modes.
- Updated extraction for current `udm=2` cards and lightweight `/imgres` responses.
- Normalized output to a validated 40-field contract with stable query-aware IDs, real publisher pages, and no empty placeholders.
- Added size, type, color, SafeSearch, locale, retry, timeout, and concurrency inputs.
- CAPTCHA and unusual-traffic pages now fail closed and are never stored or solved; genuine no-results pages finish cleanly with an empty dataset.
- Pinned compatible runtime dependencies and applied security overrides.

#### Verified

- Local schema, unit, syntax, dependency, and direct-block behavior checks.
- Apify Cloud single and batch runs using `GOOGLE_SERP`, including direct dataset inspection and validation.

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

#### Added

- **Schema expanded** from 23 to **45 fields**.
- **New view**: `fullDetails` — all 45 fields.
- **INPUT.json** added at project root for local validation.

#### Added (v2 fields)

- `type`, `resultType`, `alt`, `hostPageUrl`, `hostPageDomain`, `source`, `favicon`, `thumbnailUrl`, `originalUrl`, `previewUrl`, `format`, `mimeType`, `width`, `height`, `aspectRatio`, `size`, `sizeBytes`, `dominantColor`, `colorPalette`, `orientation`, `isAd`, `isSponsored`, `isProduct`, `isRecipe`, `productPrice`, `productCurrency`, `productRating`, `productRatingCount`, `photographer`, `copyright`, `query`, `market`, `safeSearch`.

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

#### Added

- Initial production release of the Google Images Scraper.
- `PlaywrightCrawler`-based architecture using Chrome.
- Modular project structure.
- `validate-datasets.js` for local dataset output validation.
- `Dockerfile` using `apify/actor-node-playwright-chrome` image.
- `README.md` with full Apify usage guide.
