App Store Reviews Scraper avatar

App Store Reviews Scraper

Pricing

from $0.05 / 1,000 reviews

Go to Apify Store
App Store Reviews Scraper

App Store Reviews Scraper

Reviews of any app on the App Store with the star rating, title, text and the developer's reply. Choose the country storefronts to read: Apple keeps separate reviews in each, and every row says which one it came from.

Pricing

from $0.05 / 1,000 reviews

Rating

0.0

(0)

Developer

deriverge s.r.o.

deriverge s.r.o.

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

13 days ago

Last modified

Share

App Store Reviews Scraper returns one row per review of an app on the App Store: the star rating, title, text, the reviewer's nickname, the date and the developer's reply with its date. Paste an App Store link or the numeric app ID, list the storefronts you want and click Start. Apple keeps separate reviews in each country's storefront, and every row says which one it came from. Apple does not publish the app version or helpful votes with these reviews. It costs $0.10 per 1,000 reviews on the Free plan ($0.05 on Business), and the $5 of monthly credit in Apify's Free plan covers about 50,000 reviews.

What data does it return?

FieldDescription
ratingStars the reviewer gave, a whole number from 1 to 5.
title, textTitle and body of the review as the reviewer wrote them.
authorNickname the reviewer chose. The App Store shows no profile behind it, and the actor collects none.
createdAtDate of the latest version of the review, ISO 8601 UTC. When a reviewer edits a review, this date moves with the edit.
developerReplyThe developer's public answer as text and repliedAt, or null when there is none.
countryStorefront the review was written in, for example us.
appId, appNameNumeric App Store ID and the app's name, for example 324684580 and Spotify: Music and Podcasts.
reviewId, keyApple's ID of the review and the row key app-store:<appId>:<country>:<reviewId>, which the new-only mode uses to recognize reviews it has already returned.
urlLink to the app's reviews in that storefront.
version, helpfulVotesEmpty in normal runs. Rows from the RSS fallback described under Limits have both.
criteriaAlways empty on the App Store; the Google Play version of this row uses it for feature ratings.

With Add a row with the app details on, the run also returns one row per app, with type set to app: developer, category, price, average rating, number of ratings, current version, content rating and release dates. The actor reads these details in the first storefront of your list.

How to scrape App Store reviews

  1. In Apps, add App Store links such as https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580 or numeric IDs such as 324684580, one per line. Google Play entries are skipped and listed in the run summary.
  2. In Storefronts, add two-letter country codes such as us, gb or de. Leave the field empty to read the US storefront only.
  3. Set Maximum reviews per app, 500 by default.
  4. To keep only some reviews, set Maximum rating to 2 for complaints, a date in Reviewed on or after, or Developer reply for answered or unanswered reviews.
  5. Click Start. The reviews fill the Output tab, where you can export them as CSV, Excel or JSON; the same dataset is available through the API.

For the API, an input for three storefronts that keeps one- and two-star reviews looks like this:

{
"apps": ["https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"],
"countries": ["us", "gb", "de"],
"sort": "mostRecent",
"maxReviewsPerApp": 200,
"maxRating": 2
}

Example output

One review from a run on 27 September 2026. The nickname in author is replaced with a placeholder; real rows carry the nickname shown on the App Store.

{
"key": "app-store:324684580:us:14593279853",
"type": "review",
"source": "app-store",
"appId": "324684580",
"appName": "Spotify: Music and Podcasts",
"country": "us",
"reviewId": "14593279853",
"rating": 2,
"title": "Sound issues",
"text": "I’m paying for this app so I can listen to music, but now I can’t enjoy it because whenever I connect my phone to my car, the audio sounds terrible. At first, I thought it was my car speakers, but I tried it in another car and it still sounded just as bad. I also tried another music app, and the sound was perfectly fine, so the problem seems to be with Spotify. Please fix this issue. I’m not sure if I’m the only one experiencing it, but it’s very frustrating.",
"author": "An App Store user",
"version": null,
"createdAt": "2026-09-25T22:10:00.000Z",
"helpfulVotes": null,
"developerReply": {
"text": "Hi, we understand your frustration about this experience. We'd recommend disabling sharing contacts, messages, and hands free calling:\n\n 1. Unpair the phone and the media player\n 2. Re-pair both devices and decline non-essential permissions:\n 1. Contact sharing\n 2. Message access, etc.\n\nDisabling these features could reduce Bluetooth bandwidth conflicts that cause audio issues, such as skipping. If that doesn't resolve it, you can reach out to our Customer Service at support.spotify.com; just search \"Contact Us\".",
"repliedAt": "2026-09-27T10:05:18.000Z"
},
"criteria": [],
"url": "https://apps.apple.com/us/app/id324684580?see-all=reviews"
}

How much does it cost to scrape App Store reviews?

Free planStarterScaleBusiness
1,000 reviews$0.10$0.08$0.065$0.05
1,000 app detail rows$2.00$1.60$1.30$1.00

There is no start fee, and compute time and proxies are part of these prices.

Reading 10,000 reviews costs $1.00 on the Free plan and $0.50 on Business. Reviews dropped by the rating, date or reply filters are not charged, and neither are reviews that the new-only mode skips.

Limits

  • Apple's review API hands out 20 reviews per request. In September 2026 one run read 1,500 reviews each of two apps from the US storefront in under 4 minutes.
  • The cap in Maximum reviews per app counts across storefronts in the order you list them. When the first storefront fills it, the ones after it are not read.
  • If the review API does not answer for a storefront, the actor switches to Apple's older RSS review feed. That feed stops at 500 reviews per storefront and sort order and carries no developer replies.
  • When Apple limits the requests, the actor waits and slows down. If Apple keeps limiting them or refuses access, it stops asking Apple, returns the reviews it has and says so in the log and the status message.
  • An app that is not sold in a storefront returns no reviews there. The run summary notes it, and nothing is charged.
  • When a reviewer edits a review after the developer answered it, repliedAt is older than createdAt.
  • A run ends at 5,000 rows unless you raise Maximum rows.

Getting only new reviews

Turn on Return only reviews new since the last run, give the run a Watch name such as our-apps and schedule it daily; a saved task keeps its own memory even without a name. Each run returns the reviews it has not returned before, plus older reviews that received a developer reply since the previous run. The CHANGES record in the run's key-value store lists both groups. When a run stops at Maximum rows or at its spending limit, the review it could not return is delivered by the next run.

FAQ

App Store reviews are public: anyone can read them on an app's page without an Apple account. The actor keeps the nickname shown with each review and collects no profile links, user IDs or contact details. You are responsible for how you use the reviews, for example when you quote them.

Where do I find the app ID?

It is the number after id in the App Store link, so https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580 belongs to the app 324684580.

Which sort order should I choose?

Choose Most recent for a daily check: it puts the newest reviews first. The Most helpful order follows what the App Store itself shows first on the app's page.

Can I get Google Play reviews in the same run?

This actor skips Google Play links and lists them in the run summary. Our Google Play Reviews Scraper returns rows with the same fields, so the two datasets can be stacked in one table.

Support

This actor is built and maintained by deriverge s.r.o., a software company based in the Czech Republic. If a run fails or a field you need is missing, please open an issue in the Issues tab or write to us at info@deriverge.com. We respond in English and Czech. Runs can be scheduled in Apify Console or started from the API tab, which has examples for Python, JavaScript and cURL and works with Make, Zapier, n8n and the Apify MCP server. If the actor saves you time, a short review helps other people find it.