# Changelog of App Store & Play Review Monitor (`mmdincer/app-store-play-review-monitor`) Actor

- **URL**: https://apify.com/mmdincer/app-store-play-review-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/mmdincer/app-store-play-review-monitor.md

## Changelog

### 1.1 (2026-11-05)

- An empty Apple customer-reviews document is a warning. The run says so in the log, the source row, and the status message. It does not save or replace a baseline, and it does not charge.
- The same public feed is also requested with the storefront in the `cc` query. The spelling that has returned reviews is tried first. The first empty spelling on a page is retried once. A 403 or 429 still stops that source.
- Optional Apify Proxy. Leave it off for a direct request. If the feed is empty, turn it on and select the residential group. The Actor does not change proxy after a refusal. Proxied requests use undici's own fetch, because Node's global fetch rejects a proxy agent from another copy of undici. The proxy session id is `apple_rss` (a hyphen is rejected by Apify's session check).
- A charge result with `chargedCount: 0` is a spending limit only when `eventChargeLimitReached` is true. A run that is not on pay-per-event is not treated as out of budget.

### 1.0 (2026-11-05)

- First release. Apple App Store reviews come from the public customer-reviews RSS JSON feed, up to 10 pages, newest first. An empty page is skipped because that feed often has holes, and a few URL spellings of the same feed are tried when a page is empty.
- New reviews only is the default. The first run saves review ids in the named key-value store `app-store-play-review-monitor-state` and does not charge for them. Later runs deliver reviews that were not saved.
- Google Play is optional. The official Android Publisher reviews API uses your own Play Console service account or access token and is the path to use. Reading the public Play page is off unless you set the source and confirm it. Rows from that path are labeled `google-play-page`.
- A delivered review at or below the low-rating threshold (default 2 stars) is flagged. The flag is not a second charge.
- Pay per event via `Actor.charge`: actor start, and `review-delivered` for each review written. Baselines, repeats, filtered reviews and failures are free.
