App Store Reviews Scraper — Ratings & Metadata, Any Locale avatar

App Store Reviews Scraper — Ratings & Metadata, Any Locale

Pricing

from $0.36 / 1,000 results

Go to Apify Store
App Store Reviews Scraper — Ratings & Metadata, Any Locale

App Store Reviews Scraper — Ratings & Metadata, Any Locale

Get app metadata and customer reviews from Apple's own official, public, key-free endpoints - no scraping, no login, per-storefront review coverage.

Pricing

from $0.36 / 1,000 results

Rating

0.0

(0)

Developer

Axery

Axery

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Apple App Store Reviews Scraper

Gets customer reviews and app metadata from the Apple App Store over plain HTTP — no browser, no login, no App Store Connect account, no API key.

Not a scrape — official Apple endpoints only

This Actor wraps two of Apple's own public, unauthenticated endpoints:

  • iTunes Search API (itunes.apple.com/search, /lookup) — resolves an app name to its metadata: rating average, price, category, screenshots, current version.
  • Apple's public customer-reviews feed (itunes.apple.com/{country}/rss/customerreviews/...) — the same Atom feed Apple itself serves, requested as JSON.

Both are read directly from Apple's CDN. No key, no rate-limit friction encountered in testing.

What makes this different

Fields are unwrapped, not left as raw Atom-JSON noise. Apple's feed wraps every value as {"label": "..."} — a side effect of the feed being repurposed Atom XML rather than a JSON API designed from scratch. This Actor unwraps it consistently, so rating is a plain integer and content is a plain string, not nested objects you have to dig through.

Reviews are per-storefront, and that's surfaced, not hidden. The same app has entirely separate reviews in the us, gb, id (and every other) App Store, in the reviewer's own language — there is no combined "all countries" call. Run this Actor once per storefront you care about; each run's country field on every row makes that explicit.

Input

FieldTypeNotes
appNamestringApp name as you'd search it on the App Store. Ignored if appId is set.
appIdstringApple's numeric app id — the number in an App Store URL. More precise than a name search.
countrystringTwo-letter storefront code, e.g. us, gb, id, jp.
maxItemsintegerApple's feed is capped at 50/page and tends to run dry within a few hundred reviews.
proxyConfigurationobjectNot needed — official endpoints, no anti-bot layer.

Known limits

  • Review depth is finite. Apple's own feed does not expose a documented total-page count and tends to run empty within a few hundred reviews for most apps, regardless of the app's total review count shown on its store page.
  • Reviewer names are pseudonyms, not real identities — that is how Apple itself presents them.

Local development

pip install -r requirements.txt
python test_local.py whatsapp --max 20 --out sample_output.json
python test_local.py --app-id 310633997 --country gb --max 10

sample_output.json in this folder is real output from a live run, kept so the schema can be reviewed without running anything.