# Apify App Store Optimization Reviews

> Mine Apple App Store reviews for app store optimization signals with the Apify Apple App Store Reviews API Actor (johnvc/apple-app-store-reviews-api). Pull most-critical and most-recent reviews for your app and competitor apps across 52 country stores, then turn the rows into complaint themes, rating trends by reviewed_version, and per-country feedback that feeds listing updates and release notes. Use when the user wants app store optimization insight from reviews, an ASO review audit, competitor app review analysis, review sentiment for an iOS app, to find out why users leave 1-star reviews, or to check how an app update changed the reviews. Review mining only; keyword rankings belong to the Apple App Store Search Actor and listing metadata to the Product API Actor. Pay-per-review billing, MCP-ready for Claude and other AI agents.

- Skill: `johnisanerd/apify-app-store-optimization-reviews` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add johnisanerd/apify-app-store-optimization-reviews`
- Raw SKILL.md: https://api.skillmd.com/api/skills/johnisanerd/apify-app-store-optimization-reviews/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: johnisanerd (https://skillmd.com/u/johnisanerd)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/johnisanerd/apify-app-store-optimization-reviews

---


# App Store Optimization From Reviews: Complaints, Ratings, and Version Trends

Work the review side of app store optimization. One Actor call pulls the most critical or most recent Apple App Store reviews for your app and its competitors, and the rows carry everything an ASO audit needs: rating, full review text, reviewed version, country store, and dates.

## When to use this skill

- The user wants ASO insight from reviews: what users complain about, what they praise, what to fix before the next listing update.
- They want a competitor review audit: pull the most critical reviews for rival apps and compare themes.
- They want to know how an update landed: group ratings by `reviewed_version` before and after a release.
- They want per-country feedback to guide localized listings, using the same app across different stores.
- They ask about "review sentiment", "why are we getting 1-star reviews", or "what do reviews say about app X".

Not for: App Store keyword rankings or search visibility (use the Apple App Store Search Actor), listing metadata such as title, price, or screenshots (use the Apple App Store Product API Actor), or Google Play reviews.

## What each review row carries

`review_id`, `review_title`, `review_text`, `rating` (integer 1 to 5), `review_date` plus `review_date_iso`, `reviewed_version` (the version trend axis), `author_name`, `author_id`, `product_id`, `app_platform`, `app_country`, `sort_order`, `page_number`, `position_on_page`, `position_global`, `total_page_count`, `reviews_for_current_version`, `fetch_timestamp`. When a review carries helpfulness votes and `parse_helpfulness` is on, `helpful_count` and `total_helpful_count` are added; most rows do not have them.

## Prerequisites

- Apify account (sign up at https://apify.com?fpr=9n7kx3&fp_sid=skillrepo).
- Authentication via `apify login`, or an `APIFY_TOKEN` environment variable (Apify Console, Settings, Integrations).

## The Actor

- Store page: https://apify.com/johnvc/apple-app-store-reviews-api?fpr=9n7kx3&fp_sid=skillrepo
- Actor ID: `johnvc/apple-app-store-reviews-api`
- Pricing: pay per review returned, plus a small per-run setup fee (see `references/gotchas.md`).

## Run it with the Apify CLI

Pull the most critical reviews for your app plus two competitors in one run:

```bash
apify actors call "johnvc/apple-app-store-reviews-api" -i '{"product_ids":["534220544","363590051","324684580"],"country":"us","sort":"mostcritical","max_reviews":100}' \
  --json \
  --user-agent apify-awesome-skills/apify-app-store-optimization-reviews \
  2>/dev/null
```

Pull recent reviews for the same app from a non-US store for localization feedback:

```bash
apify actors call "johnvc/apple-app-store-reviews-api" -i '{"product_ids":["534220544"],"country":"de","sort":"mostrecent","max_reviews":100}' \
  --json \
  --user-agent apify-awesome-skills/apify-app-store-optimization-reviews \
  2>/dev/null
```

Every call carries the three flags this repo expects: `--json`, `--user-agent apify-awesome-skills/apify-app-store-optimization-reviews`, and `2>/dev/null`.

## Run it from Claude or another AI agent (MCP)

The Actor is MCP-ready. Add the hosted server URL:

`https://mcp.apify.com/?tools=actors,docs,johnvc/apple-app-store-reviews-api`

Then ask, for example: "Pull the 100 most critical App Store reviews for Netflix in the US, group the complaints into themes, and tell me the top three." MCP setup docs: https://docs.apify.com/platform/integrations/mcp

## Workflow

1. Define the audit set. Collect the numeric `product_ids` for the user's app and each competitor (the number after `id` in an App Store URL). One run handles the whole set.
2. Pick the lens. Complaint mining: `sort: "mostcritical"`. Fresh pulse and update reaction: `sort: "mostrecent"`. What fans value: `sort: "mostfavorable"`. Note sort applies to iOS only.
3. Pick the stores. Run once per `country` that matters; the same app can read very differently in `us`, `de`, and `jp`. Review text and dates come back in the store locale.
4. Bound the volume and estimate cost. `max_reviews` of 100 to 200 per app is enough for themes; confirm with the user if the estimate is large. See `references/gotchas.md`.
5. Analyze the rows. Group complaints into themes from `review_text` and `review_title` on 1-star and 2-star rows; chart `rating` by `reviewed_version` to see how releases landed; compare theme mix across apps and across `app_country`.
6. Deliver findings the user can act on: the top complaint themes with example quotes, the version where a regression appeared, and per-country issues worth a localized listing or release-note fix.

## Inputs

- `product_ids` (array of strings): the audit set, fetched sequentially in one run
- `app_name` (string): auto-resolve alternative when only a name is known (one of the two is required)
- `country` (enum, 52 codes, default `us`): the store under audit
- `sort` (enum, default `mostrecent`): the audit lens; `mostcritical` for complaint mining (iOS only)
- `max_reviews` (integer, default 100): per-app cap; 0 = unlimited up to 50 pages
- `include_macos` (boolean, default true), `normalize_dates` (boolean, default true), `parse_helpfulness` (boolean, default true)
- `start_page` (integer, default 1): resume a long pull

## Cost

Billing is per review returned plus a small one-time setup fee per run, so a three-app audit at 100 reviews each costs well under a dollar. Repeating it across five country stores stays in the low single dollars. Batch all `product_ids` for a store into one run so the setup fee is paid once. Live prices and estimates are in `references/gotchas.md`.

## Honest limits

- The Actor returns review rows, not scores: sentiment, themes, and trends are your analysis on top of `review_text`, `rating`, and `reviewed_version`.
- `sort` works on iOS apps only; macOS apps always return most recent.
- Apple serves a bounded review window per app (about 50 pages), so this is a strong sample of recent and voted reviews, not the full historical archive.
- `reviewed_version` reflects the version the reviewer had; users on old versions still post, so version grouping has noise.
- No keyword-ranking data in the output; that is the Search Actor's job.

## Troubleshooting

- Complaint set looks thin: raise `max_reviews`, or the app simply has few critical reviews in that store (check `total_page_count`).
- Reviews in the wrong language: `country` sets the store and locale; run per store rather than expecting one global feed.
- Same rows across audit runs: expected for slow-moving apps; dedupe on `review_id` and diff against the previous audit.
- Wrong app in the set: `app_name` matched a different app; use exact `product_ids` for audits.

See `references/gotchas.md` for cost guardrails and error recovery, and `references/actor-index.md` for the Actor routing table.

## Related Apple App Store Actors

- Apple App Store Search (keyword rankings, the other half of ASO): https://apify.com/johnvc/apple-app-store-search?fpr=9n7kx3&fp_sid=skillrepo
- Apple App Store Product API (listing metadata for the same app IDs): https://apify.com/johnvc/apple-app-store-product-api?fpr=9n7kx3&fp_sid=skillrepo

