# Changelog of App Store & Google Play Reviews Scraper: iOS & Android API (`cleanyield/app-store-google-play-reviews`) Actor

- **URL**: https://apify.com/cleanyield/app-store-google-play-reviews/changelog.md
- **Full Actor documentation**: https://apify.com/cleanyield/app-store-google-play-reviews.md

## Changelog

All notable changes to **App Store & Google Play Reviews Scraper** (`cleanyield/app-store-google-play-reviews`).
The output is versioned with `schemaVersion` in every item. Fields are only ever **added**; nothing is renamed or removed.

### 1.1.0 — 2026-11-04 (output schema 2)

Added (output, all new fields; old fields unchanged):

- `device` — Google Play device of the review (`phone`, `tablet`, `chromebook`, `watch`, `tv`, `car`); `null` on App Store.
- `criteriaRatings` — the reviewer's answers to Google Play's extra questions (ads, battery, multiplayer…), with a readable `label`.
- `authorImageUrl` — Google Play profile picture, only when `omitAuthorNames` is off.
- Pro mode fields (`null` without Pro): `topics`, `priorityScore` (0–100), `insight` (AI), `suggestedReply` (AI, 1–3★), `appDetails` (developer, developer website, category, store rating, reputation score 0–100, rating trend).

Added (input):

- `devices` (Google Play tablet, Chromebook, watch, TV and car reviews), `keywords`, `appVersions`, `reviewsUntil`, `maxTotalReviews`.
- `proMode` (one checkbox for all extras; also turns on the alerts and competitor comparison).
- `outputFormat: "leader-compatible"` and the input fields of other popular review scrapers (`appIds`, `startUrls`, `appIdOrUrl`, `country`, `language`, `maxItems`, `sort`, `ratingFilter`, `recentDays`, `endDate`, `appVersion`, `deviceType`).
- `savedListName` / `saveList`: remember your list of apps between runs.
- `sortBy: "rating"` (highest stars first, Google Play).
- A dashboard page (DASHBOARD) in every run, and the cost estimate in the log before the run starts.

Fixed:

- `sortBy: "mostHelpful"` on Google Play returned 5★ reviews first instead of the most-voted ones (measured: 20 of 20 were 5★). It now uses Google's "Most relevant" order, which puts the most-voted reviews first.
- A page that comes back with a broken body (HTTP 200 but not the expected JSON) is requested once more before the stream is marked as partial.
- Error and log messages are now in English.
- Inputs written for other scrapers are no longer overridden by our defaults (defaults are applied by the Actor, not by the input form).

Quality: fixed test set grown from 51 to 59 real inputs (tablet, Chromebook, phone + tablet, keywords, app version, most helpful, date range).

### 1.0.0 — 2026-11-04 (output schema 1)

First release:

- App Store (per country storefront) and Google Play (per language) reviews in one schema: `reviewId`, `store`, `appId`, `appName`, `country`, `language`, `rating`, `title`, `text`, `date`, `appVersion`, `authorName` (off by default), `developerReply`, `thumbsUp`, `isNegative`, `url`, `changeType`, `scrapedAt`, `schemaVersion`.
- Input by store URL, App Store id, Android package name or `appstore:<bundle id>`; star filter, `reviewsSince`, `sortBy` newest / most helpful; up to 500 apps per run.
- Monitor mode: only new and author-edited reviews since the last run, Slack / webhook alerts with negative reviews first, per-app check fee.
- Actionable alerts and competitor comparison (REPORT / REPORT_MD).
- Pay per valid result only; incomplete reviews are never stored or charged; respects the maximum cost per run.
- Fixed test set of 51 real inputs: 100% successful runs, 100% complete, 100% key fields correct.
