App Store Reviews Scraper — Multi-Country, Deep History
Pricing
from $0.08 / 1,000 review results
App Store Reviews Scraper — Multi-Country, Deep History
Scrape Apple App Store reviews from any country — recent feed + deep helpful-ranked history, deduplicated. Star, keyword and date filters, free rating histogram summary, appVersion per review. Pay per result: $0.08/1,000 reviews.
Pricing
from $0.08 / 1,000 review results
Rating
0.0
(0)
Developer
Mr Zack
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
App Store Reviews Scraper — Multi-Country, Deep History, $0.08/1,000
Scrape Apple App Store reviews as clean structured data: rating, title, text, reviewer, date, app version, helpful votes — for any app, across any storefront countries, in one run.
Two public sources, merged and deduplicated automatically:
- Chronological feed — the newest reviews first (best for monitoring; includes the app version each review was written on and helpful-vote counts).
- Deep history — the App Store's own helpful-ranked review corpus, paginated far beyond the ~500-review limit of the chronological feed.
Duplicates across the two sources are detected by review ID and never charged. HTTP-only — no login, no API key, no browser, so runs finish in seconds and cost cents.
Who is this for?
- App developers & product teams — monitor your own reviews daily, catch a review-bombing wave or a broken release (
starsFilter: "negative"+newerThanDays: 1on a schedule). - ASO agencies — complaint mining across a client's competitors: what do 1–2★ users say, which versions triggered the anger, how does the rating histogram compare per country.
- Competitor & market research — pull the review corpus of any app per storefront, with the all-time rating histogram free in every run.
- AI agents (MCP) — "Get the last 30 days of negative reviews of app X in the US and Germany and summarize the top complaints" becomes one tool call.
Output (one item per review)
| Field | Example | Notes |
|---|---|---|
appId | 389801252 | numeric App Store ID |
appName | Instagram | from free metadata lookup |
country | us | storefront |
reviewId | 14465707646 | stable — safe for dedupe across runs |
rating | 2 | 1–5 |
title | Support never answers | |
text | I wouldn't be writing this review if… | full review body |
reviewedAt | 2026-08-24T09:06:04.000Z | ISO, normalized to UTC |
reviewAgeDays | 1.4 | freshness at scrape time |
isNegative | true | 1–2★ convenience flag |
appVersion | 443.1.0 | version reviewed — feed rows only |
voteSum / voteCount | 3 / 4 | helpful votes — feed rows only |
isEdited | false | deep-history rows only |
userName | norge 2 | |
source | recent | recent (feed) or helpful (deep history) |
Anything Apple doesn't publish for a given row comes back null — never a fabricated zero.
Free with every run (key-value store → SUMMARY, not charged): per app per country — the all-time rating histogram (1★…5★ counts), average rating, total rating count, % negative all-time, developer name, genre, plus window stats for what you scraped (average rating, oldest/newest, per-source counts, duplicates skipped).
Input highlights
apps— App Store URLs or numeric IDs, one or more.countries— e.g.["us", "gb", "de", "jp"]. Each app × each country in one run.source—both(default),recent(chronological only),helpful(deep history only).starsFilter—all,1–5,negative(1–2★),positive(4–5★). Skipped reviews are not charged.newerThanDays— with the chronological feed the run stops at the first older review: scheduled monitoring costs cents.filterKeyword— only keep reviews mentioning a word/phrase (checked in title + text). Skipped reviews are not charged.maxReviewsPerApp— hard cost cap per app per country.
Example: daily complaint monitor, two countries
{"apps": ["https://apps.apple.com/us/app/instagram/id389801252"],"countries": ["us", "gb"],"source": "recent","starsFilter": "negative","newerThanDays": 1,"maxReviewsPerApp": 200}
Every 1–2★ review from the last 24 hours in both storefronts — typically a few cents per day.
How to schedule this Actor (recommended setup)
Reviews are a feed, not an archive: a bad release shows up in hours, and App Store replies work best within a day. A scheduled run is how you catch that window.
- Run the Actor once with the input you want and check the results.
- On the Actor page open the ⋯ menu and choose Schedule Actor (or go to Schedules and click Create new).
- Set the cron expression:
0 7 * * *— every morning. The right default for review monitoring.0 */6 * * *— every 6 hours. Use during a rocky release week.0 7 * * 1— weekly digest. Cheapest useful cadence for competitor tracking.
- Attach the saved input. With
newerThanDaysset, each scheduled run only pays for what's actually new. - Add an integration so you don't have to check manually: Integrations → Slack / Webhook / Google Sheets / Zapier / Make, triggered on Run succeeded. Fresh reviews arrive on their own.
Tracking Android too? Pair this with our Google Play Reviews Scraper — same $0.08/1,000 pricing, same input style, so one schedule pair covers both stores.
Why this Actor
- HTTP-only, no browser — seconds, not minutes; no proxy surcharges.
- Dual-source with free dedupe — the chronological feed alone caps out around 500 reviews per storefront; the deep-history source alone can't give you "newest first". This Actor gives you both in one run and never charges a duplicate.
- Free intel — the all-time rating histogram and % negative per country would cost extra elsewhere; here they ride along in the
SUMMARY. - Pay per event — $0.01 per run start + $0.08 per 1,000 reviews. Filters run before charging: skipped, filtered and duplicate reviews are free.
- Defensive parser — missing fields degrade to
null; storefront hiccups degrade to a smaller result, not a crashed run.
FAQ
Is this legal? The Actor only reads public review data — the same content anyone sees on the App Store product page without logging in. No login, no private data, no bypassing access controls. Review Apple's terms for your specific use case.
Why don't rows include developer replies? Apple doesn't expose developer replies through any public web endpoint. Rather than fake it, we don't ship the field. (Our Google Play Reviews Scraper does include replies plus reply-delay intel, because Google publishes them.)
Why is appVersion null on some rows? Apple only publishes the reviewed version in the chronological feed, not in deep history. Feed rows carry it; deep-history rows are null, honestly.
How deep can deep history go? Thousands of reviews per storefront for large apps. The run pages until your maxReviewsPerApp cap, the corpus ends, or a safety page-limit is hit.
A run returned fewer reviews than the cap? Small apps and small storefronts simply have fewer reviews. Check the SUMMARY — storeRatingCount tells you the size of the pool.
Found a bug, or want another field? Open a ticket on the Issues tab — parser bugs and field requests get fixed.
Changelog
- 0.1 — Initial release: dual-source (chronological feed + deep helpful-ranked history) with cross-source dedupe, multi-country runs, star/keyword/date filters (filtered rows never charged), free per-app rating-histogram summary, typed output schema. HTTP-only, pay-per-event.
Was this Actor useful?
If it saved you an afternoon of scrolling the App Store, a short review on the Store page helps other developers decide whether to try it. Reviews are the only signal buyers have before they spend anything.
If something is wrong instead, please open a ticket on the Issues tab rather than leaving it broken — it gets fixed.
Related Actors
- Google Play Reviews Scraper — the Android twin of this Actor. Schedule both to monitor iOS + Android reviews for the same app portfolio in one place.
- Chrome Web Store Intelligence Scraper — extension listings, ratings and permission-risk audits, if you also track browser extensions.