🤖 Google Play Reviews Scraper — Ratings, Text & Replies avatar

🤖 Google Play Reviews Scraper — Ratings, Text & Replies

Pricing

from $0.10 / 1,000 review scrapeds

Go to Apify Store
🤖 Google Play Reviews Scraper — Ratings, Text & Replies

🤖 Google Play Reviews Scraper — Ratings, Text & Replies

Scrape public Google Play reviews for any app — rating, text, thumbs-up, version, developer response, and date. Watch mode returns only new reviews. Public, logged-out.

Pricing

from $0.10 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

NexGen Watch

NexGen Watch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Android teams pay for normalized competitor review data they can feed straight into product and reputation workflows — without maintaining a scraper themselves.

What you get

  • Public Google Play reviews: rating, title, text, thumbs-up count, author, date, and app version
  • Developer replies and reply dates where present
  • A normalized 15-field record per review with source URL and collection timestamp
  • An isolated open-source adapter with a fresh process and proxy environment on every retry
  • Optional watch mode that emits only new reviews and status changes on later runs

Use cases by team

  • Product managers: Track release reception on Android and catch complaint spikes early.
  • Competitive intel: Monitor rival Android apps' reviews in a schema that matches your iOS feed.
  • Reputation / brand: Quantify how sentiment moves across versions with clean, normalized data.
  • Data teams: Skip scraper maintenance and get a stable contract you can pipe anywhere.

Example inputs

Single app

{
"app_ids": [
"com.spotify.music"
],
"watchMode": false
}

Several apps at once

{
"app_ids": [
"com.spotify.music",
"com.netflix.mediaclient"
],
"country": "us"
}

Monitor for new reviews only

{
"app_ids": [
"com.spotify.music"
],
"watchMode": true
}

📊 Sample Output

{
"store": "google_play",
"app_id": "com.spotify.music",
"review_id": "gp_84f21",
"title": "Great",
"review_text": "Fast and useful",
"rating": 4,
"thumbs_up": 12,
"author_handle": "listener_us",
"review_date": "2026-07-18",
"version": "8.9.0",
"developer_response": null,
"country": "us",
"source_url": "https://play.google.com/store/apps/details?id=com.spotify.music",
"collected_at": "2026-07-21T00:00:00Z"
}

How it works

Give it one or more Google Play package IDs (e.g. com.spotify.music). An isolated open-source adapter collects the public reviews for each — a fresh process and proxy per retry — and normalizes them into one 15-field schema that mirrors the Apple reviews actor. Public, logged-out surfaces only.

Pricing

EventPrice (FREE tier)
Actor start (apify-actor-start)$0.02
Review scraped (review-scraped)$0.00065
Watch check (watch-check)$0.05

Flat list prices; Apify applies its automatic FREE→DIAMOND plan discount on top. Worked example: 1,000 reviews = $0.02 start + 1,000 × $0.00065 = $0.67. Blocked or zero-result runs do not intentionally charge; watch runs with no delta charge only the watch check. New to Apify? Start free.

Run it — API, CLI, MCP

API:

curl -X POST "https://api.apify.com/v2/acts/nexgenwatch~google-play-reviews/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d @input.json

CLI:

$apify call nexgenwatch/google-play-reviews -i @input.json

MCP: expose nexgenwatch/google-play-reviews through Apify's MCP server, select it as a tool, and pass the same input object.

ActorWhat it does
Review Sentiment AnalyzerTurn any review set into themes, complaints, sentiment % and trends.
Apple App Store ReviewsScrape public Apple App Store reviews for any app.
App Rankings TrackerTrack Apple App Store top-chart rankings by country.
ASO Keyword TrackerTrack keyword rankings across App Store & Google Play.

Compliance & honest limits

  • Public Google Play review surfaces only — no login, CAPTCHA, paywall, or access-control defeating.
  • Google Play exposes a bounded review window per app and country; full lifetime history is not reconstructed.
  • A source-confirmed empty result is SUCCEEDED-0: GENUINE_EMPTY; exhausted block retries fail and truncated runs are PARTIAL.

FAQ

Which app ID do I use?

The Google Play package name (e.g. com.spotify.music), found in the store URL's id= parameter.

Does the schema match the iOS actor?

Yes — deliberately, so iOS and Android feeds line up field-for-field (Android adds thumbs_up).

Does zero mean blocked?

No. A confirmed-empty feed is GENUINE_EMPTY; only exhausted retries fail, and truncated runs are PARTIAL.

How does watch mode work?

Set watchMode: true. The first run seeds a KV baseline and emits nothing; later runs emit only new reviews and changes.

Can I collect several apps at once?

Yes — pass multiple package IDs in app_ids.

How is it priced?

$0.02 per run start plus $0.00065 per review scraped; watch checks with no change cost $0.05.

Can I feed this into sentiment analysis?

Yes — pass the output dataset ID into the Review Sentiment Analyzer.

Troubleshooting

  • No reviews returned? Check the exact package name and that the app has public reviews in the chosen country.
  • Wrong country? Set country (e.g. us, gb); it defaults to US.
  • Watch mode emitting everything? The first run seeds the baseline and emits zero — deltas start on the second run.
  • Run marked PARTIAL? Retries were exhausted mid-collection; re-run to continue.
  • Need iOS too? Use the Apple App Store Reviews Scraper — matching schema.

About

Part of the NexGenData App Intelligence cluster, sharing one honest contract across iOS and Android. Built by NexGenData. Questions or need a custom feed? Open an issue on the Actor page.