Google Play Reviews Scraper: Reviews, Ratings, Dev Replies
Pricing
from $0.19 / 1,000 review scrapeds
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
Maintained by CommunityActor 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_versionon every row. - Support and community teams checking which reviews the developer answered, and how fast, from
reply_contentandreplied_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
- Under Apps, type the app's name, such as
Instagram. A pasted Google Play link or the package name (com.instagram.android) works too. - Under Countries, list the stores to read, such as
United StatesorUK, and pick a Review language. - Leave Max reviews per app at 1,000 (or change it) and click Start.
- 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.
| Reviews | Maths | Cost |
|---|---|---|
| 100 | $0.002 + 100 x $0.0002 | about $0.02 |
| 1,000 | $0.002 + 1,000 x $0.0002 | about $0.20 |
| 10,000 | $0.002 + 10,000 x $0.0002 | about $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
| Field | What it does |
|---|---|
appIds | Apps to scrape: the app's name (Instagram), its Google Play link, or its package name (com.instagram.android). |
countries | Which country stores to read: names or codes (United Kingdom, UK, US). Defaults to the US. |
language | Language of the reviews to fetch, picked from a list. English by default. |
maxReviewsPerApp | How many reviews per app in total across countries (default 1,000; can be many thousands). You pay per review. |
sortBy | newest, rating or relevance. |
proxyConfiguration | Advanced. 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
languageset todeorfr. - Several apps in one run share one start fee. Ten apps at 2,000 reviews each is 20,000 reviews for about $4.
- Use
newestfor monitoring andrelevanceto 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:
| Message | What 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
- App Store Reviews Scraper: the iPhone reviews for the same apps, across 60+ country stores.
- Telegram Channel Scraper: posts, views and links from public Telegram channels.
- Google Ads Transparency Scraper: the ads an app's publisher is running on Google.
- Facebook Ad Library Scraper: the same for Meta ads.
- Website Contact Finder: emails, phones and socials from a developer's website.