App Store Scraper — Reviews, Ratings & App Details avatar

App Store Scraper — Reviews, Ratings & App Details

Pricing

from $1.20 / 1,000 reviews

Go to Apify Store
App Store Scraper — Reviews, Ratings & App Details

App Store Scraper — Reviews, Ratings & App Details

Scrape Apple App Store reviews (full history, developer responses, any country), app details with rating histogram and version history, and keyword search results.

Pricing

from $1.20 / 1,000 reviews

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Scrape Apple App Store reviews for any iPhone, iPad or Mac app, in any of the 175 App Store countries, without the 500-review limit of Apple's RSS feed. Every review comes with its rating, title, text, date, the reviewer's nickname, the developer's response (when there is one) and, for the newest 500 per country, the app version and helpful votes.

The same actor also collects app details (price, rating, rating histogram, version history, size, genres, in-app purchases, privacy labels, description, chart rank) and App Store search results for any keyword. No login, no API key, no browser.

What can this App Store scraper do?

  • Reviews, full history: newest first or most helpful first, 20 per request, as deep as the app's review history goes (tested to review number 200,000 of WhatsApp in the US store).
  • Developer responses: the reply text, its date and ID, next to the review.
  • App version and votes: appVersion, helpfulVotes and totalVotes for the first 500 reviews per country (Apple publishes these only for that window).
  • Many countries in one run: list country codes, or enter all to cover all 175 storefronts. Each country has its own reviews.
  • Only new reviews: set Only reviews newer than and the run stops at the first older review, so daily monitoring costs a few cents.
  • App details: one row per app and country, with the 1-5 star histogram, the last 25 versions with release notes, size in bytes, age rating, in-app purchase prices, privacy labels, similar apps and more.
  • Keyword search: up to 200 apps per keyword and country, in App Store order, for iPhone, iPad or Mac.

How to scrape App Store reviews

  1. Paste App Store links, numeric app IDs (310633997) or bundle IDs (net.whatsapp.WhatsApp) into Apps.
  2. Choose the Countries (for example us, gb, de) or enter all.
  3. Pick Review order (Most recent or Most helpful) and set Max items to cap the cost.
  4. Click Start. Download the reviews as JSON, CSV or Excel from the Dataset tab, or read them through the API.

Input example: reviews

{
"mode": "reviews",
"apps": ["https://apps.apple.com/us/app/whatsapp-messenger/id310633997", "1438388363"],
"countries": ["us", "gb", "de"],
"sort": "mostRecent",
"maxReviewsPerCountry": 1000,
"maxItems": 6000
}

Output example: review

{
"type": "review",
"appId": "310633997",
"appName": "WhatsApp Messenger",
"country": "us",
"reviewId": "14629143037",
"rating": 5,
"title": "Call",
"text": "Good",
"date": "2026-10-05T03:16:05Z",
"isEdited": false,
"userName": "Maxwell 35",
"reviewerUrl": "https://itunes.apple.com/us/reviews/id1184979948",
"appVersion": "26.38.74",
"helpfulVotes": 0,
"totalVotes": 0,
"developerResponse": null,
"developerResponseDate": null,
"developerResponseId": null,
"appUrl": "https://apps.apple.com/us/app/id310633997"
}

Review fields

FieldDescription
appId, appName, countryApp Store ID, app name and the two-letter country of the storefront the review was written in
reviewIdApple's review ID (unique, stable)
ratingStars, 1-5
title, textReview headline and body
dateWhen the review was posted or last edited (UTC, ISO 8601)
isEditedtrue if the reviewer edited the review
userNameThe nickname the reviewer shows on the App Store
reviewerUrlApple's public link to the reviewer's reviews (first 500 per country)
appVersionApp version the review was written for (first 500 per country)
helpfulVotes, totalVotes"Helpful" votes and total votes (first 500 per country)
developerResponse, developerResponseDate, developerResponseIdThe developer's public reply, when it exists
appUrlApp Store page of the app in that country

How to get App Store app details

Set Mode to details. You get one row per app and country.

{ "mode": "details", "apps": ["310633997", "425073498"], "countries": ["us", "jp"] }
FieldDescription
name, subtitle, url, bundleIdApp identity
developer, developerId, developerUrl, seller, sellerUrlWho publishes the app
price, currency, priceFormatted, isFreePrice in that country's currency
hasInAppPurchases, inAppPurchasesTop in-app purchases with name, price, subscription period
rating, ratingCount, ratingHistogramAverage stars, number of ratings, and ratings per star ({"1": ..., "5": ...})
ratingForCurrentVersion, ratingCountForCurrentVersionSame for the current version
primaryGenre, genres, contentRating, contentAdvisoriesCategory and age rating
chartPosition, chartName, chartGenreCurrent top-chart rank, when the app is charting
version, currentVersionReleaseDate, releaseNotes, versionHistoryCurrent version and the last 25 versions with dates and notes
releaseDate, sizeBytes, minimumOsVersion, requirements, deviceFamilies, languagesTechnical data
description, editorialNoteStore description and Apple's editorial note
privacyLabelsApp privacy labels (data linked to you, not linked, tracking)
websiteUrl, supportUrl, privacyPolicyUrl, copyrightLinks from the store page
iconUrl, screenshotsImage URLs
similarAppIds"You might also like" app IDs

Output excerpt:

{
"type": "app",
"appId": "310633997",
"country": "us",
"name": "WhatsApp Messenger",
"developer": "WhatsApp Inc.",
"price": 0.0,
"currency": "USD",
"rating": 4.7,
"ratingCount": 18723283,
"ratingHistogram": { "1": 643496, "2": 254151, "3": 566911, "4": 1454223, "5": 15804502 },
"primaryGenre": "Social Networking",
"contentRating": "12+",
"chartPosition": 2,
"version": "26.39.74",
"versionHistory": [
{ "version": "26.39.74", "releaseDate": "2026-10-06T09:33:53Z", "releaseNotes": "We update the app regularly..." }
],
"releaseDate": "2009-05-04",
"sizeBytes": 391110656,
"inAppPurchases": [
{ "name": "No ads (1 account)", "price": 4.0, "priceFormatted": "$4.00", "isSubscription": true, "subscriptionPeriod": "P1M" }
]
}

How to scrape App Store search results

Set Mode to search and add keywords. Each keyword returns up to 200 apps per country, ranked as in the App Store, with searchTerm, position, appId, name, developer, price, rating, ratingCount, genres, version, releaseDate, sizeBytes, description, iconUrl, screenshots and url. Feed the IDs back into details mode when you need histograms and version history.

{ "mode": "search", "searchTerms": ["habit tracker"], "countries": ["us", "gb"], "searchPlatform": "iphone", "maxItems": 400 }

Monitor changes on a schedule

Turn on Only new or changed items and save the input as a task with a Schedule (Apify Console: Saved tasks -> Schedule, for example daily). Each run remembers what earlier runs of the same input returned and outputs only what is new: reviews not seen before in reviews mode (read newest first, one page at a time, stopping where the previous run's reviews begin), apps whose price, version or star rating changed in details mode, and apps that are new in the results or changed price or version in search mode. Unchanged items are skipped before they are saved, so they are not charged. Only reviews newer than also takes a period such as 2 days (counted back from each run), which bounds how far back the first run reads. Monitored items carry changeType (new or changed) and, for changed apps, previousValues with the old values of the fields that changed (e.g. {"version": "2.24"}); use Monitoring key to keep several schedules on the same input apart.

How many App Store reviews can I get per app?

All the written reviews Apple keeps for the app in each country. Apple's RSS feed, which most review scrapers use, stops at 500 reviews per country; this actor reads the same review service the App Store website uses, 20 reviews per request, with no fixed limit. Note that most ratings are stars without text: an app with 18 million ratings has far fewer written reviews. For more reviews, add more countries.

Two details apply only to the first 500 reviews per country, because Apple publishes them only in the RSS feed: appVersion and the vote counts. Older reviews keep those fields empty. Turn off Add app version and helpful votes to skip the extra requests.

Can I get the developer's replies to reviews?

Yes. developerResponse holds the reply text, with developerResponseDate and developerResponseId. Reviews without a reply have null.

Does it work without login or an API key?

Yes. It reads public App Store data that anyone can see without an Apple ID. The default Apify datacenter proxy is enough; the actor spreads requests across IPs because Apple limits requests per IP.

How much does it cost to scrape App Store reviews?

You pay per result: $1.20 per 1,000 reviews, $3.00 per 1,000 app detail rows, $1.00 per 1,000 search results, plus Apify platform usage, which was under $0.01 per 1,000 reviews in our tests (3,000 reviews: $0.018). There is no start fee. Max items caps every run, and Only reviews newer than lets you pay only for new reviews when you monitor an app.

Integrations and API

Run it from Zapier, Make, n8n or Google Sheets, or call it from Python or Node with the Apify client. Schedule it daily with Only reviews newer than to track new reviews and developer replies. See the API tab for ready-made snippets.

This actor collects only data that the App Store shows publicly to every visitor without an account: app pages, search results, and reviews with the nickname each reviewer chose to publish. It does not log in and does not collect anything private. You are responsible for how you use the data, including data-protection law (for example GDPR) when you process reviewer nicknames, and for respecting Apple's terms.

Support

Found a bug or need a field? Open an issue in the Issues tab; it is usually answered within a day.