App Store Reviews Scraper API
Pricing
from $0.06 / 1,000 app store reviews
App Store Reviews Scraper API
Apple App Store reviews scraper API for ASO and product research. Export ratings, titles, review text, dates, app versions and helpful votes across multiple countries; filter before billing, include app metadata. From $0.08 per 1,000 reviews, platform usage included.
Pricing
from $0.06 / 1,000 app store reviews
Rating
0.0
(0)
Developer
Rosario Vitale
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Why use this Actor?
Apple App Store reviews scraper API for ASO and product research. Export ratings, titles, review text, dates, app versions and helpful votes across multiple countries; filter before billing, include app metadata. From $0.08 per 1,000 reviews, platform usage included.
Features
- Apps — Apps to scrape, as numeric App Store IDs (310633997), apps.apple.com URLs (https://apps.apple.com/us/app/whatsapp-messenger/id310633997) or bundle IDs (net.whatsapp.WhatsApp). Maximum 100 apps. To find apps by name only, use App name search and set this list to empty ([]).
- App name search — Optional app names or keywords to look up with the iTunes Search API in the first storefront of App Store countries, e.g. ["WhatsApp", "Duolingo"]. The top matches are added to Apps (100 apps maximum, duplicates removed) and each match is listed as a free search-result row.
- Apps per search term — How many top matches of each App name search term are scraped, e.g. 1 for just the best match or 3 to include close alternatives. Ranking follows the iTunes Search API, which can differ from the App Store app.
- App Store countries — Two-letter storefront codes such as us, gb, it, de, fr, jp (uk is accepted as gb). Reviews, ratings and app availability are per country. Maximum 20 per run; defaults to us.
- Sort order — Order of Apple's review feed: mostrecent (newest first, best for monitoring and date windows) or mosthelpful (highest helpful score first, best for research).
- Max reviews per app/country — Maximum reviews kept for each app x storefront, e.g. 200. Apple's public feed exposes at most about 500.
- Maximum total reviews — Hard cap on billed reviews across the whole run, e.g. 5000. Use it together with the run's maximum charge to control spend.
- Minimum stars — Keep reviews with at least this many stars, e.g. 4 for positive reviews only. Filtering happens before billing.
- Maximum stars — Keep reviews with no more than this many stars, e.g. 2 for complaints only. Filtering happens before billing.
- Minimum helpful score — Minimum Apple helpful score (voteSum) a review needs, e.g. 3. Set 0 to disable. Filtering happens before billing.
- Review contains — Optional case-insensitive text that the review title or body must contain, e.g. crash. Filtering happens before billing.
- Reviewed after — Optional start of the date window (inclusive, UTC), as YYYY-MM-DD or an ISO date-time, e.g. 2026-01-01 or 2026-01-01T08:00:00Z. With Most recent order, paging stops once reviews get older than this date.
Use cases
- Aso review research.
- Ios release feedback.
- Global storefront comparison.
- App store reputation monitoring.
Related tools
- Google Play Reviews Scraper Pro
- Trustpilot Reviews Scraper - Ratings, Replies & Filters
- YouTube Comments Scraper API
Example input
{"apps": ["310633997"],"maxAppsPerSearch": 1,"countries": ["us"],"sortBy": "mostrecent","maxReviewsPerAppCountry": 200,"maxTotalReviews": 5000}
Pricing & cost control
The primary event costs $0.000080 per App Store review (about $0.08 per 1,000 successful primary events). Only successful primary events are intentionally billed by this Actor; summary/status rows add context without adding primary-event charges.
Use the bounded input limits and filters to keep both event charges and platform usage predictable.
FAQ
What is this Actor for?
It is designed for ASO review research, iOS release feedback, global storefront comparison.
Can I run it on a schedule?
Yes. You can schedule Actor runs on Apify and send the resulting dataset into automations, webhooks, storage, or downstream APIs.
How do I control cost and run size?
Use the input limits and filters shown in the Actor input form. The Actor applies bounded defaults and hard caps so large jobs remain predictable.
Pricing at a glance
| Price per 1,000 App Store reviews | |
|---|---|
| This Actor | $0.080 |
| Median of 8 comparable Apify Store Actors (October 2026) | $0.82 |
That is about 90% below the median per-result price for this task in Apify Store.
Subscriber discounts: on a paid Apify plan you pay even less per result — Bronze −10%, Silver −15%, Gold and higher −20% ($0.064 per 1,000 App Store reviews on Gold).
Apify platform usage (compute, storage, data transfer) is included — you pay only the result price plus a small run start fee ($0.0001 per GB of run memory). No surprise compute bill, even on long runs.
Use the run's maximum charge setting to cap spending — the Actor stops cleanly when the limit is reached.
Use it from AI agents (MCP) and code
AI agents — Claude, ChatGPT, Cursor, VS Code, n8n AI agents and any MCP client can run this Actor through the official Apify MCP server: add https://mcp.apify.com?tools=zenomastro/apple-app-store-reviews-pro to your client. Then just ask, for example:
"Get the latest 200 US App Store reviews of WhatsApp and summarize the top complaints by app version."
The agent fills the input from the field descriptions and receives clean JSON it can reason over.
API — one HTTP call runs the Actor and returns the results directly:
curl -X POST "https://api.apify.com/v2/acts/zenomastro~apple-app-store-reviews-pro/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"apps": ["310633997"], "countries": ["us"], "maxReviewsPerAppCountry": 2, "maxTotalReviews": 2, "includeAppMetadata": true}'
The same works from the Apify Python/JavaScript clients, Make, n8n, Zapier, LangChain and LlamaIndex integrations, or on a schedule.
Extract Apple App Store customer reviews for many apps and storefronts in one run: star rating, title, full text, author, date, developer reply, app version and helpful votes, plus free per-app analytics. It uses Apple's public Lookup, Search, RSS review feed and App Store web API. No browser, login, Apple developer account, API key, cookies or proxy needed.
Who it is for: ASO specialists, product managers and support teams who track what iOS users say after each release; agencies and analysts comparing competitor apps across countries; developers feeding review text into dashboards, LLMs or sentiment pipelines.
What you get
- Many apps, many countries: numeric app IDs, apps.apple.com URLs, bundle IDs or app names (App name search), across up to 20 storefronts per run.
- Developer replies: the reply text and date for every review the developer answered (
hasDeveloperReply,developerReplyText,developerRepliedAt), plus whether the reviewer edited the review (isEdited). Filter on it with Developer reply. - More than 500 reviews per app and country: Apple's RSS feed stops at 500; above that the Actor pages through the App Store web API for as long as Apple keeps returning reviews (up to 5,000 per app and country).
- Filters before billing: stars, date window or "last N days", text, any/all/none keyword lists, developer reply, helpful score. Reviews that fail a filter are never billed.
- Free review insights in each
app-summaryrow: star distribution, average, developer reply rate (overall and per star) and reply time, monthly trend, app-version trend, top complaint keywords (1-2 stars) and praise keywords (4-5 stars), and mentions of your own keywords. Plain word counting, no AI and no extra cost. - Storefront rating histogram: exact average rating and 1-5 star counts per country.
- Scheduled monitoring:
monitorName+onlyNewreturn and bill only reviews you have not received before. - App metadata on every review: title, developer, category, current version, aggregate rating, price, icon and URL.
How to use it
- Add apps to Apps (
310633997,https://apps.apple.com/us/app/whatsapp-messenger/id310633997ornet.whatsapp.WhatsApp) or names to App name search. - List the App Store countries (
us,gb,de, ...). - Set Max reviews per app/country and, optionally, filters such as Maximum stars 2 for complaints only.
- Run, then open the Output tab or export the dataset as JSON, CSV or Excel. Review rows have
recordType: "review"; the freeapp-summaryrows hold the histogram and insights (see the Review insights view).
Input examples
Latest 200 reviews of two apps in three countries:
{"apps": ["310633997", "net.whatsapp.WhatsApp", "https://apps.apple.com/us/app/duolingo-language-lessons/id570060128"],"countries": ["us", "gb", "de"],"maxReviewsPerAppCountry": 200}
Unanswered 1-2 star reviews that mention crashes or login problems, last 30 days:
{"apps": ["570060128"],"countries": ["us"],"maxRating": 2,"hasDeveloperReply": "no","containsAny": ["crash", "freeze", "log in", "login"],"reviewedWithinDays": 30}
Daily monitor that returns and bills only new reviews:
{"apps": ["310633997"],"countries": ["us", "gb"],"monitorName": "whatsapp-daily","onlyNew": true,"maxReviewsPerAppCountry": 500}
Inputs written for other App Store review Actors also work: appIds, startUrls, country and maxItems are read as apps, countries and maxTotalReviews.
Output examples
Illustrative values, shortened. A billed review row:
{"recordType": "review","appId": "310633997","bundleId": "net.whatsapp.WhatsApp","country": "us","reviewId": "11843211234","authorName": "jdoe_88","rating": 2,"reviewTitle": "Backup keeps failing","text": "Since the last update my iCloud backup stops at 40%...","reviewedAt": "2026-10-12T08:41:09Z","appVersion": "","voteSum": 0,"hasDeveloperReply": true,"developerReplyText": "Sorry about this. Please update to the latest version and...","developerRepliedAt": "2026-10-12T15:02:44Z","isEdited": false,"reviewFeed": "web-api","isNew": true,"appMetadata": {"appTitle": "WhatsApp Messenger", "developer": "WhatsApp Inc.", "category": "Social Networking", "currentVersion": "25.29.74"}}
A free app-summary row with insights:
{"recordType": "app-summary","appId": "310633997","appTitle": "WhatsApp Messenger","country": "us","ratingAverage": 4.6941,"ratingCount": 15782454,"ratingHistogram": {"1": 642052, "2": 171024, "3": 340987, "4": 1012448, "5": 13615943},"reviewsEmitted": 200,"reviewsMatched": 200,"reviewFeed": "web-api","stopReason": "limit","coverageNote": null,"reviewsAverageRating": 3.12,"developerReplyRatePercent": 18.5,"medianReplyHours": 7.3,"monthlyTrend": [{"month": "2026-10", "reviews": 200, "averageRating": 3.12, "negativePercent": 41.0}],"topComplaintKeywords": [{"term": "backup", "reviews": 23, "sharePercent": 28.0}, {"term": "not working", "reviews": 11, "sharePercent": 13.4}],"topPraiseKeywords": [{"term": "easy", "reviews": 19, "sharePercent": 20.2}],"keywordMentions": {"crash": 9, "bug": 6, "support": 4, "price": 0}}
Other free rows: search-result (what each App name search found), status (an app/storefront with no matching review) and error (an invalid app, a storefront where the app is not sold, an Apple failure). Errors never stop the other apps.
Review sources: RSS feed and App Store web API
Apple serves reviews in two public ways, and the Actor picks one per app and country (Review source, default Automatic):
| RSS feed | App Store web API | |
|---|---|---|
| Developer replies, edited flag | no | yes |
| App version of the review, helpful votes | yes | no |
| Reviews per app and country | up to 500 | as many as Apple returns (Actor limit 5,000) |
Automatic reads the RSS feed first and switches to the web API when the feed returns no reviews, when a Developer reply filter is set or when more than 500 reviews per app/country are requested. If the feed returns nothing for the first three app/storefront pairs, the rest of the run goes straight to the web API. Each review says where it came from in reviewFeed. Fields a source does not have stay empty or null; the Actor never invents them.
Review insights
When Include review insights is on (default), each app-summary row also describes the reviews that matched your filters: star distribution and average, developer reply rate overall and per star, average and median hours to a reply, a monthly trend (reviews, average stars, share of 1-2 star reviews), an app-version trend (RSS feed only), the words and two-word phrases that 1-2 star reviews mention more than 4-5 star reviews (topComplaintKeywords) and the reverse (topPraiseKeywords), and how many reviews mention each Insight keyword. The keyword lists come from word counting with stopwords in English and major European languages and leave out the app's own name; they work best for languages that separate words with spaces. Nothing is sent to an AI service and the insights are free.
Pricing
$0.00008 per emitted review — about $0.08 per 1,000 reviews, plus the small Actor-start charge shown in the Store. Reviews removed by star/text/date/helpfulness filters are free. Diagnostic/status rows are free. App-summary rows, insights and search results are free too.
Limits
- Up to 100 apps and 20 storefronts per run, 50 app name searches.
- Up to 5,000 reviews per app and country and 50,000 per run. The RSS feed stops at 500 per app and country; the web API returns as many as Apple serves.
- Helpful votes and the app version of each review exist only in the RSS feed; developer replies only in the web API.
- Reviews are per storefront: an app sold in many countries has separate reviews in each.
- Reading a deep review history takes time (20 reviews per web API request). The Actor stops cleanly before the run timeout and says so in the status message and in
stopReason; raise the run timeout for very large jobs.
Reliability
The Actor uses HTTP-only Apple endpoints with per-request timeouts and retries with growing waits (longer when Apple rate limits). When the RSS feed fails or comes back empty, the web API takes over automatically. One failing app or storefront becomes an error row and the run continues. Before the run timeout the Actor stops starting requests, saves the monitor state and finishes with everything collected so far, so runs end as SUCCEEDED rather than TIMED-OUT. Input mistakes end with a clear error row and status message, with nothing scraped or billed.
More FAQ
Why did an app return fewer reviews than I asked for?
Read stopReason and coverageNote in its app-summary row: Apple may have no more reviews in that storefront, the RSS feed may have reached its 500-review end, the date window may have ended, or your filters matched only some of the reviews read.
Can I get developer responses?
Yes, from the App Store web API: developerReplyText and developerRepliedAt. Rows from the RSS feed have hasDeveloperReply: null because the feed does not carry replies.
How do I monitor new reviews every day? Schedule the Actor with a Monitor name and Only new reviews. Reviews already returned under that name are skipped for free. Without a monitor name, one is derived from the apps and countries.
Do I need an Apple account or API key? No. Only public App Store data is read.
Responsible use
Only public App Store review data is read. Use reviewer display names and review text in accordance with applicable privacy, copyright, and data-protection rules.