App Store Reviews Scraper – iOS Ratings, Reviews, Multi-Country avatar

App Store Reviews Scraper – iOS Ratings, Reviews, Multi-Country

Pricing

$0.50 / 1,000 review delivereds

Go to Apify Store
App Store Reviews Scraper – iOS Ratings, Reviews, Multi-Country

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

Ani Björkström

Maintained by Community

Actor 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):

FieldDescription
appIdNumeric Apple app id, e.g. 310633997
appNameApp title in that storefront
appDeveloperSeller / developer name
appRating, appRatingsCountOverall App Store rating in that country and number of ratings
appGenrePrimary category, e.g. Social Networking
appCurrentVersion, appPrice, appBundleIdCurrent version on sale, price, iOS bundle id
countryStorefront the review comes from (us, gb, de…)
reviewIdStable App Store review ID
userName, userUrlReviewer nickname and their public reviews page
rating1–5 stars
titleReview headline
textFull review text
appVersionApp version the review was written for
dateReview date, ISO 8601 UTC
helpfulVotes, totalVotesApple's helpful score and total votes cast on the review
urlThe app's reviews page in that storefront
scrapedAtWhen this run collected the row
errorOnly 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
}
OptionDefaultWhat 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
maxReviewsPerApp200Cap per app per country, up to 500 (Apple's limit)
sortBymostRecentmostRecent or mostHelpful, applied by Apple
minRating, maxRating1, 5Star range to keep
onlyWithTextfalseSkip reviews with an empty body
concurrency4App/country feeds fetched in parallel (1–10)
proxyConfigurationoffNot 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 ApifyClient
client = 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


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.