Google Play Reviews Scraper avatar

Google Play Reviews Scraper

Pricing

from $0.10 / 1,000 review saveds

Go to Apify Store
Google Play Reviews Scraper

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

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

14 days ago

Last modified

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_SUMMARY record 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 newest run 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 developerReplyText and developerReplyDate to check public response coverage.

Input configuration

SettingJSON keyDescription
App IDs or Google Play URLsappsOne or more package IDs such as com.instagram.android or full Google Play app URLs.
Maximum reviewsmaxReviewsTotal maximum review rows to save across all apps. The Actor caps this at 10,000.
CountrycountryTwo-letter Google Play country code used for localized reviews.
LanguagelanguageTwo-letter language code used for review text and app metadata.
Review sort ordersortnewest, rating, or helpfulness.
Start datestartDateOnly save reviews on or after this date. Leave empty to disable the lower bound.
End dateendDateOnly save reviews on or before this date. Leave empty to disable the upper bound.
Work budgetmaxRuntimeSecsDNS/network work budget in seconds, default 270. The Actor stops starting new app work before the platform timeout.
Runtime safety marginruntimeSafetySecsTime 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

FieldDescription
appId, appUrl, appNameApp package ID, Google Play URL, and app title when available.
reviewId, reviewUrlGoogle Play review identifier and review URL.
reviewerName, reviewerImageUrlPublic reviewer display fields when available.
ratingReview rating from 1 to 5 when available.
reviewTextPublic review text.
reviewDateReview date returned by Google Play.
thumbsUpCountHelpful vote count when available.
developerReplyText, developerReplyDateVisible developer reply fields when present.
appVersionReviewed app version when Google Play provides it.
country, language, sortLocale and sort settings used for the request.
status, warningSAVED for stored review rows and an optional row warning.
scrapedAtTimestamp 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.

EventWhat is chargedPrice
startOne-time fee per run$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
reviewPer 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, and helpfulness can return different samples.
  • Unexpected upstream failures are explicit: if one app fails in a multi-app run, completed review rows remain available and RUN_SUMMARY records 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 ApifyClient
import os
client = 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.

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.