Apple App Store Reviews Scraper & Monitor
Pricing
from $0.30 / 1,000 review saveds
Apple App Store Reviews Scraper & Monitor
Export Apple App Store reviews across 50 markets. Filter by rating, date, version, and keyword; monitor new reviews and enrich results with app metadata.
Pricing
from $0.30 / 1,000 review saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Export and monitor public Apple App Store reviews across 50 major markets, with rating, date, version, and keyword filters plus helpful votes and enriched app metadata.
Apple App Store Reviews Scraper saves one public review per dataset row. Use it for ASO, product feedback mining, release monitoring, support triage, competitor review analysis, and mobile app intelligence.
At a glance
- Input: Apple App Store URLs or numeric app IDs in
appUrlsOrIds. - Output: review text, rating, version, date, helpful votes, stable record ID, app metadata, and source feed URL.
- Controls: one or many countries, 50 major markets, rating/date/version/keyword filters, concurrency, review caps, and incremental monitoring.
- Exports: download JSON, CSV, Excel, XML, RSS, or HTML, or read results through API/MCP.
- Best for: ASO analysis, post-release monitoring, competitor review mining, and support issue triage.
Ready-to-run examples
- Recent App Reviews: one App Store URL,
country: "us",sortBy: "mostrecent",maxReviewsPerApp: 20. - Helpful Facebook Reviews: Facebook app ID,
sortBy: "mosthelpful",maxReviewsPerApp: 25. - UK Messaging Reviews: messaging app IDs,
country: "gb",maxReviewsPerApp: 20. - Multi-country review monitor: low-rating Spotify reviews across US, UK, and Germany with support keywords and bounded concurrency.
- Reviews AI Tagging Sample: small review export for downstream tagging or summarization.
What can it do?
- Export public app reviews: Save one row per public Apple App Store review for one or more apps.
- Filter by country and sort: Use localized review feeds and choose recent or helpful review ordering.
- Compare markets in one run: Collect several storefronts or a curated set of 50 major App Store markets.
- Filter before export: Keep selected ratings, dates, versions, or review keywords.
- Track ratings and versions: Capture star ratings, review text, dates, version labels, and public author display names.
- Monitor new reviews: Compare with a previous dataset, save only new stable review IDs, and read
CHANGE_SUMMARYplus per-market diagnostics. - Add app metadata: Include app identity, genre, ratings, current version, release notes, icon, price, and currency when available.
- Use as an App Store reviews API workflow: Run from API, schedules, webhooks, or MCP-compatible agents and export CSV/Excel/JSON.
Input example
{"appUrlsOrIds": ["https://apps.apple.com/us/app/whatsapp-messenger/id310633997"],"countries": ["us", "gb"],"sortBy": "mostrecent","maxReviewsPerApp": 20,"minRating": 1,"maxRating": 3,"keywords": ["crash", "subscription"],"includeAppMetadata": true}
Output example
{"appId": "310633997","appUrl": "https://apps.apple.com/us/app/whatsapp-messenger/id310633997","country": "us","appName": "WhatsApp Messenger","developerName": "WhatsApp Inc.","recordId": "apple-review:310633997:us:14177411298","outputSchemaVersion": "1.0","reviewId": "14177411298","reviewUrl": "https://itunes.apple.com/us/review?id=310633997&type=Purple%20Software","authorName": "Example reviewer","authorUri": "https://itunes.apple.com/us/reviews/id123456789","rating": 4,"voteSum": 0,"voteCount": 0,"version": "25.12.0","title": "Example review title","content": "Example public review text...","updatedAt": "2026-06-13T04:03:53-07:00","sortBy": "mostrecent","status": "ok","bundleId": "net.whatsapp.WhatsApp","genre": "Social Networking","averageUserRating": 4.7,"userRatingCount": 18000000,"currentVersion": "25.12.0","sourceFeedUrl": "https://itunes.apple.com/us/rss/customerreviews/page=1/id=310633997/sortby=mostrecent/json","scrapedAt": "2026-07-03T00:00:00.000Z"}
Input configuration
| Setting | JSON key | Description |
|---|---|---|
| App URLs or IDs | appUrlsOrIds | Required App Store URLs or numeric IDs. URLs must contain an id123456789 value. |
| Country | country | Two-letter App Store country code, such as us, gb, ca, de, fr, or au. |
| Countries | countries | Optional list of country codes; replaces the single-country setting. |
| Include major markets | allMajorMarkets | Add a curated set of 50 storefronts. |
| Sort reviews by | sortBy | mostrecent or mosthelpful. |
| Maximum reviews per app | maxReviewsPerApp | Per-app review cap from 1 to 500. Apple feeds may expose fewer rows. |
| App-country safety limit | maxAppCountryPairs | Maximum expanded app × country combinations. |
| Concurrency | maxConcurrency | App-country combinations processed together, from 1 to 10. |
| Include app metadata | includeAppMetadata | Add app identity, ratings, version, release, icon, price, and genre data. |
| Rating range | minRating, maxRating | Keep reviews within a 1-5 star range. |
| App versions | versions | Keep exact reviewed-version values. |
| Keywords | keywords | Keep reviews containing at least one term in the title or text. |
| Date range | dateFrom, dateTo | Keep reviews inside an ISO date/date-time range. |
| Baseline dataset | compareDatasetId | Compare stable record IDs with a previous dataset. |
| Save only new reviews | onlyNewReviews | Exclude IDs already present in the selected baseline. |
Output fields
| Field | Description |
|---|---|
appId | Numeric Apple App Store app ID. |
recordId | Stable apple-review:app:country:review identifier. |
outputSchemaVersion | Output contract version for pipelines. |
appUrl | Canonical App Store app URL. |
country | Country code used for the review feed. |
appName | App name when metadata lookup is available. |
developerName | Developer or publisher name when available. |
reviewId | Public review identifier. |
reviewUrl | Public review URL when Apple exposes it. |
authorName | Reviewer display name when available. |
authorUri | Reviewer URI when available. |
rating | Star rating as a number. |
voteSum, voteCount | Public helpfulness score and vote count from Apple. |
version | App version attached to the review when available. |
title | Review title. |
content | Review text. |
updatedAt | Review update timestamp from Apple. |
sortBy, status | Requested ordering and record status. |
bundleId, genre, genres | App identity and category metadata. |
averageUserRating, userRatingCount | Storefront rating snapshot. |
currentVersion, currentVersionReleaseDate, releaseNotes | Current release metadata. |
iconUrl, price, currency | Storefront artwork and pricing metadata. |
sourceFeedUrl | Apple RSS feed URL used for the batch. |
scrapedAt | Timestamp when the row was saved. |
Pricing
This Actor uses pay-per-event pricing:
- Run start:
$0.005once per run. - Saved review: charged once for each review row written to the dataset.
- Not charged as results: reviews removed by filters, duplicate reviews, baseline reviews skipped by
onlyNewReviews, and app-country pairs that return no rows.
The saved-review price depends on the Store discount tier attached to your Apify account:
| Account context / Store tier | Per saved review | Per 1,000 saved reviews |
|---|---|---|
| Free / no discount | $0.000575 | $0.575 |
| Starter / Bronze | $0.000500 | $0.500 |
| Scale / Silver | $0.000390 | $0.390 |
| Business / Gold | $0.000300 | $0.300 |
| Custom / Platinum | $0.000200 | $0.200 |
| Custom / Diamond | $0.000140 | $0.140 |
Example Actor charges, including the $0.005 run-start event:
| Saved reviews | Free / no discount | Business / Gold |
|---|---|---|
| 20 | $0.0165 | $0.0110 |
| 100 | $0.0625 | $0.0350 |
| 500 | $0.2925 | $0.1550 |
| 1,000 | $0.5800 | $0.3050 |
These are Actor charges from the current live pricing record. Apify platform usage for compute, storage, proxies, or data transfer can be additional. Check the Pricing tab and the completed run for the exact amount charged to your account.
Common workflows
- Release monitoring: schedule
mostrecentreviews after each app update and compareversion,rating, andcontent. - ASO review mining: export review text by country to identify feature language, complaints, and competitor positioning.
- Support triage: collect low-star review text and route common issues to support or engineering.
- Competitor analysis: run several app IDs with the same country and cap, then compare themes and ratings.
- Downstream AI analysis: send
title,content,rating,version, andupdatedAtinto tagging or summarization workflows.
Incremental review monitoring
Run once to create a baseline dataset. On the next run, select that dataset in compareDatasetId; optionally enable onlyNewReviews. The Actor writes:
RUN_SUMMARYwith pages fetched, reviews scanned and saved, filter counts, duplicates, existing-review skips, failures, retries, andSUCCEEDEDorPARTIALstatus.CHANGE_SUMMARYwith baseline/current/new/removed/unchanged counts and stable IDs.
For recurring monitoring, schedule a small mostrecent run. Update the task's baseline periodically when you want comparison against the latest accepted snapshot.
Tips for best results
- Use numeric IDs when possible: App Store URLs work, but IDs are easiest to reuse in scheduled tasks.
- Start with a few countries: review availability and language vary by storefront; use
maxAppCountryPairsto control global sweeps. - Keep first runs small: start with 20-50 reviews per app before increasing to 500.
- Use sort intentionally:
mostrecentis best for monitoring;mosthelpfulis useful for evergreen review samples. - Expect optional fields: author URI, review URL, version, and app metadata can be missing for some rows.
Limits and caveats
- Public reviews only: the actor does not log in and does not collect private Apple account data.
- Feed limits: Apple review feeds may expose fewer rows than your requested cap, often up to about 500 per country/sort combination.
- Metadata is optional: review rows can still be saved if app metadata lookup is unavailable.
- No ratings aggregate history: the actor exports review rows, not complete historical rating curves.
- No developer replies: Apple's public RSS review feed does not expose developer responses.
API usage
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/apple-app-store-reviews-scraper').call({appUrlsOrIds: ['https://apps.apple.com/us/app/whatsapp-messenger/id310633997'],country: 'us',sortBy: 'mostrecent',maxReviewsPerApp: 20,includeAppMetadata: true});console.log(run.defaultDatasetId);
MCP and AI agents
Focused Apify MCP server URL:
https://mcp.apify.com?tools=fetch_cat/apple-app-store-reviews-scraper
Example agent prompt: "Collect the 20 newest US App Store reviews for this app, then group complaints by app version and rating."
FAQ
Does it require an Apple account?
No. It collects public App Store review data.
Can I export reviews to CSV or Excel?
Yes. Apify datasets export to CSV, Excel, JSON, JSONL, XML, RSS, and HTML.
Can I scrape multiple apps in one run?
Yes. Add multiple app URLs or IDs to appUrlsOrIds. The review cap applies per app.
Can I scrape reviews from several countries?
Yes. Pass countries, or enable allMajorMarkets for the curated 50-storefront set. Every row includes country, and the app-country pair limit prevents accidental oversized runs.
Why did I get fewer reviews than requested?
The selected app, country, or sort order may expose fewer public reviews than your requested maxReviewsPerApp value.
Is this an Apple App Store API alternative?
It can be used as a public review export workflow, but it is not an official Apple API.
Related actors
- Apple App Store Apps Scraper
- Google Play Reviews Scraper
- Google Play Apps Scraper
- Reddit Scraper
- YouTube Transcript Scraper
Support
If a run fails or a field looks wrong, report it from the Actor page. Include the Apify run ID or run URL, input JSON, expected output, actual output, and one public App Store URL that reproduces the problem.