App Store Reviews API: Apple App Reviews by App ID and Country avatar

App Store Reviews API: Apple App Reviews by App ID and Country

Pricing

from $0.50 / 1,000 reviews

Go to Apify Store
App Store Reviews API: Apple App Reviews by App ID and Country

App Store Reviews API: Apple App Reviews by App ID and Country

Fetch Apple App Store reviews by app id or URL and country from the public iTunes RSS feed: rating, title, text, version, votes, author, date, plus app rating summary. No login, no proxies.

Pricing

from $0.50 / 1,000 reviews

Rating

0.0

(0)

Developer

Ailu Studio

Ailu Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Fetch Apple App Store customer reviews for any iOS app and get them as clean, flat rows: star rating, title, text, app version, helpfulness votes, reviewer nickname and date, together with the app name and store URL. Give the Actor one or more app ids or App Store URLs and a list of storefront countries, pick the sort order (most recent or most helpful), optionally filter by star rating or age, and it reads Apple's public customer-reviews RSS feed (JSON) page by page. One free summary row per app and country adds the current average rating, rating counts, version, price and developer from the iTunes lookup API. No login, no proxies, no browser, no HTML scraping, so it runs in seconds and works well as an MCP tool for AI agents and in scheduled automations.

Use cases

  • Product and support teams: pull the newest 1- and 2-star reviews of your app every morning and route them to Slack or a ticket queue.
  • Competitive analysis: compare ratings and complaints for several competing apps across the US, UK, German and Japanese storefronts.
  • Sentiment and topic analysis: build a dataset of recent reviews per version to see which release introduced a problem.
  • AI agents: answer "what are users saying about app X this week?" with one structured call.
  • Monitoring: schedule a run with sinceDays to collect only reviews written since the last run.

Input

FieldDefaultMeaning
apps["284882215"]Apple app ids or App Store URLs containing /id<digits>. Each app is fetched for every country.
countries["us"]Two-letter storefront codes, e.g. us, gb, de, jp.
sortBymostRecentmostRecent or mostHelpful; decides which reviews come first when the run is capped.
maxPagesPerApp3RSS pages per app and country, 1 to 10 (50 reviews per page).
minRating–Keep only reviews with this rating or higher (1 to 5).
maxRating–Keep only reviews with this rating or lower (1 to 5).
sinceDays–Keep only reviews updated in the last N days; stops paging early with mostRecent.
includeAppMetadatatrueAdd one free rowType: "app" summary row per app and country.
maxItems500Maximum charged review rows per run.

The default run returns the newest reviews of Facebook (id 284882215) from the US storefront, up to 150 reviews plus one app row.

Output

FieldMeaning
idStable key: <appId>:<country>:<reviewId>, or <appId>:<country>:app for the summary row.
rowTypereview (charged) or app (free summary row).
appId, appName, countryApp id, app name from the lookup API, storefront code.
reviewId, title, textApple's review id, review title and body (paragraph breaks preserved).
ratingStars 1 to 5 as a number.
versionApp version the review was written for.
voteSum, voteCountHelpfulness votes on the review.
author, authorUrlReviewer nickname and public profile URL.
updatedAtISO 8601 UTC time the review was written or last edited.
urlApp Store page of the app in that storefront (reviews have no public URL of their own).
fetchedAtISO 8601 UTC fetch time.

App rows (rowType: "app") additionally carry developer, primaryGenre, averageRating, ratingCount, averageRatingCurrentVersion, ratingCountCurrentVersion, versionReleasedAt, price, currency, bundleId, minimumOsVersion and contentAdvisoryRating.

{
"id": "284882215:us:14740119862", "rowType": "review",
"appId": "284882215", "appName": "Facebook", "country": "us", "reviewId": "14740119862",
"title": "Review for Facebook",
"text": "Sick of gambling advertisements. Are you trying to turn me into a gambler",
"rating": 2, "version": "585.0.0", "voteSum": 0, "voteCount": 0,
"author": "Karen Munsell", "authorUrl": "https://itunes.apple.com/us/reviews/id872857104",
"updatedAt": "2026-11-02T01:28:40.000Z",
"url": "https://apps.apple.com/us/app/facebook/id284882215",
"fetchedAt": "2026-11-03T15:00:00.000Z"
}

The run summary (apps, countries, pages read, reviews seen, errors) is stored in the OUTPUT record of the default key-value store.

How it works and limits

  • For each app and country the Actor calls GET https://itunes.apple.com/lookup?id=<appId>&country=<cc> once (app name, URL and the free summary row) and then GET https://itunes.apple.com/<cc>/rss/customerreviews/id=<appId>/sortBy=<sort>/page=<n>/json for pages 1 to maxPagesPerApp, stopping early at the last page, when maxItems is reached or, with sinceDays and mostRecent, when a page holds no review inside the window.
  • Apple serves at most 10 pages of 50 reviews per app and country, so the feed covers roughly the latest 500 reviews per storefront. Older reviews are not retrievable through this endpoint.
  • Rating and date filters are applied after fetching, so a page is always read in full; filtered-out reviews are not charged.
  • Politeness: requests to Apple are spaced at least 300 ms apart; 429 and 5xx responses are retried with exponential back-off, and 403 responses are retried twice after 2 s and 4 s. One app and country with 3 pages takes about 2 seconds.
  • Apple's feed is live and its pages can overlap or shift between requests, so consecutive pages sometimes repeat reviews. The Actor removes duplicates by review id within a run, which is why a page can yield fewer than 50 new reviews.
  • A country where the app has no reviews returns an empty feed and no rows. An app id that does not exist in a storefront is reported in the run summary and the run finishes with status partial.
  • Reviews are returned as Apple publishes them; there is no developer-reply field in this feed. Review language follows the storefront.

Pricing

Pay per result: $0.50 per 1,000 rows (result event). Platform usage is billed separately by Apify. Removed/free rows are not charged.

A default run (one app, one country, up to 150 reviews) takes a few seconds and four requests.

Not affiliated with Apple Inc. Uses the public iTunes customer-reviews RSS feed and iTunes Search (lookup) API only. Data licence/terms: https://www.apple.com/legal/internet-services/terms/site.html (reviews are user-generated content published by Apple; use them in accordance with Apple's terms and applicable law).

FAQ

Where do I find the app id? It is the number after id in any App Store URL, e.g. https://apps.apple.com/us/app/facebook/id284882215 gives 284882215. You can paste the whole URL into apps.

Can I get all reviews of an app? No. Apple's feed exposes at most 500 reviews (10 pages of 50) per app and country. To build a complete history, run the Actor regularly (for example daily with sinceDays: 2) and deduplicate on id.

How do I get only negative reviews? Set minRating: 1 and maxRating: 2. Pages are still read in full, but only matching reviews are returned and charged.

Why is appName empty for some rows? The name comes from the lookup API. If that request fails, review rows are still returned with appName: null and the summary row is skipped; the error is listed in the run summary.

Does the Actor return developer responses? No. Apple's RSS feed does not include developer replies.