App Store Reviews Scraper - iOS & macOS Reviews
Pricing
from $0.50 / 1,000 review returneds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
appIds | array | ✅ | — | Apple App Store numeric IDs or apps.apple.com URLs. |
countries | array | — | ["us"] | Lowercase 2-letter storefront codes (us, gb, de, jp, …). |
sortBy | enum | — | mostRecent | mostRecent or mostHelpful. |
maxReviewsPerApp | integer | — | 500 | Per-app, per-country cap. Apple's effective ceiling is 500. |
maxReviews | integer | — | 1000 | Hard billing/output cap across the whole run. |
ratingFilter | array<int 1–5> | — | [] | Keep only these star ratings. Empty = all ratings. |
dateFrom | ISO date | — | "" | Keep only reviews on/after this date. |
dateTo | ISO date | — | "" | Keep only reviews on/before this date. |
keywords | array | — | [] | Keep only reviews whose title/body contains at least one substring (case-insensitive). |
minVoteSum | integer | — | 0 | Keep 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:
| Field | Type | Example |
|---|---|---|
reviewId | string | 14376567123 |
appId | string | 324684580 |
appName | string | null | Spotify - Music and Podcasts |
country | string | us |
rating | integer 1–5 | 5 |
title | string | Amazing |
body | string | Easy to use and So much more |
reviewerName | string | null | Arpi house |
reviewerUrl | string | null | https://itunes.apple.com/us/reviews/id1726025656 |
appVersion | string | null | 9.1.68 |
date | ISO 8601 | 2026-08-01T16:53:50-07:00 |
voteSum | integer | 0 |
voteCount | integer | 0 |
reviewUrl | string | null | https://itunes.apple.com/us/review?id=324684580&type=Purple%20Software |
scrapedAt | ISO 8601 | 2026-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 exampleapify call khadinakbar/appstore-reviews-scraper \--input='{"appIds":["324684580"],"countries":["us"],"maxReviews":50}'
# Fetch the dataset as JSONcurl "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
appIdsarray (numeric IDs orapps.apple.comURLs) and optionallycountries,ratingFilter,dateFrom, orkeywords. It returns one JSON object per review withrating,title,body,reviewerName,appVersion,date,voteSum, andreviewUrl. 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
dateFromto the release date andratingFilter: [1, 2]— you'll see only new negative reviews, and pay only for those. - For localization QA, list the same
appIdacross manycountriesin one run; the Actor dedups identical cross-storefront reviews automatically. - For ASO keyword mining, set
sortBy: mostHelpfuland a highminVoteSumto surface the most-endorsed feedback. - Keep
maxReviewsbounded 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.namereturns "iTunes Store", not the app name.appNameis 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.
Legal disclaimer
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.