App Store Reviews Scraper: Developer Replies, No 500 Limit avatar

App Store Reviews Scraper: Developer Replies, No 500 Limit

Pricing

from $0.07 / 1,000 reviews

Go to Apify Store
App Store Reviews Scraper: Developer Replies, No 500 Limit

App Store Reviews Scraper: Developer Replies, No 500 Limit

Get Apple App Store reviews with star ratings, titles, text, app versions, helpful votes and developer replies, well past Apple's 500-review limit, for any country, plus app ratings.

Pricing

from $0.07 / 1,000 reviews

Rating

0.0

(0)

Developer

Stratum ICS

Stratum ICS

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

App Store Reviews Scraper collects Apple App Store reviews for any iPhone, iPad or Mac app in any country: star rating, title, full text, date, app version, helpful votes, the edited flag and the developer's reply. It reads well past Apple's 500-review feed limit and adds an app details record with the average rating, the number of ratings and the star histogram, so it works as an App Store reviews API without an Apple developer account.

It reads public reviews only and never logs in.

What does App Store Reviews Scraper do?

Give it App Store links (https://apps.apple.com/us/app/instagram/id389801252) or numeric app ids (389801252) and it returns one clean record per review:

  • Reviews: star rating, title, full text with line breaks, exact date in UTC, the reviewer's public nickname and whether the review was edited.
  • Developer replies: the reply text and its date, when the developer answered.
  • App version and helpful votes: the version the reviewer used and how many people found the review helpful.
  • Every country: each App Store country has its own reviews; pick as many countries as you like and each app is read once per country.
  • Sorting and filters: newest first, most relevant first or highest rating first, only some star ratings (for example 1 and 2 stars for complaints), and a date cut-off.
  • App details: one record per app and country with the name, developer, average rating, number of ratings, star histogram, price, category, current version, last update, release date and download size.

Why use this App Store reviews scraper?

  • No 500-review ceiling. Apple's public review feed stops at 500 reviews per country, and many scrapers stop with it. This one reads from Apple's full review history: in testing, Apple still served Instagram reviews past number 100,000 in the US store.
  • Developer replies included. See how a competitor answers complaints, or audit your own support team's answers.
  • Fast. About 200 reviews per request. 3,000 reviews of one app took 16 seconds on Apify, and 1,200 reviews each from two apps took 19 seconds.
  • Checked against Apple's other sources. In testing, 1,200 of 1,200 reviews had the same rating, date, title, text, nickname and edited flag in this scraper's main source and in the App Store web app's own API.
  • Monitoring mode. Turn on "Only new reviews" and schedule the run. Each run returns only reviews you have not received yet, remembered per app and country, so you do not pay twice for the same review (an edited review comes back once, with its new text).
  • Date ranges that stop early. With "Only reviews newer than" and newest-first sorting, reading stops at the first older review, so you only pay for what is in range.
  • You pay for results only. Reviews you filter out, apps that are not sold in a country and errors are never charged.
  • Keeps going when Apple is busy. If Apple's main review endpoint refuses requests, the scraper switches to the App Store web API and then to Apple's review feed, and tells you in the log and run summary.

On top of that you get the Apify platform: scheduled runs, an API, webhooks, run history, and exports to JSON, CSV, Excel and more.

What data can you extract from the App Store?

FieldWhat it holdsExample
appId, appNameThe app the review belongs to389801252, Instagram
countryApp Store country of the reviewus
reviewIdApple's id of the review14674817989
ratingStars from 1 to 51
title, textReview headline and full textUnable to select location
datePosted or last edited, ISO 8601 in UTC2026-10-16T20:30:22.000Z
versionApp version the reviewer used451.0.0
thumbsUpHelpful votes12
isEditedThe reviewer edited the reviewfalse
developerReplyReply text and date, or null{ "text": "Hi, ...", "date": "..." }
histogram (app records)Number of 1 to 5 star ratings{ "1": 26316, ..., "5": 1784057 }
ratingsCount, rating (app records)Number of ratings and the average1926784, 4.87

Every record has a type field: review or app. App records also carry price, currency, category, current version, update and release dates, size in bytes, age rating, bundle id and icon. The full list of fields, with descriptions, is on the Dataset tab of the output.

How to scrape App Store reviews

  1. Open App Store Reviews Scraper in Apify Console and click Try for free.
  2. In Apps, paste App Store links or numeric app ids, one per line.
  3. Optionally enter Countries (us, gb, de, jp, ...). Leave it empty to use the country in each link.
  4. Set Max reviews per app and country. The default is 200. Set 0 to collect only the app details records.
  5. Optionally pick a sort order, star ratings, a date cut-off, or turn on monitoring.
  6. Click Start. When the run finishes, download the data as JSON, CSV or Excel, or read it through the API.

How much does it cost to scrape App Store reviews?

The scraper uses pay-per-event pricing, so you pay for what you get and nothing else:

EventPrice
Review saved$0.10 per 1,000 ($0.0001 each)
App details record saved$0.002 each

Each run also has a start fee of $0.0005, and larger Apify plans pay less per review automatically: $0.09 per 1,000 on Starter, $0.08 on Scale and $0.07 on Business. The Pricing tab always shows the current prices.

Worked examples:

  • 1,000 reviews of one app in one country, with its app details record, cost 1,000 × $0.0001 + $0.002 = about $0.10.
  • The 5,000 newest reviews of 3 competitor apps in the US and the UK (30,000 reviews, 6 app records) cost about $3.01.
  • A daily monitor of 5 apps in 2 countries that finds 40 new reviews a day costs about $0.004 a day without app records, or about $0.14 a month with the run start fees.

Set Maximum cost per run in the run options to cap your spend. The scraper stops cleanly at that amount and keeps everything collected so far; in monitoring mode, the next run picks up the reviews that were left.

Input

See the Input tab for every option. A typical input:

{
"apps": ["https://apps.apple.com/us/app/instagram/id389801252", "368677368"],
"countries": ["us", "gb"],
"maxReviewsPerApp": 500,
"sort": "newest",
"stars": ["1", "2"],
"newerThan": "30 days",
"includeAppDetails": true
}
  • Countries: two-letter codes. uk is read as gb. Each country is read separately, and the limit applies to each app in each country.
  • Sort by: newest, mostRelevant (Apple's helpfulness order) or rating (highest rating first).
  • Only reviews newer than: a date (2026-10-01), an ISO date-time in UTC, or a relative value such as 30 days or 12 hours.
  • Monitoring: turn on Only new reviews and give each schedule its own Monitor name. The memory is a key-value store in your account named app-store-reviews-monitor-<name>.

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Two reviews and an app record from real runs (reviewer names replaced, long texts shortened):

[
{
"type": "review",
"platform": "appStore",
"appId": "368677368",
"appName": "Uber: Rides, eats, and more",
"country": "gb",
"language": null,
"reviewId": "2647840635",
"userName": "reviewer-one",
"rating": 1,
"title": "The cleaning fee charge - Proof tab",
"text": "Uber need to put in place a better system to prove when someone is causing damage during a journey. I had a bitter experience when I realised that I was charged £80 for someone’s misbehaviour resulting in paying the cleaning fee. ...",
"version": "3.302.10003",
"date": "2018-06-06T01:21:23.000Z",
"isEdited": false,
"thumbsUp": 12,
"developerReply": {
"text": "Hi, this certainly sounds like a frustrating experience. We understand how difficult this may have been for you. Let's make sure we follow up with you regarding this issue. ...",
"date": "2018-06-07T09:47:18.000Z"
},
"url": "https://apps.apple.com/gb/app/id368677368?see-all=reviews",
"scrapedAt": "2026-10-18T02:10:30.757Z"
},
{
"type": "review",
"platform": "appStore",
"appId": "389801252",
"appName": "Instagram",
"country": "us",
"language": null,
"reviewId": "14674817989",
"userName": "reviewer-two",
"rating": 5,
"title": "Number one ☝️",
"text": "The best love insta 🤟😘",
"version": "451.0.0",
"date": "2026-10-16T20:30:22.000Z",
"isEdited": false,
"thumbsUp": 0,
"developerReply": null,
"url": "https://apps.apple.com/us/app/id389801252?see-all=reviews",
"scrapedAt": "2026-10-18T02:00:06.487Z"
},
{
"type": "app",
"platform": "appStore",
"appId": "368677368",
"appName": "Uber: Rides, eats, and more",
"country": "gb",
"developer": "Uber Technologies, Inc.",
"developerId": "368677371",
"rating": 4.86691,
"ratingsCount": 1926784,
"histogram": { "1": 26316, "2": 7097, "3": 20572, "4": 88742, "5": 1784057 },
"price": 0,
"currency": "GBP",
"priceText": "Free",
"genre": "Travel",
"version": "3.743.10001",
"updated": "2026-10-12T15:13:28.000Z",
"released": "2010-05-21T03:11:23.000Z",
"size": 426281984,
"contentRating": "4+",
"url": "https://apps.apple.com/gb/app/uber-rides-eats-and-more/id368677368",
"scrapedAt": "2026-10-18T02:00:01.242Z"
}
]

Each run also saves a SUMMARY record in its key-value store with the status, review count, pages read, the reason reading stopped, and any problem for every app and country.

Tips for scraping App Store reviews

  • Want complaints only? Pick 1 and 2 stars. You pay only for the reviews that match.
  • Following a launch? Sort by newest with "Only reviews newer than" set to the launch date.
  • Comparing markets? Add several countries. Big markets such as the US, the UK, Germany and Japan have their own, very different reviews.
  • Reviews of the current version: the version field is filled for the newest 500 and the most helpful 500 reviews per country, which is as far as Apple publishes it.
  • Only need ratings? Set the review limit to 0 and keep app details on: one record per app and country with the star histogram.

Integrations and API

  • API: start runs and read results over HTTP from any language. See the API tab for ready-made requests.
  • JavaScript:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('stratumics/app-store-reviews-scraper').call({
apps: ['389801252'],
countries: ['us'],
maxReviewsPerApp: 1000,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((item) => item.type === 'review' && item.rating <= 2).length);
  • Python:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("stratumics/app-store-reviews-scraper").call(
run_input={"apps": ["389801252"], "countries": ["us", "gb"], "maxReviewsPerApp": 500, "stars": ["1", "2"]}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item["type"] == "review":
print(item["country"], item["rating"], item["date"], (item["title"] or "")[:60])
  • No-code tools: connect runs to Zapier, Make, n8n, Google Sheets, Slack or your own webhook from the Integrations tab, for example to post every new 1-star review of your app into a team channel.
  • AI agents: add the Actor to any agent or chat app that supports the Model Context Protocol through the Apify MCP server at https://mcp.apify.com?tools=stratumics/app-store-reviews-scraper, then ask in plain words, such as "get last month's 1-star reviews of this app in the UK and group them by topic".

FAQ

How many reviews can I get for one app?

As many as Apple shows in that country. Apple's public feed stops at 500, but this scraper reads further back through the full history: tens of thousands of reviews for popular apps (in testing, Apple still served Instagram reviews past number 100,000 in the US). Set the limit as high as you need, up to 100,000 per app and country.

Why are app version or helpful votes empty on some reviews?

Apple publishes the app version only for the newest 500 and the most helpful 500 reviews per country, so older reviews and the "highest rating" sort have no version. Helpful votes are filled for every review unless Apple's main review endpoint is unavailable and the scraper falls back to the App Store web API, which does not publish them for older reviews.

Do I get developer replies for every country?

Yes for 115 countries, including all large markets, through Apple's main review endpoint. For the remaining smaller App Store countries the scraper reads the App Store web API first, which also has replies. If both are busy, it falls back to Apple's review feed, which has no replies; the log and the run summary say so.

Why does a review's date come after the developer's reply?

The date is when the review was posted or last edited. If the reviewer edited it after the developer replied, the review shows the newer date and isEdited is true.

Does it work for Mac and iPad apps?

Yes. Use the app's App Store link or id; Mac apps work the same way as iPhone and iPad apps (tested with Final Cut Pro).

Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

The only personal data in the output is the public nickname each reviewer chose to show with the review; no profile links or other details are collected. App Store is a trademark of Apple Inc., and this tool is not affiliated with or endorsed by Apple.

Something looks wrong. Where do I report it?

Open an issue on the Issues tab with the run link and the app. Most problems can be reproduced and fixed quickly.

Other tools from this developer

Other tools from Stratum ICS

  • Google Maps Scraper: Get the businesses on Google Maps for any search and area: name, address, phone, website, rating, review count, opening hours, plus emails and social profiles.
  • Google News Scraper: Get Google News articles with real publisher URLs (not Google redirects), source, date, image, author and optional full text.
  • Google Play Reviews Scraper: Get Google Play reviews with star ratings, text, app versions, thumbs-up counts, developer replies and feature ratings in any language, plus app details with installs and star histogram.
  • Google Trends Scraper: Get Google Trends data as JSON, CSV or Excel: interest over time, interest by region and city, related queries, and trending searches by country.
  • LinkedIn Jobs Scraper: Scrape LinkedIn jobs with full descriptions, salary ranges, seniority, job type and applicant counts.
  • Telegram Channel Scraper: Get messages from public Telegram channels with views, dates, media, reactions, polls and forwards, plus channel info with exact subscriber counts.
  • Website Contact Scraper: Turn a list of websites into one row per company with verified emails, formatted phone numbers, social profiles (LinkedIn, Facebook, Instagram, X), address and contact page.
  • YouTube Scraper: Get YouTube videos from searches, channels, playlists and links with exact views, likes, comment counts, dates and tags, plus channel profiles and comments.