Apple App Store Reviews Scraper & API
Pricing
from $0.40 / 1,000 reviews
Apple App Store Reviews Scraper & API
Extract Apple App Store customer reviews as clean JSON for any app and any country storefront. Optional new-only mode returns just the reviews that appeared since the last run. No API key, no proxies.
Pricing
from $0.40 / 1,000 reviews
Rating
0.0
(0)
Developer
Alfonso Rianna
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
App Store Reviews API — Apple app reviews as clean JSON
Fetch Apple App Store customer reviews for any app, in any country storefront, as flat JSON you can drop straight into a spreadsheet, a database, or an AI agent. Optionally run it on a schedule and get back only the reviews that appeared since last time.
No account with Apple, no API key, no browser automation. The Actor reads Apple's own public review feed, so it is fast, cheap, and it does not break when a website is redesigned.
What you get
One row per review, with a stable reviewId you can deduplicate on:
{"reviewId": "14525017960","appId": "324684580","country": "us","rating": 2,"title": "Pay to use","body": "EVERYTHING is pay to use, to skip songs, to replay music…","author": "Sylveon Rose","authorUrl": "https://itunes.apple.com/us/reviews/id1049196689","appVersion": "9.1.80","updatedAt": "2026-09-08T05:07:28-07:00","voteSum": 0,"voteCount": 0,"reviewUrl": "https://itunes.apple.com/us/review?id=324684580&type=Purple%20Software","source": "apple-app-store"}
Every run also writes a SUMMARY record to the key-value store, listing each app/storefront pair with its status (ok, monitoring-started, no-reviews-or-app-not-found, error). Nothing fails silently.
Quick start
{"appIds": ["324684580"],"countries": ["us"],"maxReviewsPerApp": 50}
appIds accepts the numeric App Store ID or the full URL — https://apps.apple.com/us/app/spotify/id324684580 works as-is, so you can paste straight from the store.
Watch several markets at once
{"appIds": ["324684580", "1232780281"],"countries": ["us", "gb", "de", "it", "jp"],"sortBy": "mostRecent","maxReviewsPerApp": 100}
Apple keeps reviews separate per storefront, so this is the only way to see what non-US users are saying.
Alert me only about new 1-star reviews
{"appIds": ["324684580"],"countries": ["us", "gb"],"onlyNew": true,"minRating": 1,"maxRating": 1}
Schedule that every hour and connect a webhook or an integration. The first run records the starting point and returns at most the 50 most recent reviews; every run after that returns only what is genuinely new — usually zero rows, and occasionally the one review you actually need to see.
Use with AI agents (MCP)
This Actor is available as a tool through Apify's MCP server, so an assistant such as Claude or Cursor can call it directly. Point your MCP client at:
https://mcp.apify.com
Then ask in plain language:
"What are people complaining about in the latest App Store reviews for app 324684580 in the US and UK?"
The agent will call this Actor, receive structured rows, and reason over them. Two tips that make agent calls work well:
- Keep
maxReviewsPerAppsmall (20–50) so the response stays inside the model's context. - Use
sortBy: "mostHelpful"for a general sentiment question, and"mostRecent"for "what changed lately".
Pricing is per event, which makes the Actor eligible for agentic payment flows — an agent can call it and pay per call without a subscription.
Input reference
| Field | Type | Default | What it does |
|---|---|---|---|
appIds | array | — | Required. Numeric App Store IDs or App Store URLs. |
countries | array | ["us"] | Two-letter storefront codes. Each one is a separate set of reviews. |
sortBy | string | mostRecent | mostRecent or mostHelpful. |
maxReviewsPerApp | integer | 100 | Cap per app and per country. Max 500 (Apple's own ceiling). |
onlyNew | boolean | false | Return only reviews that appeared since the previous run. |
stateStoreName | string | app-review-state | Which memory the monitoring uses. Different names monitor different sets independently. |
minRating / maxRating | integer | 1 / 5 | Keep only reviews inside this star range. |
requestDelayMs | integer | 250 | Pause between requests to Apple. |
Pricing
Pay per event — you are charged for what you actually receive:
| Event | What triggers it |
|---|---|
actor-start | Once per run. |
review | Each review delivered to your dataset. |
A monitoring run that finds nothing new costs one actor-start and nothing else. There is no subscription and no minimum.
Limitations, stated plainly
- Apple caps the public feed at 500 reviews per app per storefront (10 pages of 50). This is Apple's limit, not this Actor's, and no tool can go past it on public data. Add more
countriesto widen coverage. For monitoring this ceiling never matters, because you only need the newest page. - Ratings without written text are not in the feed. Apple only publishes reviews that have a title and body, so the counts here are lower than the rating totals shown on the store page.
- Google Play is not covered. This Actor deliberately does one source well. The output schema already carries a
sourcefield so a Play version can be merged into the same dataset later without changing your pipeline. onlyNewstate lives in a named key-value store on your account. Deleting that store resets monitoring to a fresh start.- Reviews contain author nicknames, which are personal data under GDPR. They are public, but treat them accordingly: do not enrich or profile individuals.
FAQ
Where do I find the app ID?
In the App Store URL, right after id. In https://apps.apple.com/us/app/spotify/id324684580 it is 324684580. You can also just paste the whole URL.
Can I get reviews for my own app including replies? Not through this Actor. Apple's App Store Connect API exposes developer replies, but only for apps you own. This Actor reads the public feed, which works for any app including your competitors'.
Why did my first monitoring run return 50 reviews? That is the starting point being recorded. From the second run onwards you only get new ones.
Does it need proxies? No. Apple's feed is public and does not block, so runs are cheap and reliable.