App Store Reviews Scraper - iOS App Reviews API avatar

App Store Reviews Scraper - iOS App Reviews API

Pricing

from $0.53 / 1,000 reviews

Go to Apify Store
App Store Reviews Scraper - iOS App Reviews API

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

Raffy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

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 reviewId to 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: version ties 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)

statusMeaningBilled?
okA review was found and extracted.Yes
not_foundApple 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
errorApple'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?

FieldDescription
appIdApple's numeric app ID (the number in the App Store link).
nameThe app's name.
ratingStars given by the reviewer, 1 to 5.
titleThe review headline.
textThe review text.
reviewDateWhen the review was written or last edited (ISO 8601).
versionApp version the review was written for.
helpfulVotesNet helpful votes. totalVotes is the number of people who voted.
reviewIdApple's id of the review, handy for de-duplication.
reviewPosition, reviewSortPosition of the review in the chosen order and the order used.
countryThe App Store country of the run.
appStoreUrl, urlLink to the app page and to its reviews.
status, error, scrapedAtTri-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

  1. Open the Actor in Apify Console and click Try for free.
  2. Paste one or more app IDs or App Store links into App IDs or App Store URLs.
  3. Set Max reviews per app (start with the default 20 to see the output), and optionally sort order and country.
  4. Click Start. The default input finishes in well under a minute.
  5. 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:

EventFreeBronzeSilverGold
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

FieldWhat it does
appIdsApp IDs, App Store links or bundle IDs, one per line.
maxReviewsPerAppReviews to read per app, 1 to 500 (default 20).
sortmostRecent (default) or mostHelpful.
countryApp Store country code, e.g. us, gb, de (default us).
maxItemsHard cap on rows in the whole run (default 100,000).
proxyConfigurationOn 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 mostRecent and de-duplicate on reviewId.
  • Reviews are per country: use country = de for 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.

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).

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.