App Store Reviews Scraper - iOS App Reviews API
Pricing
from $0.53 / 1,000 reviews
App Store Reviews Scraper - iOS App Reviews API
Scrape public Apple App Store reviews by app ID or link: stars, title, text, date, app version and helpful votes. Sort by recent or helpful, any country. No reviewer names. JSON, CSV, Excel.
Pricing
from $0.53 / 1,000 reviews
Rating
0.0
(0)
Developer
Raffy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
What does App Store Reviews Scraper do?
App Store Reviews Scraper reads the public customer reviews of any iPhone, iPad or Mac app in the Apple App Store and delivers them as clean JSON, CSV or Excel: star rating, review title and text, date, app version and helpful votes. Give it an app ID such as 389801252 or an App Store link, pick how many reviews you want, and get one row per review in seconds. No Apple account, no API key, no browser.
Typical use cases:
- Review monitoring: schedule a daily run sorted by most recent and de-duplicate on
reviewIdto see only new reviews of your app or a competitor's. - Sentiment and topic analysis: export up to 500 reviews per app and country and feed them to your own text analysis.
- Release tracking:
versionties every review to the app version it was written for, so you can see whether a release made things better or worse.
It does not log in, solve challenges or collect reviewer names or profiles.
Result status (tri-state output)
status | Meaning | Billed? |
|---|---|---|
ok | A review was found and extracted. | Yes |
not_found | Apple has no such app, or the app has no written reviews in that country. If Apple's feed answers an empty first page, the Actor asks again up to 3 times (after 3, 8 and 15 seconds) before it writes the free not_found row. If the app has ratings but Apple's feed still returns no reviews, the row is a free error instead (see below). | No |
error | Apple's reviews feed could not be read after retries (network error, block, or format change). error says why. | No |
What data can App Store Reviews Scraper extract?
| Field | Description |
|---|---|
appId | Apple's numeric app ID (the number in the App Store link). |
name | The app's name. |
rating | Stars given by the reviewer, 1 to 5. |
title | The review headline. |
text | The review text. |
reviewDate | When the review was written or last edited (ISO 8601). |
version | App version the review was written for. |
helpfulVotes | Net helpful votes. totalVotes is the number of people who voted. |
reviewId | Apple's id of the review, handy for de-duplication. |
reviewPosition, reviewSort | Position of the review in the chosen order and the order used. |
country | The App Store country of the run. |
appStoreUrl, url | Link to the app page and to its reviews. |
status, error, scrapedAt | Tri-state status, the reason for non-ok rows, and the extraction time. |
Apple's public reviews feed does not include the developer's reply, so rows have no reply field.
How to scrape App Store reviews with App Store Reviews Scraper
- Open the Actor in Apify Console and click Try for free.
- Paste one or more app IDs or App Store links into App IDs or App Store URLs.
- Set Max reviews per app (start with the default 20 to see the output), and optionally sort order and country.
- Click Start. The default input finishes in well under a minute.
- Open the Output tab or Export the dataset as JSON, CSV, Excel, XML or HTML.
To automate it, use the API tab (Node.js, Python, curl examples) or add a Schedule.
How much does it cost to scrape App Store reviews?
This Actor uses pay-per-event pricing. The per-review price falls with your Apify plan:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
| Actor start | $0.005 | $0.005 | $0.0045 | $0.004 |
Review (status: ok row) | $0.000862 | $0.00075 | $0.000638 | $0.000525 |
Example: 1,000 reviews cost about $0.87 on the Free plan ($0.862 per 1,000 reviews, plus the start fee). Rows with status not_found or error are never billed. You can cap spending per run with Max reviews per app, Maximum reviews in total and the run's Max total charge option.
Input
| Field | What it does |
|---|---|
appIds | App IDs, App Store links or bundle IDs, one per line. |
maxReviewsPerApp | Reviews to read per app, 1 to 500 (default 20). |
sort | mostRecent (default) or mostHelpful. |
country | App Store country code, e.g. us, gb, de (default us). |
maxItems | Hard cap on rows in the whole run (default 100,000). |
proxyConfiguration | On the Apify platform the Actor always uses Apify Proxy (datacenter), because Apple's feed answers some direct cloud IPs with an empty page. |
Example input:
{"appIds": ["https://apps.apple.com/us/app/instagram/id389801252"],"maxReviewsPerApp": 20,"sort": "mostRecent","country": "us"}
Output
A real row from a run (shortened):
{"status": "ok","appId": 389801252,"name": "Instagram","country": "us","reviewId": "14735122794","rating": 1,"title": "Inconsistent error-filled experience","text": "Features are limited to specific versions of the app. Can only do mixed size reels on iPad. Can only do multiple caption reels on iPhone. ...","version": "453.0","reviewDate": "2026-10-31T20:37:30.000Z","helpfulVotes": 0,"totalVotes": 0,"reviewSort": "mostRecent","reviewPosition": 1,"url": "https://apps.apple.com/us/app/id389801252?see-all=reviews","scrapedAt": "2026-11-02T06:09:59.934Z"}
Tips
- Put all your apps in one run: you pay the start fee once.
- For monitoring, schedule a daily run with sort
mostRecentand de-duplicate onreviewId. - Reviews are per country: use
country=defor the German store. Each run covers one country.
Limitations
- No reviewer identity. Rows never include the reviewer's name or profile. E-mail addresses and phone numbers that reviewers write into a title or text are replaced with
[email]and[phone]; role mailboxes such as support@ stay. - Apple's public feed holds the latest 500 reviews per app and country. Older reviews are not available from it.
- No star-rating filter: Apple's feed cannot filter by stars, so filter the exported rows on
rating. - No developer replies: they are not part of Apple's public feed.
- Apple changes its feed now and then; when it does, rows come back as
error(never as silently wrong data) and the Actor is updated; report it in the Issues tab.
FAQ
Do I need an Apple account or an API key?
No. The Actor reads Apple's public customer-reviews feed, which needs no key and no login.
Is it legal to scrape App Store reviews?
The Actor reads only public data and collects no reviewer names or contact details. Review text is written by the public and can itself mention people; handle it accordingly. See the legal notice below.
Can I use this Actor from an AI agent or MCP client?
Yes. Called with no arguments it returns 20 reviews of a well-known app; every input is a plain string or list and every row explains itself with status and error.
Why is an app not_found?
The ID does not exist, or the app has no ratings at all in that country. not_found rows are free.
Why did I get an error row saying Apple's reviews feed returned no reviews?
The app has ratings, but Apple's reviews feed answered empty even after retries. This is a temporary Apple feed issue, not a property of the app. The row is free; run again later.
Why did I get fewer rows than maxReviewsPerApp?
The app has fewer written reviews in that country than you asked for, or more than 500 were requested (Apple's limit).
Legal and data-protection notice
This Actor reads only data that Apple publishes publicly in its App Store customer-reviews feed: the public text of app reviews. It does not extract reviewer names or profiles, e-mail addresses, phone numbers or other contact data, and it does not log in or get around any access control. Review text is written by the public and can itself mention people or contact details. 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 are unsure whether your reason is legitimate, consult your lawyers. You are responsible for complying with Apple's terms and applicable law when using the extracted data.
This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Apple Inc. App Store is a service mark of Apple Inc. All trademarks belong to their respective owners.