# Changelog of Shopify Products Scraper (`deriverge/shopify-products-scraper`) Actor

- **URL**: https://apify.com/deriverge/shopify-products-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/deriverge/shopify-products-scraper.md

##### 2026-10-11

*Changes*

- After a store limits the request rate, the actor now waits as the store asks and slows down for that store instead of switching IP addresses. A store that keeps limiting it or refuses access is not read further in that run; it gets the status `blocked` in the `SUMMARY` record, and the status message names it.

*Fixes*

- Each store's `robots.txt` is now read first and followed, also for every redirect. A store whose `robots.txt` disallows its product feed gets the status `robots_disallowed` in the `SUMMARY` record and adds no rows, so nothing is charged for it. When `robots.txt` answers with a server error or not at all, the store is skipped in that run.
- A product link on a store that hides its stock counts now shows which variants can be bought. Until now `available` was `null` on such links, so price watching could not see sell-outs there.
- With a watch name, products a run did not return because it reached **Maximum rows** or the spending limit keep their old price and availability in the snapshot, and their changes come in the next run. Until now they were saved as seen and the change was lost.

##### 2026-09-28

*Changes*

- The store list is also accepted as `urls`, `url`, `startUrls`, `domains`, `domain`, `websites`, `website`, `shops` or `store`, which suits AI agents and scripts.

##### 2026-09-27

*Features*

- First version: products from any Shopify store, collection or product link with variants, prices, discounts and availability, optional stock counts, barcodes and descriptions, one row per product or per variant, and price and stock alerts between runs.
