App Store Scraper — Reviews, Ratings & App Details
Pricing
from $1.20 / 1,000 reviews
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
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,helpfulVotesandtotalVotesfor the first 500 reviews per country (Apple publishes these only for that window). - Many countries in one run: list country codes, or enter
allto 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
- Paste App Store links, numeric app IDs (
310633997) or bundle IDs (net.whatsapp.WhatsApp) into Apps. - Choose the Countries (for example
us,gb,de) or enterall. - Pick Review order (Most recent or Most helpful) and set Max items to cap the cost.
- 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
| Field | Description |
|---|---|
appId, appName, country | App Store ID, app name and the two-letter country of the storefront the review was written in |
reviewId | Apple's review ID (unique, stable) |
rating | Stars, 1-5 |
title, text | Review headline and body |
date | When the review was posted or last edited (UTC, ISO 8601) |
isEdited | true if the reviewer edited the review |
userName | The nickname the reviewer shows on the App Store |
reviewerUrl | Apple's public link to the reviewer's reviews (first 500 per country) |
appVersion | App version the review was written for (first 500 per country) |
helpfulVotes, totalVotes | "Helpful" votes and total votes (first 500 per country) |
developerResponse, developerResponseDate, developerResponseId | The developer's public reply, when it exists |
appUrl | App 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"] }
| Field | Description |
|---|---|
name, subtitle, url, bundleId | App identity |
developer, developerId, developerUrl, seller, sellerUrl | Who publishes the app |
price, currency, priceFormatted, isFree | Price in that country's currency |
hasInAppPurchases, inAppPurchases | Top in-app purchases with name, price, subscription period |
rating, ratingCount, ratingHistogram | Average stars, number of ratings, and ratings per star ({"1": ..., "5": ...}) |
ratingForCurrentVersion, ratingCountForCurrentVersion | Same for the current version |
primaryGenre, genres, contentRating, contentAdvisories | Category and age rating |
chartPosition, chartName, chartGenre | Current top-chart rank, when the app is charting |
version, currentVersionReleaseDate, releaseNotes, versionHistory | Current version and the last 25 versions with dates and notes |
releaseDate, sizeBytes, minimumOsVersion, requirements, deviceFamilies, languages | Technical data |
description, editorialNote | Store description and Apple's editorial note |
privacyLabels | App privacy labels (data linked to you, not linked, tracking) |
websiteUrl, supportUrl, privacyPolicyUrl, copyright | Links from the store page |
iconUrl, screenshots | Image 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.
Is it legal to scrape the App Store?
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.