Google Play Reviews Scraper: Reviews, Ratings, Dev Replies avatar

Google Play Reviews Scraper: Reviews, Ratings, Dev Replies

Pricing

from $0.19 / 1,000 review scrapeds

Go to Apify Store
Google Play Reviews Scraper: Reviews, Ratings, Dev Replies

Google Play Reviews Scraper: Reviews, Ratings, Dev Replies

Export Google Play reviews for any Android app: star rating, full text, reviewer, app version, date, thumbs up and the developer's reply. Multi-country, deep pagination into thousands of reviews per app, no login and no API key.

Pricing

from $0.19 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Oski

Oski

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Categories

Share

Google Play Reviews Scraper

Pull Google Play Store reviews for any Android app into clean structured data: star rating, full text, author, the app version reviewed, date, thumbs-up count and the developer's reply. No login, no API key. It pages deep, so thousands of reviews per app is a normal run, and 1,000 reviews cost about $0.20.

Need the iPhone side too? Run the same apps through the App Store Reviews Scraper. Same pricing and the same one-row-per-review layout, so you can track an app's reviews on both stores from one place.

What you can use it for

  • Product managers seeing which app version triggered a wave of one-star reviews, using app_version on every row.
  • Support and community teams checking which reviews the developer answered, and how fast, from reply_content and replied_at.
  • App founders mining a competitor's reviews for the features users keep asking for.
  • Agencies building monthly review and sentiment reports for app clients.
  • Builders and researchers collecting labelled review text for sentiment or topic models.

How to use it

  1. Under Apps, type the app's name, such as Instagram. A pasted Google Play link or the package name (com.instagram.android) works too.
  2. Under Countries, list the stores to read, such as United States or UK, and pick a Review language.
  3. Leave Max reviews per app at 1,000 (or change it) and click Start.
  4. When it finishes, open the Output tab and download as CSV, Excel or JSON.

While it runs, the status line at the top of the run page shows progress (for example "App 1 of 2: Instagram. 400 reviews so far."). When it finishes, the same line says what was found and explains anything that was skipped, so you never have to read the log.

How much does it cost?

You pay a $0.002 start fee per run, then $0.0002 per review returned. You only pay for reviews you actually get, and a review found twice across countries is only returned and charged once.

ReviewsMathsCost
100$0.002 + 100 x $0.0002about $0.02
1,000$0.002 + 1,000 x $0.0002about $0.20
10,000$0.002 + 10,000 x $0.0002about $2.00

A typical 1,000-review export for one app costs about $0.20, so there is little reason to stop at 100.

Input

FieldWhat it does
appIdsApps to scrape: the app's name (Instagram), its Google Play link, or its package name (com.instagram.android).
countriesWhich country stores to read: names or codes (United Kingdom, UK, US). Defaults to the US.
languageLanguage of the reviews to fetch, picked from a list. English by default.
maxReviewsPerAppHow many reviews per app in total across countries (default 1,000; can be many thousands). You pay per review.
sortBynewest, rating or relevance.
proxyConfigurationAdvanced. Routes requests through Apify Proxy (datacenter by default) to keep large runs healthy.

A realistic job, 1,000 of the newest English reviews for each of two apps:

{
"appIds": ["com.instagram.android", "https://play.google.com/store/apps/details?id=com.spotify.music"],
"countries": ["us", "gb"],
"language": "en",
"maxReviewsPerApp": 1000,
"sortBy": "newest"
}

Output

One record per review:

{
"app_id": "com.spotify.music",
"app_name": "Spotify: Music and Podcasts",
"developer": "Spotify AB",
"app_category": "Music & Audio",
"country": "us",
"language": "en",
"review_id": "128cf271-ec96-4120-bb04-38cf1b91466f",
"user_name": "Assembly 1",
"score": 5,
"content": "Given me access to so much more music...",
"thumbs_up": 12,
"app_version": "9.1.64.1676",
"at": "2026-07-24T12:09:50",
"reply_content": "Thanks for the love! ...",
"replied_at": "2026-07-25T08:00:00",
"user_image": "https://play-lh.googleusercontent.com/...",
"scraped_at": "2026-07-25T12:00:00+00:00"
}

reply_content and replied_at are null when the developer has not replied. app_version is the version the reviewer was using, when Google shows it.

Tips for bigger runs

  • Raise the cap. Google Play pages through an app's reviews with a continuation token, about 150 at a time, until it runs out or hits your cap. Set 5,000 or 10,000 for a popular app and let it run.
  • Countries are filled in the order you list them. The per-app cap is spent on the first country before moving to the next.
  • Duplicates are removed per app, so reviews that appear in more than one country are only returned and charged once.
  • One language per run. To cover German and French reviews as well, start a second run with language set to de or fr.
  • Several apps in one run share one start fee. Ten apps at 2,000 reviews each is 20,000 reviews for about $4.
  • Use newest for monitoring and relevance to see the reviews Google shows visitors first.

Scheduling and integrations

Schedule the actor in Apify (daily or weekly with newest) to catch new reviews and developer replies, then send each run's results to Google Sheets, a webhook, Make or Zapier using Apify's integrations. You can also call it from your own code:

curl -X POST "https://api.apify.com/v2/acts/oski~google-play-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"appIds": ["com.spotify.music"], "countries": ["gb"], "maxReviewsPerApp": 1000}'

If something looks wrong

The status line at the end of every run explains anything that was skipped or came back empty. The common messages:

MessageWhat to do
Input problem: ...Something in the input needs changing, and the message says what. The run stopped before anything was charged.
No Google Play app matches "..."The name did not match an app. Paste the app's Google Play link instead.
... returned no reviews in language 'xx'Few people review that app in that language. Try English or another country.
Skipped countries: ...The country was not recognised. Check the spelling or use a two-letter code.

Still stuck? Open an issue on the actor page with the run link and it gets looked at quickly.

FAQ

Is it legal to scrape Google Play reviews? The actor only reads reviews Google shows publicly on the Play Store. You are responsible for how you use the data, including respecting privacy law such as GDPR when you store or publish reviewer names or images.

Do I need a Google account, login or API key? No. There is nothing to sign in to.

Why did I get fewer reviews than I asked for? The app may have fewer reviews in that language and country than your cap. Try another language, add countries, or check the package name. Invalid package names are skipped and named in the run log.

How do I find the package name? It is the id= value in the Play Store URL, for example com.spotify.music. You can also paste the full URL.

How fresh is the data? Live. Every run reads Google Play at the moment it runs, so there is no cached copy to go stale.

What if it breaks? Open an issue on the actor page and it gets looked at quickly. The actor is built on the maintained open-source google-play-scraper library, which tracks Google's changes to its internal protocol.

Other scrapers from Oski