Google Play Review Scraper [FAST] | Multi-App Ratings & Replies avatar

Google Play Review Scraper [FAST] | Multi-App Ratings & Replies

Under maintenance

Pricing

from $0.10 / 1,000 reviews

Go to Apify Store
Google Play Review Scraper [FAST] | Multi-App Ratings & Replies

Google Play Review Scraper [FAST] | Multi-App Ratings & Replies

Under maintenance

Scrape Google Play reviews from up to 100 apps in one run. Get ratings, review text, helpful votes, and developer replies. Filter by stars, language, country, or date. Pay only for reviews delivered at $0.0001 per review ($0.10 per 1,000). Zero delivered reviews means zero review charges.

Pricing

from $0.10 / 1,000 reviews

Rating

0.0

(0)

Developer

Apizy

Apizy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Google Play Reviews Scraper

Turn Google Play reviews into clean, structured data in seconds. Enter a Play Store URL or Android package ID to collect ratings, review text, dates, reviewer details, helpful votes, and developer replies. Scrape one app or compare up to 100 apps in one run, without a browser, Google account, or API key.

Use the results to spot recurring complaints, understand what customers like, compare competitors, and track feedback after a release. Each delivered review is one row in the Dataset, ready for spreadsheets, dashboards, and automation tools.

What does Google Play Reviews Scraper do?

The Actor collects public written reviews from Google Play. Each row can include:

  • Rating, full review text, title when available, and review date
  • Public reviewer name and avatar URL
  • Helpful vote count and app version when available
  • Developer reply and reply date when available
  • App package ID, app URL, review URL, requested language and country, and scrape time

Choose newest reviews, highest-rated reviews, or Google's most helpful order. Narrow the results to a specific star rating, or use a date cutoff to collect recent feedback. The requested maximum is per app: two apps with maxReviews: 100 can produce up to 200 rows.

What can you use it for?

  • Find bugs and feature requests in your own app's reviews.
  • Compare customer feedback across competing Android apps to see what users like, dislike, and wish they had.
  • Watch reactions after an app update or marketing campaign.
  • Analyze one-star reviews to prioritize support, bug fixes, and product improvements.
  • Spot unmet needs in competitors' reviews when researching your next app idea.
  • Use real review excerpts to validate a vibe-coded MVP or give an AI coding assistant context for user stories and feature specs.
  • Send review data to Make, n8n, Zapier, spreadsheets, or your own analysis pipeline.

How to use

  1. Open the Actor and enter your input.
  2. Enter one Play Store URL or package ID in App URL or package ID, or add up to 100 entries under Apps.
  3. Optionally choose the review language, store country, sort order, maximum reviews per app, star rating, or date cutoff.
  4. Click Run.
  5. Open the Dataset tab to preview or download review rows. Open Output for the run summary and per-app results.

You can enter com.whatsapp or https://play.google.com/store/apps/details?id=com.whatsapp. Use either app or apps in JSON input; do not provide both.

Input examples

One app: newest reviews

{
"app": "com.whatsapp",
"maxReviews": 100,
"sortBy": "newest"
}

Compare multiple apps

{
"apps": [
"com.whatsapp",
"https://play.google.com/store/apps/details?id=org.videolan.vlc"
],
"language": "en",
"country": "us",
"maxReviews": 100
}

This requests up to 100 reviews for each app, or 200 rows total. Duplicate package IDs or URLs for the same app are processed once.

Recent one-star reviews

{
"app": "com.whatsapp",
"sortBy": "newest",
"starRating": 1,
"sinceDate": "2026-10-01",
"maxReviews": 500
}

This requests written one-star reviews dated October 1, 2026 or later. sinceDate includes the entire date from midnight UTC and requires sortBy: "newest". If fewer than 500 matching reviews are available, the Actor returns only those it finds.

Input fields

FieldTypeDefaultDescription
appstringNoneOne Play Store app URL or Android package ID. Required when apps is omitted.
appsarray of stringsNone1–100 Play Store URLs or package IDs. Required when app is omitted.
languagestring"en"Language requested from Google Play, such as "en", "id", or "pt-BR". Does not translate text.
countrystring"us"Two-letter Play Store country code, such as "us" or "id". Does not guarantee reviewer location.
sortBystring"newest""newest", "rating" (highest first), or "helpful" (Google's helpfulness order).
maxReviewsinteger100Maximum review rows per app, from 1 to 10,000.
starRatingintegerNoneFilter to reviews with a rating from 1 to 5 stars. Omit for all ratings.
sinceDatestringNoneInclusive UTC cutoff in YYYY-MM-DD format. Only works with sortBy: "newest".

Choose a review workflow

GoalInput to useResult
Read recent feedbacksortBy: "newest"Newest written reviews first
Investigate low ratingsstarRating: 1 or 2Reviews with that exact star rating
Check feedback since a releasesortBy: "newest" + sinceDateReviews on or after the selected UTC date
Find praisesortBy: "rating"Highest-rated reviews first
See prominent feedbacksortBy: "helpful"Google's most helpful order
Compare appsapps: [...]One Dataset with an appId on every review

These are input combinations, not a separate mode field. sinceDate filters the current run; the Actor does not remember reviews from previous runs.

Output

Every review is saved as one item in the default Dataset. The run summary is saved separately in the default Key-Value Store as OUTPUT. The summary does not contain the review rows.

Example Dataset item (illustrative values):

{
"reviewId": "2783d30a-5541-44f4-99db-64ea1fc3b42d",
"appId": "com.whatsapp",
"appUrl": "https://play.google.com/store/apps/details?id=com.whatsapp",
"reviewUrl": "https://play.google.com/store/apps/details?id=com.whatsapp&reviewId=2783d30a-5541-44f4-99db-64ea1fc3b42d",
"rating": 4,
"title": null,
"text": "Easy to use, but I would like more notification controls.",
"date": "2026-10-13T04:38:58.853Z",
"reviewerName": "A Google user",
"reviewerAvatarUrl": null,
"thumbsUp": 3,
"appVersion": "2.26.39.79",
"developerReplyText": null,
"developerReplyDate": null,
"language": "en",
"country": "us",
"scrapedAt": "2026-10-14T04:51:42.645Z"
}
Dataset fieldDescription
reviewIdGoogle Play review ID
appId, appUrl, reviewUrlApp identity and links back to Google Play
rating, title, textStar rating and review content
dateReview timestamp returned by Google Play; edits may change it
reviewerName, reviewerAvatarUrlPublic reviewer details
thumbsUpHelpful vote count, when available
appVersionApp version associated with the review, when available
developerReplyText, developerReplyDateDeveloper response, when available
language, countryRequested review language and store country
scrapedAtTimestamp when the Actor saved the review

Optional values are null when Google Play does not provide them.

Example OUTPUT summary for a two-app run:

{
"summary": {
"appId": null,
"appUrl": null,
"appIds": ["com.whatsapp", "org.videolan.vlc"],
"language": "en",
"country": "us",
"sortBy": "newest",
"maxReviews": 5,
"starRating": null,
"sinceDate": null,
"successCount": 10,
"chargedCount": 10,
"failedCount": 0,
"skippedCount": 0,
"duplicateCount": 0,
"pagesFetched": 2,
"stopReason": "completed",
"apps": [
{
"appId": "com.whatsapp",
"appUrl": "https://play.google.com/store/apps/details?id=com.whatsapp",
"status": "succeeded",
"successCount": 5,
"duplicateCount": 0,
"pagesFetched": 1,
"stopReason": "max_reviews",
"error": null
},
{
"appId": "org.videolan.vlc",
"appUrl": "https://play.google.com/store/apps/details?id=org.videolan.vlc",
"status": "succeeded",
"successCount": 5,
"duplicateCount": 0,
"pagesFetched": 1,
"stopReason": "max_reviews",
"error": null
}
],
"startedAt": "2026-10-14T11:01:26.007Z",
"finishedAt": "2026-10-14T11:01:27.138Z",
"totalDurationSeconds": 1
}
}

successCount is the number of review rows saved. failedCount counts apps, not reviews. chargedCount counts review events charged for delivered rows. For a single app, summary.appId and summary.appUrl contain that app instead of null.

Stop reasonMeaning
max_reviewsThe requested limit was reached for an app; it does not mean the app has no more reviews.
since_dateThe next review was older than the requested date.
source_exhaustedGoogle Play returned no further review page.
no_reviewsNo written reviews were returned for that app and filters.
completedAll apps in a multi-app run finished.
partial_failureAt least one app failed; results from other apps were kept.
all_failedEvery app failed; the run is marked failed and still writes a summary.
spending_limitThe run reached its Pay Per Event charge limit; later apps may be skipped.

Pricing

Pay $0.0001 per review delivered to the Dataset ($0.10 per 1,000 reviews). Review charges apply only to successfully saved rows. Failed or empty results have no review charge; if a run ends after delivering some reviews, only those delivered reviews count.

Delivered reviewsReview charges
0$0
100$0.01
1,000$0.10
10,000$1.00

The table shows review charges only. Check the Pricing tab for the complete current price before running the Actor.

Notes

  • Google Play chooses which written reviews are available for the requested language and country. The returned text is not translated, and individual reviews may use another language.
  • Star-only ratings without written review text are not available as review rows. A Play Store rating count can therefore be much larger than the number of reviews returned.
  • country chooses a storefront, not the reviewer's confirmed location.
  • sinceDate filters reviews before saving them and stops paging when it reaches an older review in newest-first order. Google Play controls its review ordering and may change it.
  • Apps in a batch are processed sequentially. If one app cannot be fetched, the Actor continues with the others; OUTPUT.summary.apps records each result.
  • For a large batch, choose a run timeout long enough for all apps and review pages to finish.

More Actors You Might Like

Built by the same Apizy team and backed by our transparent pricing philosophy: no hidden result charges, no wasted review credits, and no review charge for failed or empty results.

ActorWhat it helps you collect
YouTube Comment ScraperComments, authors, likes, and replies from YouTube videos
YouTube Channel Scraper V2Subscribers, engagement, email, and social links from channels
YouTube Video ScraperVideo titles, views, durations, thumbnails, and publish dates
YouTube Transcript ScraperVideo transcripts with optional timestamps

Get in Touch

Have a question or need a custom scraping workflow? Email apizy.studio@gmail.com.