# Google Play Reviews Scraper — $0.08/1K (`scrapesignal_labs/google-play-reviews-scraper`) Actor

Extract recent Google Play reviews, ratings, versions, helpful votes, and developer replies for multiple Android apps at a low per-review price.

- **URL**: https://apify.com/scrapesignal\_labs/google-play-reviews-scraper.md
- **Developed by:** [ScrapeSignal Labs](https://apify.com/scrapesignal_labs) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.08 / 1,000 app reviews

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Google Play Reviews Scraper — $0.08 per 1,000 reviews

Extract recent public Google Play reviews for one or many Android apps. Get ratings, review text, dates, app versions, helpful votes, author names, developer replies, and current app context in clean JSON, CSV, Excel, or API-ready output.

This Actor is priced for recurring ASO and product workflows: **$0.08 per 1,000 delivered reviews** at launch, plus the tiny Actor-start event and platform usage shown by Apify. Limit a test to a handful of reviews and use Apify's maximum-charge control before running.

### Built for

- App Store Optimization and mobile-growth agencies
- product managers and voice-of-customer programs
- support teams looking for new bugs or complaints
- competitor monitoring and market research
- review sentiment, topic clustering, and AI-agent analysis
- scheduled monitoring of recent reviews by app version or market

### Features

- Multiple Google Play app IDs or URLs in one run
- Country and language selection
- Newest, rating, or helpfulness sorting
- Star-rating, date, and keyword filters
- Developer replies and reply dates
- Current app title, developer, rating count, installs, and version
- Stable review IDs for deduplication across scheduled runs
- No customer API key, browser, or login required

### Example input

```json
{
  "apps": [
    "com.spotify.music",
    "https://play.google.com/store/apps/details?id=com.google.android.youtube"
  ],
  "country": "us",
  "language": "en",
  "sort": "NEWEST",
  "ratings": ["1", "2", "3"],
  "sinceDate": "2026-08-01",
  "keywords": ["crash", "login", "subscription"],
  "includeDeveloperReplies": true,
  "includeAppDetails": true,
  "maxReviewsPerApp": 500
}
```

### Output

Each row contains the app ID and title, developer, current app score and version, review ID, author, rating, review timestamp, reviewed app version, helpful-vote count, review text, developer reply and reply date, market, language, and source URLs.

### Monitoring new reviews

Save your input as an Apify task, sort by newest, set `sinceDate`, and schedule the task daily or weekly. Use `recordId` to deduplicate records in your database, spreadsheet, or webhook destination.

### Responsible use

The Actor extracts public review information. Review content belongs to its respective authors and may contain inaccurate, offensive, or personal material. Use the data responsibly, minimize retention of unnecessary personal information, and follow applicable laws and platform terms. This Actor is not affiliated with Google or Google Play.

# Actor input Schema

## `apps` (type: `array`):

Package IDs such as com.spotify.music or full play.google.com/store/apps URLs.

## `country` (type: `string`):

Two-letter Google Play country code, such as us, gb, de, or au.

## `language` (type: `string`):

Two-letter review language code, such as en, es, de, or fr.

## `sort` (type: `string`):

Choose whether Google Play returns the newest, rating-sorted, or most-helpful reviews first.

## `ratings` (type: `array`):

Leave all selected for every rating.

## `sinceDate` (type: `string`):

Optional YYYY-MM-DD date. Leave empty for no date cutoff.

## `keywords` (type: `array`):

Return reviews matching any keyword in the review text or developer reply.

## `includeDeveloperReplies` (type: `boolean`):

Include the public developer response and response date when available.

## `includeAppDetails` (type: `boolean`):

Add app title, developer, score, ratings count, installs, and version to every review.

## `maxReviewsPerApp` (type: `integer`):

Maximum filtered reviews saved for each requested application.

## Actor input object example

```json
{
  "apps": [
    "com.spotify.music"
  ],
  "country": "us",
  "language": "en",
  "sort": "NEWEST",
  "ratings": [
    "1",
    "2",
    "3",
    "4",
    "5"
  ],
  "sinceDate": "",
  "keywords": [],
  "includeDeveloperReplies": true,
  "includeAppDetails": true,
  "maxReviewsPerApp": 100
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesignal_labs/google-play-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("scrapesignal_labs/google-play-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call scrapesignal_labs/google-play-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapesignal_labs/google-play-reviews-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/js4giqQdyhxB9JlSU/builds/vxth3benxXRxSHko3/openapi.json
