App Store Reviews Scraper - iOS & macOS Reviews avatar

App Store Reviews Scraper - iOS & macOS Reviews

Pricing

from $0.50 / 1,000 review returneds

Go to Apify Store
App Store Reviews Scraper - iOS & macOS Reviews

App Store Reviews Scraper - iOS & macOS Reviews

Scrape Apple App Store reviews for any iOS/macOS app across multiple countries in one run. Get ratings, titles, bodies, authors, versions, dates, votes, and URLs with rating, date, and keyword filters applied before billing. No login, no cookies, no external API keys.

Pricing

from $0.50 / 1,000 review returneds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

App Store Reviews Scraper — iOS & macOS Reviews

Scrape Apple App Store customer reviews for any iOS or macOS app across one or many country storefronts in a single run. Extract ratings, review titles and bodies, reviewer names, app versions, dates, helpfulness votes, and canonical review URLs — and apply rating, date, keyword, and helpful-vote filters before billing, so you only pay for reviews that match.

No login, no cookies, no external API keys. Built for product/PM teams, ASO research, sentiment analysis, release-impact tracking, competitor monitoring, and AI-agent workflows.

When to use this Actor

  • App product & PM teams monitoring their own and competitor iOS app feedback across markets.
  • ASO and sentiment researchers who need fresh, structured review data for keyword mining, version-impact comparison, and localization QA.
  • Release-impact tracking — fetch only 1-star reviews since a release date to spot regressions fast.
  • Localization QA — pull the same app's reviews from many country storefronts in one run.
  • AI agents — narrow input (app IDs), flat 15-field JSON output, sub-minute runs, predictable Pay-per-event cost.

When NOT to use it

  • You need Google Play / Android reviews — this Actor is Apple App Store only. Use a Google Play reviews Actor.
  • You need reviews for your own apps only and have an App Store Connect API key — the official App Store Connect API returns more fields and is Apple's supported path for your own apps. This Actor uses Apple's public RSS feed, which covers any app but caps at 500 reviews per app per country.
  • You need to translate reviews — this Actor returns text in the storefront's original language. Pair it with a translation Actor if you need English normalization.

How it works

The Actor reads Apple's public iTunes RSS customer-reviews JSON feed:

https://itunes.apple.com/{country}/rss/customerreviews/id={appId}/sortBy={sort}/page={n}/json

The feed is unauthenticated, returns up to 50 reviews per page across at most 10 pages (a 500-review cap per app per country storefront imposed by Apple), and supports two sort orders. The Actor walks every {app} × {country} pair you request, deduplicates identical reviews across storefronts, applies your filters, and writes one validated row per matching review to the default dataset.

Input

FieldTypeRequiredDefaultDescription
appIdsarrayApple App Store numeric IDs or apps.apple.com URLs.
countriesarray["us"]Lowercase 2-letter storefront codes (us, gb, de, jp, …).
sortByenummostRecentmostRecent or mostHelpful.
maxReviewsPerAppinteger500Per-app, per-country cap. Apple's effective ceiling is 500.
maxReviewsinteger1000Hard billing/output cap across the whole run.
ratingFilterarray<int 1–5>[]Keep only these star ratings. Empty = all ratings.
dateFromISO date""Keep only reviews on/after this date.
dateToISO date""Keep only reviews on/before this date.
keywordsarray[]Keep only reviews whose title/body contains at least one substring (case-insensitive).
minVoteSuminteger0Keep only reviews with helpfulness vote sum ≥ this.

Filters are applied before billing — non-matching reviews are skipped without being charged.

Input example

{
"appIds": ["324684580", "https://apps.apple.com/us/app/whatsapp-messenger/id310633997"],
"countries": ["us", "gb", "de"],
"sortBy": "mostRecent",
"maxReviews": 200,
"ratingFilter": [1, 2],
"dateFrom": "2026-01-01",
"keywords": ["crash", "login"]
}

Output

Each row in the default dataset is one review with these 15 flat fields:

FieldTypeExample
reviewIdstring14376567123
appIdstring324684580
appNamestring | nullSpotify - Music and Podcasts
countrystringus
ratinginteger 1–55
titlestringAmazing
bodystringEasy to use and So much more
reviewerNamestring | nullArpi house
reviewerUrlstring | nullhttps://itunes.apple.com/us/reviews/id1726025656
appVersionstring | null9.1.68
dateISO 86012026-08-01T16:53:50-07:00
voteSuminteger0
voteCountinteger0
reviewUrlstring | nullhttps://itunes.apple.com/us/review?id=324684580&type=Purple%20Software
scrapedAtISO 86012026-08-03T12:00:00.000Z

Terminal OUTPUT and RUN_SUMMARY records are written to the default key-value store on every run.

Output example

{
"reviewId": "14376567123",
"appId": "324684580",
"appName": null,
"country": "us",
"rating": 5,
"title": "Amazing",
"body": "Easy to use and So much more",
"reviewerName": "Arpi house",
"reviewerUrl": "https://itunes.apple.com/us/reviews/id1726025656",
"appVersion": "9.1.68",
"date": "2026-08-01T16:53:50-07:00",
"voteSum": 0,
"voteCount": 0,
"reviewUrl": "https://itunes.apple.com/us/review?id=324684580&type=Purple%20Software",
"scrapedAt": "2026-08-03T12:00:00.000Z"
}

Pricing — Pay per event + platform usage

This Actor uses Apify's Pay per event + platform usage pricing model. You pay two event charges plus the underlying platform usage (compute, proxy) Apify reports separately:

  • Actor start: $0.00005 — charged once per run, scaled by Actor memory.
  • Review returned: $0.0005 ($0.50 per 1,000 reviews) — charged only when one complete, schema-validated, filter-matching review is written to the dataset.

Typical cost envelope. A run capped at maxReviews: 1000 costs at most $0.50 in review events plus platform usage; a maxReviews: 200 monitoring run costs at most $0.10 in review events plus platform usage. The Actor prints the cost cap in the run status message before any charge fires.

API / CLI example

# Run on Apify with the default Spotify example
apify call khadinakbar/appstore-reviews-scraper \
--input='{"appIds":["324684580"],"countries":["us"],"maxReviews":50}'
# Fetch the dataset as JSON
curl "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json"

AI-agent prompt card

Use this tool when the user asks for App Store reviews, iOS app feedback, app ratings, or ASO/review sentiment for an Apple App Store app. Pass an appIds array (numeric IDs or apps.apple.com URLs) and optionally countries, ratingFilter, dateFrom, or keywords. It returns one JSON object per review with rating, title, body, reviewerName, appVersion, date, voteSum, and reviewUrl. Do not use it for Google Play reviews or for the user's own apps when an App Store Connect API key is available. Cost is $0.0005 per review returned plus a small start fee.

Best results guidance

  • For release-impact tracking, set dateFrom to the release date and ratingFilter: [1, 2] — you'll see only new negative reviews, and pay only for those.
  • For localization QA, list the same appId across many countries in one run; the Actor dedups identical cross-storefront reviews automatically.
  • For ASO keyword mining, set sortBy: mostHelpful and a high minVoteSum to surface the most-endorsed feedback.
  • Keep maxReviews bounded so agent workflows can forecast cost. The run status message prints the cap.

Limitations and honesty

  • 500-review cap per app per country. This is imposed by Apple's public RSS feed, not by this Actor. No public Apify Actor in this niche exceeds it.
  • App name may be null. Apple's RSS feed.author.name returns "iTunes Store", not the app name. appName is best-effort.
  • Apple RSS is read-only and public. This Actor cannot post, edit, or delete reviews, and cannot access private App Store Connect data.
  • Translation is out of scope. Returned text is in the storefront's original language.

Integrations

Connect the output dataset to Google Sheets, Airtable, Notion, Supabase, Slack, or any of Apify's 9,000+ integrations via the Console Export or Webhooks tabs after a run.

Builder's note

This Actor exists because the Apple App Store reviews niche on Apify is saturated on the headline job (single-app, single-country) but thin on the multi-country and pre-billing-filter jobs. The market leader takes one country per run and exposes only four input fields; the only multi-country alternative requires an external translation API key. This Actor packages the three real moats into one private-data-first tool: many countries in one run, filters that skip non-matches before charging, and an MCP-first 15-field output shape.

You are responsible for complying with Apple's Terms of Service, the App Store's review content licensing, and any applicable data-protection law when using scraped review data. This Actor reads only Apple's public, unauthenticated RSS feed and does not bypass authentication, rate limits, or access controls. It is provided for research, monitoring, and lawful analysis of publicly available feedback.