# Changelog of Google Shopping Scraper (`searchapi/google-shopping-scraper`) Actor

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

## Changelog

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

### Unreleased

#### Fixed

- Preserve the percent displayed on a Shopping sale badge instead of replacing it with a differently rounded price calculation.

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

#### Changed

- Added fast HTTP extraction through Apify `GOOGLE_SERP`, with Playwright/session/fingerprint support retained for direct and Residential modes.
- Added multiple-query input, bounded pagination, concurrency, retry, and timeout controls.
- Updated extraction for current Google Shopping grid/list/card layouts and JavaScript-navigation cards.
- Added stable hashed record IDs, product-ID/link-aware deduplication, normalized numeric pricing, and conditional optional fields without fabricated values.
- CAPTCHA and unusual-traffic pages are terminal failures and are never stored or repeatedly retried.
- Updated the Docker/browser versions, schemas, validation tests, and usage documentation.

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

#### Added

- **Schema expanded** from 28 to **49 fields**.
- **New fields**: `type`, `resultType`, `titleHtml`, `link`, `offerId`, `merchantUrl`, `merchantLogo`, `merchantRating`, `merchantRatingCount`, `priceNumeric`, `originalPrice`, `originalPriceNumeric`, `discount`, `discountPercent`, `shipping`, `tax`, `condition`, `availability`, `reviewCount`, `imageUrl`, `additionalImages`, `brand`, `tags`, `variants`, `specs`, `deliveryDate`, `isAd`, `isSponsored`, `isFreeShipping`, `isOnSale`, `isInStock`, `query`, `market`.
- **New view**: `fullDetails` — all 49 fields.
- **INPUT.json** added at project root for local validation.

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

#### Added

- Initial production release of the Google Shopping 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.
