App Store Reviews Scraper — iOS Sentiment & Themes
Pricing
from $0.016 / review intelligence report
App Store Reviews Scraper — iOS Sentiment & Themes
Scrape Apple App Store reviews for any iOS app and country, with ratings, sentiment counts, themes and excerpts in one report. USD 0.02 per app report.
Pricing
from $0.016 / review intelligence report
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Security
Limited permissionsShare
App Store Reviews Scraper collects the public customer reviews Apple shows for one iOS app in one App Store country and turns them into a review intelligence report with rating distribution, sentiment counts, recurring themes and representative positive and negative excerpts. It is built for product managers, app marketers and competitor researchers, and it costs USD 0.020001 per app report on the FREE tier (about USD 20 per 1,000 reports), with the review records included at no extra charge.
You give it an App Store ID, an App Store URL or an app name plus a two-letter country code. Each run writes one dataset row per review and saves the aggregate report under the OUTPUT and SUMMARY key-value records, so you can export the reviews to CSV or read the report through the API.
What does the App Store reviews scraper return?
One dataset row per public review, plus one report per run. The dataset fields and the main report fields are:
| Field | Where | What it contains |
|---|---|---|
reviewId | dataset | Apple's review ID, used to remove duplicates |
appId, appName, country | dataset | Numeric App Store ID, app name and storefront code, for example us |
rating | dataset | Star rating from 1 to 5 |
title, content | dataset | Review headline and body (content is null when includeReviewText is false) |
author | dataset | Reviewer's public display name |
version | dataset | App version the review was written for; null only for reviews from the App Store page fallback |
updatedAt, reviewUrl, scrapedAt | dataset | Review date, link to the review (only for the App Store page fallback; Apple's feed has no per-review link, so it is null there) and collection time |
app | report | Bundle ID, seller, category, overall average rating, total rating count, price, current version, icon and store URL |
ratingDistribution, averageReviewRating | report | Count of 1–5 star reviews and the average of the collected reviews |
sentiment | report | Positive, neutral and negative counts and rates |
themes | report | Mentions and share of reviews for six themes: performance and stability, login and account access, notifications and messaging, pricing and subscriptions, user interface and usability, features and functionality |
topPositiveReviews, topNegativeReviews | report | Up to five excerpts each, 280 characters maximum |
Sentiment and themes come from transparent word lists, not from a language model, so treat them as quick signals rather than validated classifications.
How do I scrape App Store reviews for an iOS app?
Enter the app's numeric ID or its apps.apple.com URL in appIdOrUrl, choose a country, and run. If you only know the name, use appName; the Actor takes Apple's first search result for that name, so an ID is safer for apps with similar names.
| Input | Default | Notes |
|---|---|---|
appIdOrUrl | none | Numeric ID such as 310633997 or an App Store URL; wins over appName |
appName | prefill WhatsApp Messenger | Used for an Apple search when no ID is given |
country | us | Two-letter storefront code such as gb, ca or de |
maxReviews | 50 | Review cap, 1–500 |
sortBy | mostrecent | mostrecent or mosthelpful; orders Apple's review feed |
maxPages | none | Optional cap on feed pages (50 reviews each), 1–10; empty means as many as maxReviews needs |
includeReviewText | true | Set false to keep ratings and titles but drop review bodies |
Example for one app in the UK storefront:
{"appIdOrUrl": "https://apps.apple.com/gb/app/whatsapp-messenger/id310633997","country": "gb","maxReviews": 50,"includeReviewText": true}
How many App Store reviews does one run collect?
Up to maxReviews, at most 500 per app, country and sort order. The Actor reads Apple's public review feed, which serves 50 reviews per page and 10 pages, so 500 is Apple's own ceiling; apps with fewer public reviews return fewer. In the 2026-10-27 cloud runs for WhatsApp, the default input returned 50 US reviews in about 7 seconds, and a 200-review request for the UK store sorted by mosthelpful returned all 200. If the feed has no reviews for an app and country, the Actor falls back to the App Store review page, which shows about ten reviews of Apple's choosing. For more than 500 reviews, run the same app in several storefronts or with both sort orders.
Is there an App Store reviews API I can call?
Yes, this Actor works as one. Call it from apify-client, the Apify REST API, a schedule or an AI agent, and you get the same JSON every time without an Apple developer account.
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/apple-app-store-review-intelligence').call({appIdOrUrl: '310633997',country: 'us',maxReviews: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();const report = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT');console.log(items.length, report.value.ratingDistribution, report.value.themes);
Python:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("muhammadafzal/apple-app-store-review-intelligence").call(run_input={"appIdOrUrl": "310633997","country": "us","maxReviews": 50,})for review in client.dataset(run.default_dataset_id).iterate_items():print(review["rating"], review["title"])report = client.key_value_store(run.default_key_value_store_id).get_record("OUTPUT")print(report["value"]["sentiment"])
Use it from an AI assistant
App Store Reviews Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/apple-app-store-review-intelligence to your client and ask, for example: "Pull the current App Store reviews for Duolingo in the US and UK stores and summarize the main complaints." Each app and country is one run and one report charge.
What does the output look like?
Two review rows from the 2026-10-27 cloud run of the prefill input (WhatsApp Messenger, US, 50 reviews):
[{"reviewId": "14712335127","appId": "310633997","appName": "WhatsApp Messenger","country": "us","rating": 1,"title": "You blocked my account","content": "Can you review my account I didn’t break the rules","author": "Unicorns face rainbow sunshine","version": "26.41.75","updatedAt": "2026-10-25T21:52:52-07:00","reviewUrl": null,"scrapedAt": "2026-10-27T12:24:24.262Z"},{"reviewId": "14712302192","appId": "310633997","appName": "WhatsApp Messenger","country": "us","rating": 4,"title": "Please Bring Back the Blur Effect","content": "I would like the blur effect to return when selecting a message...","author": "Bring Back the Blur","version": "26.41.75","updatedAt": "2026-10-25T21:36:38-07:00","reviewUrl": null,"scrapedAt": "2026-10-27T12:24:24.263Z"}]
The same run's report counted 50 reviews with an average of 2.72 stars (26 one-star, 4 three-star, 2 four-star and 18 five-star), 8 positive, 36 neutral and 6 negative, and "features and functionality" as the top theme in 8 of 50 reviews. It also carried the app's overall rating of 4.68 from 18.8 million ratings.
Pricing: how much does an app review report cost?
The Actor uses pay-per-event pricing with platform usage included. Each run is charged one report event after the report is saved, plus the start event. Review rows are not charged separately.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Review intelligence report (one per run) | USD 0.020001 | USD 0.0195 | USD 0.019 | USD 0.016 | USD 0.016 | USD 0.016 |
| Actor start (per started GB of allocated memory) | USD 0.006251 | USD 0.006094 | USD 0.005938 | USD 0.005 | USD 0.005 | USD 0.005 |
Worked totals on the FREE tier at the default 512 MB memory:
- One app in one country: USD 0.020001 + USD 0.006251 = USD 0.026252
- One app across 10 countries (10 runs): 10 × USD 0.026252 = USD 0.26252
An app with no public reviews in the chosen country still gets an empty report, and that report is charged. If the app cannot be found, the run fails before the report and only the start event applies.
When should I use it, and when not?
Use it when you want a quick, repeatable read on how iOS users feel about an app: tracking your own app after a release, comparing a competitor's complaints by country, or feeding a sample of App Store reviews into a dashboard or an AI summary.
Use something else when:
- You need Android reviews: Google Play Reviews Scraper.
- You need app metadata, search results or screenshots rather than reviews: iPad App Store Scraper.
- You need every review an app has ever received. Apple's public feed stops at 500 per app, country and sort order; for your own app, Apple's App Store Connect gives developers the full history.
FAQ
How many reviews will I get for a popular app?
Up to 500 per app and country for each sort order, because Apple's public review feed stops at 10 pages of 50. Set maxReviews to the number you need; the default is 50.
Can I collect reviews from several countries?
Yes, one country per run. Run the same app ID with different country codes and combine the datasets.
How is sentiment calculated?
Each review's title and body are scored against short lists of positive and negative words. It is fast and explainable, but it can misread sarcasm or mixed reviews.
Do I need an Apple developer account or API key?
No. The Actor reads Apple's public review feed, public App Store pages and Apple's public lookup and search endpoints without logging in.
Can I find an app by name instead of ID?
Yes. Set appName; the Actor uses the first app Apple returns for that name in your chosen country. Use appIdOrUrl when the name is ambiguous.
Can I export the reviews to CSV or Excel?
Yes. Apify exports any dataset to CSV, JSON, Excel or XML, and the report is a JSON record you can download or read through the API.
Why is the review version empty?
It is filled for reviews from Apple's review feed. It is empty only when the feed has no reviews and the Actor falls back to the App Store review page, which does not show a version per review.
Related Actors
- Google Play Reviews Scraper: Android app reviews, ratings, versions and developer replies
- iPad App Store Scraper: iPad app search, prices, ratings, versions and screenshots
Legal and compliance
The Actor reads public App Store data without logging in or bypassing any access control, and it never fabricates reviews. Review text and reviewer display names can be personal data: use them for lawful product research, follow Apple's terms and applicable privacy law, and do not republish review text without the necessary rights. This tool is not affiliated with Apple.
Last verified: 2026-10-27