Free App Store & Google Play Reviews Scraper (Classic) avatar

Free App Store & Google Play Reviews Scraper (Classic)

Pricing

Pay per usage

Go to Apify Store
Free App Store & Google Play Reviews Scraper (Classic)

Free App Store & Google Play Reviews Scraper (Classic)

Free App Store, Google Play and Chrome Web Store reviews: use app-store-google-play-reviews-scraper, app-store-reviews-scraper or google-play-reviews-scraper. Get ratings, text, versions, dates and replies; emails and phone numbers are masked on a best-effort basis. App Store feed currently limited.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

天度科技

天度科技

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Features

Limited permissions

Share

App Store, Google Play & Chrome Web Store Reviews Scraper

Collects public reviews from the Apple App Store, Google Play and the Chrome Web Store in one run. Paste app or extension URLs or IDs; the store is detected from each one. The output is one deduplicated dataset with the same fields for every store. Export it as JSON, CSV or Excel, or read it through the Apify API.

  • No login, no accounts, no cookies. Public data only.
  • One input list for mobile apps and browser extensions.
  • Same output fields across all three stores.
  • Emails and phone numbers inside review text are masked on a best-effort basis.
  • Free to use; you only pay Apify platform usage.

Known limit: since October 2026 Apple's public review feed sometimes returns no reviews. When that happens the run tells you clearly instead of silently returning 0 rows. Google Play and the Chrome Web Store are not affected. See Limits.

This is an independent tool. It is not an official Apple or Google tool and is not affiliated with or endorsed by Apple Inc. or Google LLC. App Store, Google Play and Chrome Web Store are named only to describe which public sources are supported; no Apple or Google logos are used.

What can you use it for?

  • Product feedback: pull recent reviews of your app or extension into one table and look for bugs, crashes and feature requests.
  • Competitor research: compare what users praise and complain about in competing apps or extensions, across stores and countries.
  • Extension developers: Chrome Web Store reviews are hard to export by hand. This gives you reviews with rating, extension version and "helpful" count.
  • Release monitoring: group ratings by appVersion to see what changed after an update.
  • Support QA: check which reviews already have a developer reply (developerReply).
  • Analysis and AI pipelines: feed the dataset into Python, a spreadsheet or an LLM for sentiment and topic analysis.

Why three stores in one Actor?

Some products ship in more than one store: an iOS app, an Android app, sometimes a Chrome extension. With separate scrapers you get separate inputs, different field names and three exports to merge. This Actor takes one apps list with any mix of the three stores and writes one dataset with one schema. The store field (apple, google, chrome) tells you where each review came from.

How to use it

  1. Open the Actor in Apify Console.
  2. In Apps or Chrome extensions, paste one item per line. You can mix stores:
    • Apple: a numeric app ID like 310633997 or an apps.apple.com URL
    • Google Play: a package name like com.whatsapp or a play.google.com URL
    • Chrome Web Store: a 32-letter extension ID like ddkjiahejlhfcafbddmgiahcphecmpfh or a chromewebstore.google.com URL
  3. Set countries, language and how many reviews you want per app.
  4. Run it, then open the Reviews tab or export the dataset.

Input

FieldTypeDefaultWhat it does
apps (required)array of stringsWhatsApp (Google Play) + uBlock Origin Lite (Chrome)App IDs, package names, extension IDs or store URLs. Store is auto-detected.
countriesarray of strings["us"]Two-letter country codes such as us, gb, de. Used by Apple and Google Play. Ignored for Chrome extensions.
languagestringenReview language for Google Play and the Chrome Web Store. For Chrome, only reviews in this language are returned. Apple's language follows the country.
maxReviewsPerAppinteger100Maximum reviews per app per country (per extension for Chrome). Apple allows at most 500 per app per country. The form is prefilled with 5 to keep the first run small.
includeReviewerNamebooleanfalseAdds a masked reviewer nickname: first character + *** (e.g. A***). Full names are never stored.
sentimentbooleanfalseAdds a simple rule-based positive / neutral / negative label (English keywords + star rating; mostly rating-based for other languages). Not an ML model.
onlyNewSinceLastRunbooleanfalseWhen on, later runs return only reviews newer than the last run, per store, app, country and language. Off by default: behavior and output are exactly the same as before. See Only new reviews since last run.

Example inputs

Google Play only, two countries

{
"apps": ["com.whatsapp"],
"countries": ["us", "gb"],
"language": "en",
"maxReviewsPerApp": 200
}

Chrome Web Store only

{
"apps": [
"ddkjiahejlhfcafbddmgiahcphecmpfh",
"https://chromewebstore.google.com/detail/ddkjiahejlhfcafbddmgiahcphecmpfh"
],
"language": "en",
"maxReviewsPerApp": 300
}

(Both lines point to the same extension, shown only to illustrate the two accepted formats; use one per extension.)

Apple App Store only

{
"apps": ["https://apps.apple.com/us/app/whatsapp-messenger/id310633997"],
"countries": ["us"],
"maxReviewsPerApp": 500
}

All three stores in one run, with sentiment

{
"apps": [
"310633997",
"com.whatsapp",
"ddkjiahejlhfcafbddmgiahcphecmpfh"
],
"countries": ["us"],
"language": "en",
"maxReviewsPerApp": 100,
"sentiment": true
}

Output

Each review is one dataset item. All three stores use the same fields.

FieldTypeDescription
storestringapple, google or chrome
appIdstringApp ID, package name, or 32-letter extension ID
countrystring or nullCountry the review was fetched from. Always null for Chrome (reviews are not per country).
languagestring or nullReview language
reviewIdstringReview ID, unique within a store
ratinginteger or nullStar rating, 1 to 5
titlestring or nullReview title. Always null for Chrome; Google Play reviews have no title either, so it may be empty.
textstring or nullReview body; emails and phone numbers are masked on a best-effort basis
appVersionstring or nullApp or extension version the reviewer used
thumbsUpinteger or nullHelpful / thumbs-up count
reviewedAtstring or nullReview time (ISO 8601)
developerReplystring or nullDeveloper reply text, if any
sentimentstring or nullOnly when sentiment is on: positive, neutral, negative
reviewerNamestring or nullOnly when includeReviewerName is on: masked nickname such as J***

Example item

Illustrative values based on the dataset schema examples (the reviewId is a placeholder, not a real review):

{
"store": "google",
"appId": "com.whatsapp",
"country": "us",
"language": "en",
"reviewId": "example-review-0001",
"rating": 5,
"title": null,
"text": "Example review text.",
"appVersion": "1.0.0",
"thumbsUp": 0,
"reviewedAt": "2026-10-01T00:00:00.000Z",
"developerReply": null
}

Run summary

Besides the dataset, each run writes a summary: duplicates removed across countries, apps that returned nothing (for example a wrong ID), apps that hit Apple's 500-review cap, and store-level warnings such as an empty Apple feed.

How it works

  • Apple App Store: Apple's public customer-reviews feed (RSS/JSON).
  • Google Play: the open-source google-play-scraper library (MIT).
  • Chrome Web Store: the same anonymous data request the store's public reviews page makes. Reviews come newest first, 50 per request, at most one request per second.
  • Deduplication: the same reviewId is kept once across countries; country is the first country it was seen in.
  • Retries: network errors, HTTP 429 and 5xx are retried up to 3 times (2s / 4s / 8s back-off). After that the app/country is skipped and the reason is logged.
  • Circuit breaker: if 2 consecutive Google Play tasks, or 2 consecutive Chrome extensions, fail to parse, the rest of that store's tasks are skipped and the summary says the store page may have changed. Parsing failures are skipped, not written as data.

Privacy

  • Reviewer nicknames are off by default. When on, only the first character plus *** is output. Avatars, profile links and user IDs are never output.
  • Emails and phone numbers in titles, review text and developer replies are replaced with placeholders (currently [邮箱已隐藏] for email and [电话已隐藏] for phone). Matching is conservative, so some phone formats may be missed. Names or addresses that reviewers typed themselves are not detected.
  • Review text is never written to the log.
  • You are responsible for complying with the data-protection laws that apply to you. Do not use the data for spam or harassment.

FAQ

Do I need an App Store, Google or Chrome account? No. The Actor only reads public review data. No login, no cookies, no CAPTCHA bypass.

Can I mix apps and extensions in one run? Yes. Put Apple IDs, Google package names and Chrome extension IDs (or their URLs) in the same apps list.

Why did I get no Apple reviews? Since October 2026 Apple's public feed sometimes returns empty pages. The run summary and log say so (APPLE_ALL_EMPTY or APPLE_NO_REVIEWS). If nothing at all was written, the run is marked failed; if other stores returned reviews, it finishes with a warning. An empty result can also mean a wrong app ID or a country with no reviews.

How many reviews can I get? Up to maxReviewsPerApp per app per country (per extension for Chrome). Apple caps at 500 per app per country; this cannot be exceeded.

Why is country empty for Chrome extensions? The Chrome Web Store does not split reviews by country. Use language to filter instead.

Does it return only new reviews since my last run? Only when onlyNewSinceLastRun is on. It is off by default, and when it is off behavior and output are exactly the same as before. See Only new reviews since last run.

Is the sentiment label AI? No. It is a simple rule based on English keywords and the star rating. For deeper analysis, export the dataset and run your own model.

How much does it cost? Free to use; you only pay Apify platform usage. Every run counts toward your platform usage.

Is this an official Apple or Google tool? No. It is an independent tool, not affiliated with or endorsed by Apple Inc. or Google LLC. Store names are used only to describe the supported sources. Example apps are used only as public examples.

Only new reviews since last run

onlyNewSinceLastRun is off by default. When it is off, behavior and output are exactly the same as before: each run fetches up to maxReviewsPerApp, and reviews are not skipped just because you already collected them. The review fields do not change either way. When the option is on, a later run returns only reviews newer than the position saved for that store, app, country and language.

  • If a store's reviews have no time, or every review of an app has no time, the run cannot stop paging early. It always pages through the full maxReviewsPerApp, so the amount fetched and the platform usage are higher.
  • If the first run with this option on is cut off by maxReviewsPerApp, the saved position starts at the newest review seen in that run. Older reviews that were not fetched are not backfilled later.
  • Do not let two scheduled runs overlap. An overlapping run is skipped (skipped: locked).
  • A review the store publishes late, but with a timestamp older than the last saved position, is skipped.
  • Incremental progress is saved in your own Apify account, separately for each store, app, country and language, and is shared by App Store, Google Play & Chrome Web Store Reviews (Free), App Store Reviews Scraper (Free) and Google Play Reviews Scraper (Free) when they run in the same account. It is stored in a named key-value store on your account, app-reviews-incremental-state. Delete that store manually to reset all of it.
  • Within one task, each review is delivered only once across countries; the exception is reviews whose source provides no review ID (possible for Google Play and the App Store; Chrome Web Store reviews always carry an ID, and Chrome is not split by country). Those are judged separately per country and may be delivered once in each country. The country in the output is the country where it was first delivered. If you want a separate copy per country, run separate tasks.
  • Reviews with no review ID (possible for Google Play and the App Store) are judged separately per country, and may be delivered once in each country; each delivery counts toward your platform usage. We have not seen such reviews in our test runs so far.
  • In rare cases (the run crashes midway, or the platform restarts it), a small batch is delivered again, and that repeat counts toward your platform usage. It is at most one page.
  • A Google Play review with no review ID may add one extra item on each run.
  • If each cycle brings more new reviews than maxReviewsPerApp, every run pages through the already-delivered part of the feed again. Those reviews are not delivered again, but the re-paging counts toward your platform usage, and the saved delivered ids keep growing. Delivery is not stopped because of that size. Once the stored ids go past 20,000, the position is forced forward to the newest delivered review and reviews in between may be skipped. The run logs a warning and the summary row records droppedRange, so the skip is not silent. Set maxReviewsPerApp higher than the number of new reviews you expect per cycle, so a run can catch up instead of re-paging reviews it has already delivered.

Limits

  • Apple's public review feed is currently unreliable and may return no reviews.
  • Apple: at most 500 reviews per app per country.
  • Google Play support relies on an unofficial open-source library and may break when Google changes its site.
  • Chrome Web Store support uses the store's own page data request, which is not a documented API and may break if the site changes.
  • Phone and email redaction is conservative and may miss some formats.
  • This is an independent tool, not an official Apple or Google tool, and is not affiliated with or endorsed by Apple Inc. or Google LLC. No Apple or Google logos are used.

Support

Found a bug or need a field? Open an issue on the Issues tab of this page. On a valid complaint from a platform or rights holder, the Actor will be taken down within 24 hours.