Google Playstore Review Scraper
Pricing
Pay per usage
Go to Apify Store
Google Playstore Review Scraper
Extracts Google Play store app reviews with ratings, reviewer details, text, dates, helpful votes, app versions, filters, and pagination.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Girma Wakeyo
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Fast, no-browser Google Play Store review extractor. Scrapes reviews directly from Google Play's internal API — no browser overhead, no Selenium, no Playwright.
Features
- ⚡ Blazing fast — HTTP-based extraction, no browser needed
- 📄 Pagination — scrape from any start page, control pages and reviews per page
- 🔢 Sorting — most relevant, newest, or by rating
- ⭐ Rating filters — filter by individual rating or multiple ratings
- 🔍 Keyword search — only keep reviews containing specific keywords
- 🌍 Language & country — filter by review language and Google Play country
- 📅 Date range — filter by end date or recent N days
- 📱 App version — filter by specific app versions
- 🆔 Duplicate removal — auto-deduplicates by review ID
- 🔄 Auto-retry — retries on network failures with exponential backoff
- 💰 Free-user quota — built-in limits for non-paying Apify users (5 runs / 500 reviews)
Input
Required
| Field | Type | Description |
|---|---|---|
appIdOrUrl | string | App package name (e.g. com.supercell.brawlstars) or full Google Play URL |
Optional
| Field | Type | Default | Description |
|---|---|---|---|
deviceType | enum | mobile | mobile, tablet, or chromebook |
sortBy | enum | mostRelevant | mostRelevant, newest, or rating |
rating | int | — | Fetch reviews with a specific rating (1–5) |
startPage | int | 1 | Page to start scraping from |
pagesToScrape | int | 5 | Max pages (-1 for all available) |
reviewsPerPage | int | 100 | Reviews per request (10–200) |
maxReviews | int | 10000 | Max reviews to save (-1 for unlimited) |
ratingFilter | array | [1,2,3,4,5] | Only keep reviews with these ratings |
language | array | — | Language code filter e.g. ["en", "fr"] |
keywords | array | — | Only keep reviews containing these keywords |
endDate | string | — | Only reviews up to this date (YYYY-MM-DD) |
recentDays | int | 0 | Only reviews from last N days (0 = no limit) |
uniqueOnly | bool | true | Remove duplicate reviews by ID |
appVersion | array | — | Only reviews from these app versions |
country | string | us | Two-letter Google Play country code |
Example Inputs
Basic — scrape 10 newest reviews:
{"appIdOrUrl": "com.zhiliaoapp.musically.go","maxReviews": 10,"sortBy": "newest"}
Targeted — 4-5 star reviews with keywords, last 30 days:
{"appIdOrUrl": "com.supercell.brawlstars","ratingFilter": [4, 5],"keywords": ["great", "amazing", "fun"],"recentDays": 30,"maxReviews": 100,"sortBy": "newest"}
Output
Each dataset item contains the following fields:
| Field | Type | Description |
|---|---|---|
reviewId | string | Unique review identifier |
rating | int | Star rating (1–5) |
reviewer | string | Reviewer's display name |
date | string | Review date in YYYY-MM-DD format |
reviewedIn | string | Language context of the review |
body | string | Full review text |
userImage | string | Reviewer's profile image URL |
position | int | Order in the scraped result stream |
helpfulCounts | int | Number of helpful votes |
appId | string | Google Play package name |
appVersion | string | App version at time of review |
timestamp | int | Unix timestamp of the review |
language | string | Language code |
Sample Output
{"reviewId": "c7d3429c-e617-40a7-8ca6-77ce3b1b3c8b","rating": 5,"reviewer": "MarQOSH Hadeboh","date": "2026-06-23","reviewedIn": "en","body": "Markos Hadeboh","userImage": "https://play-lh.googleusercontent.com/a/ACg8ocKZTR6dtvDXiNUjvhou3xLYabf7R_WRzYcKZInlur1PSLIL=mo","position": 1,"helpfulCounts": 0,"appId": "com.zhiliaoapp.musically.go","appVersion": "44.3.2","timestamp": 1782240282,"language": "en"}
Local Development
# Create and activate virtual environmentpython -m venv .venvsource .venv/bin/activate# Install dependenciespip install -r requirements.txt# Run the Actor locallyapify run
Syntax check
$python -m compileall -q my_actor/
Deploy to Apify
apify loginapify push
Pricing
This Actor uses pay-per-event pricing:
- Actor start: $0.00005 per run
- Result: $0.01 per 1,000 reviews scraped
Platform usage (compute, memory) is free.