App Store Reviews Scraper & Change Monitor
Pricing
from $0.08 / 1,000 review delivereds
App Store Reviews Scraper & Change Monitor
Export Apple App Store reviews with ratings, review text, app versions and country coverage. Track new and updated feedback with stable keys for repeatable exports.
Pricing
from $0.08 / 1,000 review delivereds
Rating
0.0
(0)
Developer
Luka
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Turn App Store feedback into a review export you can use for release analysis, product research and customer support. Keep the original text, compare countries and follow newly observed or edited reviews over time.
- Export ratings, titles, full review text, app versions and helpfulness votes.
- Check multiple apps and countries with clear coverage for every target.
- Add NEW and UPDATED records to repeat runs, with stable keys for spreadsheets and automation.
๐ Start in 60 seconds
- Leave the default Spotify app and US storefront to try 100 reviews, or paste your own App Store URL, numeric ID or bundle ID.
- Choose Export current reviews and press Start.
- Open the results Dataset, then export JSON, CSV or Excel. The
recordTypecolumn identifies reviews, changes and coverage rows.
{"apps":["324684580"],"countries":["us"],"maxReviewsPerApp":100,"maxReviews":100}
This default costs $0.0125 when 100 reviews are delivered for one verified app-country pair. A verified empty check costs $0.005. An unavailable or unverified target has no check fee. Set the run's maximum total charge for a spending cap.
๐ฏ Choose the right workflow
| Your task | Workflow | Result |
|---|---|---|
| Analyze current feedback | Export current reviews | Current review rows and coverage |
| Watch releases or competitors | Track new and updated reviews | Current reviews plus included NEW and UPDATED records |
The first run creates a baseline for your watch. Later runs compare current review observations with that baseline.
For monitoring, keep the same watch name, apps, countries, sort order, filters and limits between runs. A changed scope starts a separate baseline. Create baseline without change records still exports and bills the current reviews; it only suppresses the first batch of NEW records.
๐ฆ What you get
Each review includes stableId, reviewId, appId, country, rating, title, text, date, version, userName, userUrl, reviewUrl, voteCount and voteSum. App name, developer and bundle ID are added when published and available. Secondary fields can be empty.
Change rows include changeKind, changeId, the current review and previousContentHash. Use stableId to maintain one row per review and changeId to deduplicate a delivered change event. NEW means newly observed in this watch; it does not guarantee that the review was just published. UPDATED means its text, title, rating, associated app version or date changed.
Coverage rows show the target, checked and delivered counts, status and a short explanation. They are included without an additional row charge. parentId retains the source review identity and does not imply a developer-response thread.

๐๏ธ Input guide
| Input | Purpose |
|---|---|
apps | 1โ50 numeric IDs, App Store URLs or bundle IDs |
countries | 1โ20 two-letter storefront codes; applies to every app, including pasted URLs |
sort | mostRecent or mostHelpful; order is within each app-country pair |
maxReviewsPerApp | 1โ500 reviews per app and country |
maxReviews | 1โ25,000 current reviews for the whole run |
since | Optional ISO date; exclude older reviews before delivery |
minRating, maxRating | Include a range of star ratings from 1 to 5 |
includeAppMetadata | Include app name, developer and bundle ID when available |
workflow | export or monitor |
firstRunBehavior | emit_current_as_new or seed_only |
stateNamespace | Your watch name; up to 25,000 retained review identities |
maxBuyerChargeUsd | Maximum charge you allow; the requested maximum must fit before collection starts |
maxRuntimeSecs | 10โ60 seconds for collection, followed by time to save results |
For critical recent feedback, set a date and maxRating: 2. Reviews excluded by filters have no per-review charge; the verified app-country check is still charged. For a broader export, raise both review limits and the spending cap.
๐ฐ Pricing
All Apify plan tiers use the same price:
- $0.005 per verified app-country check, including verified checks that return no matching reviews.
- $0.000075 per current review delivered ($0.075 per 1,000 reviews).
- Monitoring change records and coverage rows are included.
| Complete run | Buyer charge |
|---|---|
| 1 app, 1 country, no matching reviews | $0.005 |
| 1 app, 1 country, 100 reviews | $0.0125 |
| 1 app, 1 country, 300 reviews | $0.0275 |
| 1 app, 1 country, 500 reviews | $0.0425 |
| 10 apps, 1 country, 500 reviews each | $0.425 |
Formula: 0.005 ร verified app-country checks + 0.000075 ร current reviews delivered.
Unchanged reviews are checked and returned on repeat monitoring runs, so they retain the normal review charge. Only the additional change records are free. Charges do not include extra platform-usage pass-through. A run that cannot verify any requested target has no Actor event charge. A partial run charges only verified targets and delivered reviews.
โ Coverage you can trust
The public review window is limited to up to 500 available reviews per app per country. That window can differ between countries and sort orders. It is not a lifetime archive. Check the returned coverage before interpreting a count.
- COMPLETE: the checked available review window ended.
- FILTERED: the checked window ended and rating or date filters excluded reviews.
- EMPTY_CONFIRMED: a valid review window contained no matching reviews.
- CAPPED: a requested limit or the source review window was reached.
- PARTIAL: some useful results were verified, but collection was incomplete.
- BLOCKED / FAILED / NOT_VISITED: the requested target was not successfully checked.
Missing reviews are never marked deleted. An older review may simply fall outside the available window. Incomplete targets preserve prior monitoring observations. Delivery confirmation comes before the saved watch advances; an uncertain interrupted delivery stops for recovery rather than silently skipping or rebilling records.
๐ API and automation
Start this Actor through the Apify API with the same JSON input. Retrieve its default Dataset, then filter recordType for reviews, changes or coverage. The output also links to a run summary.
const run = await client.actor('luminar/app-store-reviews-change-monitor').call({workflow: 'monitor', apps: ['324684580'], countries: ['us'],stateNamespace: 'release-watch', maxReviewsPerApp: 100, maxReviews: 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Send review rows to your spreadsheet using stableId as an update key. Send NEW and UPDATED records to your existing alert workflow using changeId. Schedule serial runs after checking your first useful export. Monitoring uses a named persistent storage in your account and therefore requires full Actor permissions. It does not need an Apple account.
โ ๏ธ Not yet supported
No complete historical archive beyond the available public review window, app discovery by keyword, developer responses, review deletion inference, automatic sentiment scores or review posting. Large inputs can be capped by the collection time or output-size limit; 25,000 is an output ceiling, not a promise that every live run reaches it. US recent reviews and GB helpful reviews are the initial live verification targets; other valid storefront codes depend on Apple's availability and are reported individually.
Do not overlap monitoring runs. Keep a watch below 25,000 remembered review identities; start a new watch name when you need a new baseline. Review text is returned as published. This Actor does not infer reviewer identities, contact details or private account information.
โ FAQ and support
Can I monitor my competitors? Yes, provide their public App Store IDs or URLs. No Apple login is needed.
Why are there fewer reviews than the app's rating count? Ratings without written reviews and reviews outside the available country window are not returned. A filter or limit can further reduce the output.
Does a zero-result check cost anything? A verified app-country check costs $0.005 even when filters leave no reviews. An unavailable or unverified target is free.
Does monitoring charge only for changes? It charges for the current reviews checked and delivered. The additional NEW and UPDATED records are included.
How do I report a problem? Open an Actor issue with the run ID, app ID, country and expected result. Avoid sharing account secrets. For interrupted monitoring delivery, keep the original run so its saved acknowledgement can be checked.
This independent tool is not affiliated with or endorsed by Apple Inc. App Store and Apple are trademarks of Apple Inc.