App Store Reviews Scraper – iOS Ratings, Reviews, Multi-Country
Pricing
$0.50 / 1,000 review delivereds
App Store Reviews Scraper – iOS Ratings, Reviews, Multi-Country
App Store Reviews Scraper for any iPhone or iPad app: star rating, title, full text, app version, date and helpful votes, plus the app's overall rating on every row. Scrape many countries in one run to go past Apple's 500-per-country cap. No API key or login. For ASO and sentiment work.
Pricing
$0.50 / 1,000 review delivereds
Rating
0.0
(0)
Developer
Ani Björkström
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
App Store Reviews Scraper collects the public customer reviews of any iPhone or iPad app from the Apple App Store and returns them as clean, flat rows: star rating, review title, full text, app version, date and helpful votes. Paste an App Store URL or a numeric Apple app id like 310633997, pick one or many countries, and run it – no App Store Connect access, no API key, no login, no proxy.
- Multi-country in one run. Apple keeps a separate review feed per storefront and caps each at 500 reviews. List
us,gb,de,fr,jp… and the App Store Reviews Scraper collects up to 500 from each, so one app can yield thousands of iOS reviews. - App details on every row. App name, developer, overall rating, total ratings count, genre, current version, price and bundle id for that storefront are merged into each review – no second lookup needed.
- Native sorting, star filters, pay only for delivered reviews. Most recent or Most helpful order comes straight from Apple; star and text filters keep only what you need, and you are never charged for filtered-out reviews or error rows.
What you get
Every App Store review is one flat JSON row (ready for CSV, Excel, Google Sheets, BigQuery or an AI agent):
| Field | Description |
|---|---|
appId | Numeric Apple app id, e.g. 310633997 |
appName | App title in that storefront |
appDeveloper | Seller / developer name |
appRating, appRatingsCount | Overall App Store rating in that country and number of ratings |
appGenre | Primary category, e.g. Social Networking |
appCurrentVersion, appPrice, appBundleId | Current version on sale, price, iOS bundle id |
country | Storefront the review comes from (us, gb, de…) |
reviewId | Stable App Store review ID |
userName, userUrl | Reviewer nickname and their public reviews page |
rating | 1–5 stars |
title | Review headline |
text | Full review text |
appVersion | App version the review was written for |
date | Review date, ISO 8601 UTC |
helpfulVotes, totalVotes | Apple's helpful score and total votes cast on the review |
url | The app's reviews page in that storefront |
scrapedAt | When this run collected the row |
error | Only on problem rows: why an app/country returned nothing |
Input
A run with no input at all scrapes the 200 most recent US reviews of WhatsApp, so scheduled and test runs never come back empty.
Most recent reviews of one app, US store
{"appIds": ["https://apps.apple.com/us/app/whatsapp-messenger/id310633997"],"maxReviewsPerApp": 500}
Several apps across four countries (up to 2,000 reviews per app)
{"appIds": ["324684580", "570060128", "id479516143"],"countries": ["us", "gb", "de", "fr"],"maxReviewsPerApp": 500}
Only negative reviews with text, most helpful first
{"appIds": ["310633997"],"countries": ["us", "gb", "ca", "au"],"sortBy": "mostHelpful","minRating": 1,"maxRating": 2,"onlyWithText": true}
| Option | Default | What it does |
|---|---|---|
appIds | ["310633997"] | App Store URLs or numeric app ids (310633997 or id310633997), one per line |
countries | ["us"] | Two-letter storefront codes. Each country is a separate feed of up to 500 reviews. A country inside a pasted URL wins for that app |
maxReviewsPerApp | 200 | Cap per app per country, up to 500 (Apple's limit) |
sortBy | mostRecent | mostRecent or mostHelpful, applied by Apple |
minRating, maxRating | 1, 5 | Star range to keep |
onlyWithText | false | Skip reviews with an empty body |
concurrency | 4 | App/country feeds fetched in parallel (1–10) |
proxyConfiguration | off | Not needed at normal volumes |
About the 500-review limit. Apple's public review feed returns 50 reviews per page and stops after 10 pages, so any App Store reviews scraper that uses it gets at most 500 reviews per app per country (about 450 when sorting by most helpful). To collect more, add countries: ["us","gb","ca","au","in"] gives up to 2,500 English-language reviews of one app. When a star or text filter is on, the actor reads the whole 500-review feed and then keeps the matching reviews, up to your cap.
Output example
{"appId": "310633997","appName": "WhatsApp Messenger","appDeveloper": "WhatsApp Inc.","appRating": 4.68,"appRatingsCount": 18687721,"appGenre": "Social Networking","appCurrentVersion": "26.38.74","appPrice": 0.0,"appBundleId": "net.whatsapp.WhatsApp","country": "us","reviewId": "14603402613","userName": "Stve82v","userUrl": "https://itunes.apple.com/us/reviews/id1956982373","rating": 5,"title": "WhatsApp","text": "I need to update my chat","appVersion": "26.37.76","date": "2026-09-28T13:34:56+00:00","helpfulVotes": 0,"totalVotes": 0,"url": "https://apps.apple.com/us/app/id310633997?see-all=reviews","scrapedAt": "2026-09-30T18:22:16+00:00"}
If an app cannot be scraped in a country – a wrong id, an app not sold there, a Google Play package pasted by mistake, or filters that match nothing – you get one row with an error field that says exactly why. Those rows are never charged.
Use cases for an App Store Reviews Scraper
- Product managers and iOS teams – pull the most recent 1–2 star App Store reviews after every release and push them to Slack, Jira or Linear.
- ASO and app marketing agencies – mine iOS review titles and text for keywords and feature requests, and compare ratings of competitors country by country.
- Localisation and international growth teams – see how the same app is received in the US, UK, Germany, Japan and Brazil in one dataset.
- AI, RAG and sentiment-analysis builders – feed thousands of flat, labelled rows (stars + title + text + version + date) into GPT, Claude or a classifier; the schema is MCP- and agent-friendly.
- Market researchers and investors – benchmark App Store rating and review sentiment across a portfolio of iOS apps over time.
- Customer support leads – surface the most helpful negative reviews first, the ones other shoppers actually read.
Pricing
The App Store Reviews Scraper is pay per result: $0.50 per 1,000 reviews delivered to the dataset, with platform usage included. There is no start fee and no monthly rental. Error rows and reviews removed by your filters are never charged. A 200-review run costs $0.10.
Integrations
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("nourishing_courier/app-store-reviews-scraper").call(run_input={"appIds": ["310633997", "324684580"],"countries": ["us", "gb"],"maxReviewsPerApp": 500,})for review in client.dataset(run["defaultDatasetId"]).iterate_items():print(review.get("country"), review.get("rating"), review.get("title"))
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('nourishing_courier/app-store-reviews-scraper').call({appIds: ['https://apps.apple.com/us/app/duolingo-language-lessons/id570060128'],sortBy: 'mostHelpful',minRating: 1,maxRating: 2,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'App Store reviews');
curl (synchronous, returns the reviews directly)
curl -X POST "https://api.apify.com/v2/acts/nourishing_courier~app-store-reviews-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"appIds":["310633997"],"countries":["us","gb"],"maxReviewsPerApp":100}'
n8n, Make and Zapier – add the Apify node or module, choose this actor, paste one of the inputs above and map the rows into Google Sheets, Airtable, Notion or Slack. Schedule it daily with sortBy: "mostRecent" for iOS review monitoring. MCP / AI agents – expose the App Store Reviews Scraper via the Apify MCP server so an agent can call it as a tool ("get this week's negative App Store reviews of 310633997 in the UK"). Datasets export as JSON, CSV, Excel, XML and RSS.
Other app review scrapers by the same author
- Android: Google Play Reviews Scraper – Android reviews with developer replies, installs and native star filters.
- Both stores: App Store & Google Play Reviews Scraper – iOS and Android reviews in one unified schema, one run.
Limits, fair use and legality
This App Store Reviews Scraper reads Apple's public customer-review feed and the public iTunes Lookup API, one page at a time with bounded retries and backoff. It does not log in or access private data. Apple's feed is limited to 500 reviews per app per country and does not expose developer responses, so those are not in the output. Reviews are public user content; use them in line with Apple's terms and privacy law such as the GDPR, and do not try to re-identify reviewers. This actor is not affiliated with or endorsed by Apple.
FAQ
How do I scrape App Store reviews without an API key?
Paste an App Store URL or the numeric app id (the digits after id in the URL) into appIds and start the run. The App Store Reviews Scraper needs no App Store Connect account, API key or login.
How many App Store reviews can I get per app?
Up to 500 per country – Apple's own limit. List several countries to multiply that: ten storefronts give up to 5,000 reviews of one app.
How do I find an app's App Store id?
Open the app on apps.apple.com; the URL ends in id plus digits, e.g. .../whatsapp-messenger/id310633997. Paste the whole URL or just 310633997.
Can I get only 1-star or negative iOS reviews?
Yes. Set minRating: 1 and maxRating: 2. The actor reads the full feed for each country and keeps only matching reviews; filtered-out reviews are not charged.
Can I sort by most helpful?
Yes. sortBy: "mostHelpful" asks Apple for its most-helpful ordering; mostRecent (the default) gives the newest reviews first.
Does it include developer responses?
No. Apple's public review feed does not include developer responses, so no App Store scraper based on it can return them. Google Play replies are available in the Google Play Reviews Scraper.
Does it work with n8n, Make or Zapier?
Yes. Use the Apify integration in any of them to run the App Store Reviews Scraper, pass the JSON input and map the flat rows into your spreadsheet, CRM or database.
Can I export App Store reviews to CSV or Excel?
Yes. Every App Store Reviews Scraper dataset downloads as CSV, Excel, JSON or XML from the Output tab or via the API (format=csv).
Does it scrape Google Play too?
This actor is dedicated to the Apple App Store. For Android use the Google Play Reviews Scraper, or the combined actor for both stores in one run.
Why did I get an error row?
Usually a wrong id, an app not sold in that country, a Google Play package name pasted here, or filters that matched no review. The error text explains which, and error rows are free.