Google Play Reviews Scraper
Pricing
from $0.10 / 1,000 review saveds
Google Play Reviews Scraper
Scrape public Google Play app reviews, ratings, dates, helpful votes, and developer replies for app monitoring and ASO.
Pricing
from $0.10 / 1,000 review saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
Google Play Reviews Scraper exports public Google Play review rows with ratings, dates, helpful votes, app versions, and developer replies when available.
Use it for ASO review mining, release monitoring, support triage, product feedback analysis, and competitor review tracking.
At a glance
- Extracts: app ID, app URL, app name, review ID, review URL, reviewer display fields, rating, review text, review date, helpful votes, developer reply, app version, locale, sort order, and scrape time.
- Inputs: app IDs or Google Play URLs, country, language, sort order, maximum reviews, optional start date, and optional end date.
- Best for: mobile app feedback analysis, ASO audits, release monitoring, support workflows, and competitor review snapshots.
- Exports: Apify dataset rows downloadable as CSV, JSON, Excel, or available through the API.
- Run diagnostics: a
RUN_SUMMARYrecord reports completed apps, per-app errors, and pending apps when a bounded run stops early. - Login: no Google account, cookies, or Google API key are required.
Ready-to-run examples
Start with a published example task or copy the same idea into your own run:
- Google Play Recent Instagram Reviews: collect a small recent-review sample.
- Google Play Newest App Reviews: monitor newest reviews for a target app.
- Google Play Review Date Range Monitor: focus on a release or campaign window.
- Google Play Helpful Reviews Competitors: compare helpful reviews across competing apps.
- Google Play YouTube Instagram Reviews: compare review exports across major apps.
What can it do?
- Export public review rows: Save ratings, review text, review dates, helpful votes, app versions, and review URLs.
- Monitor app feedback: Use country, language, sort, and date filters for release monitoring or support triage.
- Compare competitors: Run several package IDs with the same locale and compare review themes and ratings.
- Capture developer replies: Include public developer reply text and dates when Google Play exposes them.
- Use as a Google Play reviews API workflow: Run from API, schedules, webhooks, or MCP-compatible agents and export CSV/Excel/JSON.
Common workflows
- Monitor new reviews: schedule a small
newestrun daily and filter by review date downstream. - Mine product feedback: export review text, rating, version, and helpful votes into a text analytics workflow.
- Track competitor launches: compare review rows for competing package IDs after a release window.
- Audit developer replies: use
developerReplyTextanddeveloperReplyDateto check public response coverage.
Input configuration
| Setting | JSON key | Description |
|---|---|---|
| App IDs or Google Play URLs | apps | One or more package IDs such as com.instagram.android or full Google Play app URLs. |
| Maximum reviews | maxReviews | Total maximum review rows to save across all apps. The Actor caps this at 10,000. |
| Country | country | Two-letter Google Play country code used for localized reviews. |
| Language | language | Two-letter language code used for review text and app metadata. |
| Review sort order | sort | newest, rating, or helpfulness. |
| Start date | startDate | Only save reviews on or after this date. Leave empty to disable the lower bound. |
| End date | endDate | Only save reviews on or before this date. Leave empty to disable the upper bound. |
| Work budget | maxRuntimeSecs | DNS/network work budget in seconds, default 270. The Actor stops starting new app work before the platform timeout. |
| Runtime safety margin | runtimeSafetySecs | Time reserved for saving completed rows and RUN_SUMMARY, default 30; must be lower than the work budget. |
Example input
{"apps": ["com.instagram.android"],"country": "US","language": "en","sort": "newest","maxReviews": 20,"startDate": "2026-06-01"}
Output fields
| Field | Description |
|---|---|
appId, appUrl, appName | App package ID, Google Play URL, and app title when available. |
reviewId, reviewUrl | Google Play review identifier and review URL. |
reviewerName, reviewerImageUrl | Public reviewer display fields when available. |
rating | Review rating from 1 to 5 when available. |
reviewText | Public review text. |
reviewDate | Review date returned by Google Play. |
thumbsUpCount | Helpful vote count when available. |
developerReplyText, developerReplyDate | Visible developer reply fields when present. |
appVersion | Reviewed app version when Google Play provides it. |
country, language, sort | Locale and sort settings used for the request. |
status, warning | SAVED for stored review rows and an optional row warning. |
scrapedAt | Timestamp when the row was scraped. |
Example output
{"appId": "com.instagram.android","appUrl": "https://play.google.com/store/apps/details?id=com.instagram.android&hl=en&gl=US","appName": "Instagram","reviewId": "example-review-id","reviewUrl": "https://play.google.com/store/apps/details?id=com.instagram.android&reviewId=example-review-id","reviewerName": "Example User","rating": 4,"reviewText": "Useful app, but the latest version changed a workflow I liked.","reviewDate": "2026-07-01T12:00:00.000Z","thumbsUpCount": 3,"developerReplyText": "Thanks for the feedback.","appVersion": "1.0.0","country": "US","language": "en","sort": "newest","scrapedAt": "2026-07-03T09:00:00.000Z"}
Pricing
This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.
| Event | What is charged | Price |
|---|---|---|
start | One-time fee per run | $0.005 |
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
review | Per Google Play review saved to the dataset | $0.15 / 1,000 | $0.13 / 1,000 | $0.11 / 1,000 | $0.1 / 1,000 | $0.1 / 1,000 | $0.1 / 1,000 |
Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.
Tips for best results
- Use package IDs when possible: direct IDs avoid ambiguity in app names.
- Set locale intentionally: review availability and text can differ by country and language.
- Use date filters downstream too: Google Play returns a limited review set, so date filtering happens after retrieval.
- Schedule small monitoring runs: daily small runs are easier to compare than occasional very large pulls.
Limits and caveats
- Only public reviews are returned: private account data and hidden reviews are not available.
- Review availability is controlled by Google Play: some apps, countries, or languages may return fewer rows than requested.
- Developer replies are optional: reply fields are null when no public reply is visible.
- Sort order affects coverage:
newest,rating, andhelpfulnesscan return different samples. - Unexpected upstream failures are explicit: if one app fails in a multi-app run, completed review rows remain available and
RUN_SUMMARYrecords the affected app. If no requested app can be read, the run fails instead of reporting a successful empty dataset.
API usage
Run from the Apify API or SDK with the same input keys shown above.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/google-play-reviews-scraper').call({apps: ['com.instagram.android'],country: 'US',language: 'en',sort: 'newest',maxReviews: 20});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("fetch_cat/google-play-reviews-scraper").call(run_input={"apps": ["com.instagram.android"], "country": "US", "language": "en", "maxReviews": 20})print(run["defaultDatasetId"])
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-play-reviews-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"apps":["com.instagram.android"],"country":"US","language":"en","maxReviews":20}'
MCP and AI agents
For AI agents, use the official Apify MCP server. The focused single-Actor URL is:
https://mcp.apify.com?tools=fetch_cat/google-play-reviews-scraper
The default MCP server can search and run Actors. The focused URL exposes this Actor directly to clients that support tool-scoped MCP connections.
Claude Code setup
$claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/google-play-reviews-scraper"
Claude Desktop, Cursor, or VS Code JSON config
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/google-play-reviews-scraper"}}}
Example prompts
- "Export the newest Google Play reviews for this package ID and group the results by rating."
- "Compare recent Google Play review themes for these two apps in Germany."
FAQ
Can I scrape multiple apps in one run? Yes. Put multiple package IDs or app URLs in apps.
Can I scrape by country and language? Yes. Use country and language to request localized review data.
Can I export to CSV, Excel, JSON, or API? Yes. Apify datasets support all of those access paths.
Does this require my Google account? No. It reads public Google Play review data.
Is each row one review? Yes. Each saved dataset item is one public review row.
Why did I get fewer reviews than requested? Google Play may return fewer rows for the selected app, locale, sort order, or date window.
Related actors
- Google Play Apps Scraper
- Apple App Store Reviews Scraper
- Apple App Store Apps Scraper
- Shopify App Reviews Scraper
Support
Open an issue from the Actor page for a failed run, missing field, or wrong output. Include the Apify run ID or run URL, your input JSON, expected output, actual output, and one reproducible public URL (such as the Google Play app URL) so the problem can be checked quickly.
Privacy and data handling
This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses review lookup inputs and public review results to produce the output dataset and sends requests to public Google Play Reviews pages/endpoints; results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.