# Fast Google Play Reviews Scraper API | Android App Reviews (`agents/googleplay-reviews`) Actor

Fast and efficient Google Play Store review scraper that extracts user feedback with precision. Set app IDs, customize parameters like country and language, and receive detailed review data including ratings, comments, and user info. Priced at $0.1 per 1000 reviews.

- **URL**: https://apify.com/agents/googleplay-reviews.md
- **Developed by:** [Agents](https://apify.com/agents) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 445 total users, 57 monthly users, 100.0% runs succeeded, 21 bookmarks
- **User rating**: 4.90 out of 5 stars

## Pricing

$0.10 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

## Fast Google Play Reviews Scraper API: Extract App Reviews, Ratings & User Feedback at Scale

The **Google Play Reviews Scraper** is an Apify Actor that extracts user reviews, star ratings, reviewer profiles, developer replies, app version data, and feature-specific criteria ratings from any Google Play Store listing. This **google play review scraper api** collects 18+ structured fields per review—including thumbs-up counts, review dates, and per-feature quality ratings—across any country and language combination.

**$0.10 per 1,000 reviews.** Extract app reviews from the Google Play Store at scale with no API key, no rate limits, and no complex authentication. Target specific apps by ID or URL, filter by country and language, and retrieve reviews sorted by newest, relevance, or rating. Built-in date filtering with the `until` parameter lets you extract only reviews newer than a specific date—ideal for continuous monitoring.

Use this **google play store review extractor** for app sentiment analysis, user feedback monitoring, competitive benchmarking, or NLP training data. **Download Google Play reviews** to JSON, CSV, or Excel for product analytics, feature prioritization, and app store optimization (ASO).

> **Note:** Google Play displays two rating mechanisms. Only reviews containing text comments are extracted by this scraper.

**Pricing:** $0.10 per 1,000 reviews | **No API key required**

***

### Table of Contents

1. [What Does the Google Play Reviews Scraper Do?](#what-does-the-google-play-reviews-scraper-do)
2. [Features and Capabilities](#features-and-capabilities)
3. [Pricing](#pricing)
4. [Input Parameters](#input-parameters)
5. [Output Format and Data Fields](#output-format-and-data-fields)
6. [Custom Map Function](#custom-map-function)
7. [AI Agent Integration via MCP](#ai-agent-integration-via-mcp)
8. [Related Tools](#related-tools)
9. [Demo Mode and Free Testing](#demo-mode-and-free-testing)
10. [Automated Scheduling and Monitoring](#automated-scheduling-and-monitoring)
11. [Quick Start Guide](#quick-start-guide)
12. [Use Cases and Industries](#use-cases-and-industries)
13. [Troubleshooting](#troubleshooting)
14. [Frequently Asked Questions](#frequently-asked-questions)
15. [Contact](#contact)

***

### What Does the Google Play Reviews Scraper Do?

**Google Play review extraction** is the automated process of collecting user reviews, ratings, feedback text, and metadata from Android app listings on the Google Play Store. The Play Store hosts over 3 million apps with billions of user reviews—making it the largest source of structured user feedback for Android applications.

The **Agents Google Play Reviews Scraper** is a high-performance data extraction tool built to scrape Google Play reviews from any app listing at scale. Extract structured review data quickly and reliably—without needing Google's official API, developer console access, or complex authentication flows.

This tool serves as a practical, cost-effective solution for bulk app review collection. At **$0.10 per 1,000 reviews**, it delivers comprehensive review data including developer replies, app version info, and feature-specific quality ratings that aren't available through most alternatives.

#### What You Get From Every Review

When you extract Google Play reviews, you receive:

**Review Content and Rating**

- Full review text and optional title
- Star rating (1–5) with text representation
- Publication date (ISO 8601)
- Thumbs-up count (helpfulness votes)
- Direct review URL

**Developer Response**

- Developer reply text (when available)
- Developer reply date

**App and Version Context**

- App ID (e.g., `com.whatsapp`)
- App version at time of review
- Country and language of the review

**Feature-Specific Ratings (Criterias)**

- Per-feature quality ratings (e.g., voice messaging, file sharing)
- Structured criteria name and rating pairs

**Reviewer Profile**

- Reviewer display name
- Reviewer profile image URL

***

### Features and Capabilities

#### Input Flexibility

| Input Type     | Example                                                      | Best For                                |
| -------------- | ------------------------------------------------------------ | --------------------------------------- |
| **App ID**     | `com.whatsapp`                                               | Targeting specific apps by package name |
| **Direct URL** | `https://play.google.com/store/apps/details?id=com.whatsapp` | Scraping from a Google Play listing URL |

#### Core Features

- **High-Speed Extraction** — Extract thousands of reviews efficiently
- **Country and Language Filtering** — Target reviews from specific regions and languages
- **Date Filtering** — Use `until` parameter to extract only reviews newer than a specific date
- **Sort Options** — Sort by newest, relevance, or rating
- **Developer Replies** — Capture developer response text and dates
- **Feature Ratings** — Extract per-feature quality ratings (criterias)
- **App Version Tracking** — See which version each reviewer was using
- **Multiple Export Formats** — JSON, CSV, Excel direct download
- **Custom Transformations** — Reshape output with custom JavaScript map functions
- **API Integration** — RESTful API for Python, Node.js, or any HTTP client
- **Scheduled Runs** — Automate recurring extraction for continuous monitoring
- **Multi-Language Support** — Set language to `all` to fetch reviews across every language separately

***

### Pricing

#### Simple Per-Review Pricing

No subscriptions, no hidden fees. This **google play reviews scraper** uses straightforward per-review pricing:

| Metric                | Price   |
| --------------------- | ------- |
| **Per 1,000 reviews** | $0.10   |
| **Per review**        | $0.0001 |

> **Example:** Extracting 50,000 reviews from a popular app costs **$5.00**. Extracting 1 million reviews costs **$100.00**.

***

### Input Parameters

| Field               | Type   | Description                                                                              | Default    |
| ------------------- | ------ | ---------------------------------------------------------------------------------------- | ---------- |
| `appIds`            | array  | Application IDs from the Google Play URL (extracted from the `id` query parameter)       | `[]`       |
| `country`           | string | Google Play country code from which to fetch reviews                                     | `us`       |
| `language`          | string | Language code for reviews. Set to `all` to fetch reviews for each language separately    | `en`       |
| `sort`              | string | Criteria to sort reviews (e.g., `NEWEST`)                                                | `NEWEST`   |
| `startUrls`         | array  | Direct Google Play review URLs—scraping begins immediately from these endpoints          | `[]`       |
| `maxItems`          | number | Maximum number of reviews to output                                                      | `Infinity` |
| `until`             | string | Returns only reviews newer than this date                                                | `null`     |
| `customMapFunction` | string | JavaScript function to transform each review object (transformation only, not filtering) | `null`     |

#### Input Examples

**Single App — By App ID:**

```json
{
    "appIds": ["com.whatsapp"],
    "country": "us",
    "language": "en",
    "sort": "NEWEST",
    "maxItems": 1000
}
```

**Multiple Apps — Competitive Comparison:**

```json
{
    "appIds": ["com.whatsapp", "org.telegram.messenger", "com.viber.voip"],
    "country": "us",
    "language": "en",
    "maxItems": 500
}
```

**Date-Filtered — Recent Reviews Only:**

```json
{
    "appIds": ["com.spotify.music"],
    "until": "2025-01-01",
    "sort": "NEWEST",
    "maxItems": 5000
}
```

**Multi-Language — Global Sentiment:**

```json
{
    "appIds": ["com.instagram.android"],
    "language": "all",
    "country": "us",
    "maxItems": 2000
}
```

***

### Output Format and Data Fields

Each extracted review is a structured JSON object containing 18+ fields. Here is a sample:

```json
{
  "id": "acf0e0f8-d90c-46dc-9deb-dbd9541adcdb",
  "userName": "Akintola Samuel",
  "userImage": "https://play-lh.googleusercontent.com/a/ACg8ocK4I3LkwgEHYl0KpnHt75hJQemY3ZNJd4ykknNoyZApALYhOg=mo",
  "date": "2025-02-04T20:41:16.276Z",
  "score": 3,
  "scoreText": "3",
  "url": "https://play.google.com/store/apps/details?id=com.whatsapp&reviewId=acf0e0f8-d90c-46dc-9deb-dbd9541adcdb",
  "title": null,
  "text": "I love this app men it's vibing",
  "replyDate": null,
  "replyText": null,
  "version": "2.24.22.78",
  "thumbsUp": 0,
  "criterias": [
    {
      "criteria": "vaf_phase1_voice_messaging",
      "rating": 1
    },
    {
      "criteria": "vaf_phase1_file_sharing",
      "rating": 1
    }
  ],
  "country": "US",
  "appId": "com.whatsapp",
  "language": "en"
}
```

#### Complete Field Reference

| Field       | Type   | Description                                                |
| ----------- | ------ | ---------------------------------------------------------- |
| `id`        | string | Unique review identifier (UUID)                            |
| `userName`  | string | Reviewer's display name                                    |
| `userImage` | string | Reviewer's profile image URL                               |
| `date`      | string | ISO 8601 review publication date                           |
| `score`     | number | Star rating (1–5)                                          |
| `scoreText` | string | Rating as text (e.g., "3")                                 |
| `url`       | string | Direct link to the review on Google Play                   |
| `title`     | string | Review title (can be null)                                 |
| `text`      | string | Full review text                                           |
| `replyDate` | string | ISO 8601 date of developer reply (null if no reply)        |
| `replyText` | string | Developer's response text (null if no reply)               |
| `version`   | string | App version the reviewer was using                         |
| `thumbsUp`  | number | Number of helpfulness votes                                |
| `criterias` | array  | Per-feature quality ratings (criteria name + rating pairs) |
| `country`   | string | Country code of the review                                 |
| `appId`     | string | Application package ID (e.g., `com.whatsapp`)              |
| `language`  | string | Language code of the review                                |

#### Data Fields by Use Case

| Use Case                         | Key Fields                                        |
| -------------------------------- | ------------------------------------------------- |
| **Sentiment Analysis**           | `text`, `score`, `date`, `criterias`              |
| **App Store Optimization (ASO)** | `score`, `text`, `version`, `country`, `language` |
| **Developer Response Tracking**  | `replyText`, `replyDate`, `text`, `score`         |
| **Feature Feedback Analysis**    | `criterias`, `text`, `score`, `version`           |
| **Competitive Benchmarking**     | `appId`, `score`, `text`, `date`, `thumbsUp`      |
| **NLP Training Data**            | `text`, `score` (as label), `language`            |

***

### Custom Map Function

Transform each review before it's saved to the dataset. The `customMapFunction` parameter accepts a JavaScript function that reshapes every review object. Use this to extract specific fields, rename properties, or compute derived values.

**Important:** The custom map function is for **transformation only**, not filtering. Every review will still be saved—you're changing its shape, not deciding whether to include it.

#### Example: Flatten for Sentiment Analysis

```javascript
(review) => ({
    app: review.appId,
    rating: review.score,
    text: review.text,
    date: review.date,
    version: review.version,
    country: review.country,
    helpful: review.thumbsUp
})
```

#### Example: Developer Response Audit

```javascript
(review) => ({
    app: review.appId,
    reviewText: review.text,
    rating: review.score,
    hasReply: !!review.replyText,
    replyText: review.replyText,
    replyDate: review.replyDate,
    daysBetween: review.replyDate && review.date
        ? Math.round((new Date(review.replyDate) - new Date(review.date)) / 86400000)
        : null
})
```

***

### AI Agent Integration via MCP

Apify provides a hosted **Model Context Protocol (MCP) server** at `mcp.apify.com` that allows AI agents and LLM-based applications to discover and run Apify Actors as tools—including this Google Play Reviews Scraper.

#### What This Means

If you're building AI agents using Claude Desktop, VS Code with MCP support, or any framework that implements the MCP specification, you can give your agent the ability to extract Google Play reviews autonomously. The agent can call this scraper as a tool, receive structured JSON results, and use them in downstream analysis.

#### How to Connect

Add this scraper to your MCP client configuration:

```
https://mcp.apify.com?tools=agents/googleplay-reviews
```

Or use the CLI for local development:

```bash
npx @apify/actors-mcp-server --tools agents/googleplay-reviews
```

#### Use Cases for AI Agent Integration

- **Automated app monitoring** — An AI agent periodically extracts new reviews and summarizes sentiment trends, flagging negative spikes for product teams.
- **Competitive intelligence workflows** — An agent extracts reviews for multiple competing apps, compares feature sentiment, and generates a competitive report.
- **Multi-step research pipelines** — Combine this scraper with other data sources in a single agent workflow: extract reviews, run sentiment analysis, and generate actionable recommendations.

For full setup instructions, see the [Apify MCP documentation](https://docs.apify.com/platform/integrations/mcp).

***

### Related Tools

#### Agents Data Intelligence Suite

All tools below are built and maintained by [Agents](https://apify.com/agents?fpr=yhdrb)—a team of ex-Big Tech engineers, former ad agency strategists, and data specialists delivering intelligence, precision, and impact at scale.

| Tool                                                                                      | What It Extracts                                            | Best For                            |
| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------- |
| **Google Play Reviews Scraper**                                                           | App reviews, ratings, developer replies, feature ratings    | App intelligence **(You are here)** |
| **[Google Maps Reviews Scraper](https://apify.com/agents/google-maps-reviews?fpr=yhdrb)** | Business reviews, ratings, reviewer profiles, location data | Local business intelligence         |
| **[Google Maps Search Scraper](https://apify.com/agents/google-maps-search?fpr=yhdrb)**   | Business listings, contact, ratings, hours                  | Lead generation, directories        |
| **[Trustpilot Reviews Scraper](https://apify.com/agents/trustpilot-reviews?fpr=yhdrb)**   | Reviews, TrustScores, company replies                       | SaaS/B2B analysis                   |
| **[Yelp Reviews Scraper](https://apify.com/agents/yelp-reviews?fpr=yhdrb)**               | Reviews, ratings, reviewer profiles                         | Restaurant/hospitality              |
| **[Yelp Business Scraper](https://apify.com/agents/yelp-business?fpr=yhdrb)**             | Business profiles, ratings, contact                         | Business data, prospecting          |
| **[TripAdvisor Reviews Scraper](https://apify.com/agents/tripadvisor-reviews?fpr=yhdrb)** | Hotel/restaurant reviews, ratings                           | Hospitality intelligence            |

***

### Demo Mode and Free Testing

You can test this **google play reviews scraper** on Apify's Free plan with limited results before committing to larger runs. Validate the output format, data quality, and field coverage before scaling.

**How to Test:**

- Run the scraper with a small `maxItems` value (e.g., 10–50 reviews)
- Verify the output structure matches your pipeline requirements
- Confirm country and language filtering works for your target market
- Test the `customMapFunction` with a sample transformation

***

### Automated Scheduling and Monitoring

App reviews appear continuously. For **product teams** and **reputation managers**, set up automated recurring runs to capture new reviews as they're posted.

#### Why Schedule Review Extraction?

- **Release monitoring** — Track user sentiment after each app update by filtering with `until`
- **Continuous feedback loop** — Feed fresh reviews into product analytics dashboards
- **Competitor tracking** — Monitor competitor app reviews weekly for feature gaps
- **Rating trend analysis** — Detect rating drops before they impact store ranking
- **Agency reporting** — Automated data for client app performance dashboards

#### How to Set Up Scheduled Runs

1. Open the Actor in Apify Console
2. Configure your input parameters (appIds, country, language, until)
3. Click **Schedule** and set frequency (daily, weekly, after each release)
4. Optionally add a **webhook** to push new data to your pipeline

#### Webhook Integration

Combine scheduled runs with webhooks to build fully automated review monitoring:

```
Scheduled Run → New Reviews Extracted → Webhook fires → Your system receives data
```

Use webhooks to trigger:

- Slack alerts for 1-star reviews mentioning crashes or bugs
- Database updates with new review data
- Dashboard refreshes with latest sentiment metrics
- Jira ticket creation for critical user-reported issues

***

### Quick Start Guide

#### For Non-Technical Users (Apify Console)

1. Go to **[Google Play Reviews Scraper](https://apify.com/agents/googleplay-reviews?fpr=yhdrb)** on Apify
2. Click **Try for free**
3. Enter an App ID (e.g., `com.whatsapp`) in the `appIds` field
4. Set `maxItems` to your desired review count
5. Click **Start** and wait for results
6. **Export Google Play reviews to CSV** from the Storage tab

#### For Developers (Python API)

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("agents/googleplay-reviews").call(run_input={
    "appIds": ["com.whatsapp"],
    "country": "us",
    "language": "en",
    "sort": "NEWEST",
    "maxItems": 1000
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

#### For Product Teams (Release Monitoring)

```json
{
    "appIds": ["com.yourapp.android"],
    "until": "2025-03-01",
    "sort": "NEWEST",
    "country": "us",
    "maxItems": 5000
}
```

> Schedule after each release. Use the `until` parameter set to the release date to capture only post-update feedback. Compare sentiment before and after to measure release impact.

#### For Competitive Analysis

```json
{
    "appIds": ["com.whatsapp", "org.telegram.messenger", "com.viber.voip"],
    "country": "us",
    "language": "en",
    "sort": "NEWEST",
    "maxItems": 500
}
```

> Extract recent reviews from competing apps in a single run. Use the `customMapFunction` to flatten output for side-by-side comparison in spreadsheets.

***

### Use Cases and Industries

#### App Sentiment Analysis and NLP

Extract thousands of Google Play reviews with full text, star ratings, and feature-specific criteria for training sentiment classifiers, topic modeling, or aspect-based sentiment analysis. Each review includes structured metadata (date, rating, app version, country) that enriches NLP pipelines. The `criterias` field provides granular per-feature quality signals unavailable from most review sources.

**Key fields:** `text`, `score`, `date`, `criterias`, `version`, `language`

#### App Store Optimization (ASO)

Analyze review content to identify keywords users associate with your app. Track how ratings change across versions, countries, and languages. Discover what features drive positive reviews and what pain points cause negative ones. Use this data to inform app store listing copy, feature prioritization, and update strategies.

**Key fields:** `score`, `text`, `version`, `country`, `language`, `thumbsUp`

#### Developer Response Analytics

Monitor how effectively your team (or competitors) responds to user reviews. Track response rates, response times, and whether replies address user concerns. The `replyText` and `replyDate` fields enable automated auditing of developer engagement.

**Key fields:** `replyText`, `replyDate`, `text`, `score`, `date`

#### Product Management and Feature Prioritization

Feed review data into product analytics to identify the most-requested features and the most-reported bugs. The `criterias` field reveals per-feature quality ratings, letting you pinpoint exactly which aspects of your app users rate poorly. Cross-reference with `version` to track whether fixes in new releases actually improved user satisfaction.

**Key fields:** `criterias`, `text`, `score`, `version`, `date`

#### Competitive Benchmarking

Extract reviews from competing apps in the same category to compare user sentiment, feature gaps, and pain points. Identify where competitors are weak and where they excel. Run multi-app extractions in a single scraper run by providing multiple App IDs.

**Key fields:** `appId`, `score`, `text`, `date`, `thumbsUp`, `criterias`

#### Academic and Market Research

Build large-scale review datasets for studying user behavior, app ecosystem dynamics, or digital marketplace trends. Multi-language and multi-country support enables cross-cultural research. Structured output with country, language, and date fields supports longitudinal studies.

**Key fields:** `text`, `score`, `country`, `language`, `date`, `appId`

***

### Troubleshooting

#### Common Issues and Solutions

| Issue                           | Cause                                         | Solution                                                                                       |
| ------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| **Fewer reviews than expected** | App has fewer text reviews than total ratings | Google Play separates star-only ratings from text reviews—only text reviews are extracted      |
| **Unexpected result quantity**  | `maxItems` set higher than available reviews  | Adjust `maxItems` or check that the app has enough text reviews in the target country/language |
| **Missing data in output**      | Results stored in Apify dataset               | Check the "Storage" section in your task results for the complete dataset                      |
| **No developer replies**        | Developer hasn't responded to reviews         | `replyText` and `replyDate` will be `null` when no reply exists—this is expected               |
| **Empty criterias array**       | Not all reviews include feature ratings       | The `criterias` field depends on Google Play's per-feature rating prompts, which vary by app   |

#### Performance Tips

- **Start small:** Test with `maxItems: 50` to validate your setup before scaling
- **Use date filtering:** Set the `until` parameter to avoid re-extracting old reviews on scheduled runs
- **Be specific with country:** Each country has different review volumes—target your key markets
- **Multi-language with care:** Setting `language: "all"` sends separate requests per language, which increases extraction time
- **Monitor billing:** You are billed per review extracted, not per `maxItems` setting—if fewer reviews exist, you pay only for what's delivered

***

### Frequently Asked Questions

#### What Google Play review data can I extract?

Extract **full review text**, **star ratings (1–5)**, **review dates**, **reviewer names**, **reviewer profile images**, **developer reply text and dates**, **app version at review time**, **thumbs-up counts**, **per-feature quality ratings** (criterias), **country codes**, **language codes**, and **direct review URLs**—all in structured JSON or CSV format.

#### Can I export Google Play reviews to CSV?

Yes. **Download Google Play reviews** directly from Apify Console in JSON, CSV, or Excel format. This is ideal for spreadsheet analysis, database import, and product analytics dashboards.

#### Can I scrape reviews from multiple apps at once?

Yes. Provide multiple App IDs in the `appIds` array (e.g., `["com.whatsapp", "org.telegram.messenger"]`). Each app's reviews are extracted sequentially within a single Actor run, with the `appId` field identifying which app each review belongs to.

#### Can I filter reviews by date?

Yes. Use the `until` parameter to extract only reviews newer than a specific date. This is ideal for continuous monitoring—on each scheduled run, set `until` to the date of your last extraction to avoid duplicates.

#### Can I scrape reviews by country and language?

Yes. Set the `country` parameter to any Google Play country code (e.g., `us`, `gb`, `de`, `jp`) and the `language` parameter to any language code (e.g., `en`, `es`, `fr`). Setting `language` to `all` sends separate requests for each language, collecting reviews across all available languages.

#### What are the "criterias" in the output?

The `criterias` array contains per-feature quality ratings that Google Play collects from reviewers. For example, a messaging app might have criteria like `vaf_phase1_voice_messaging` and `vaf_phase1_file_sharing`, each with a numeric rating. These provide granular feature-level feedback beyond the overall star rating. Not all reviews include criteria ratings.

#### Does this extract developer replies?

Yes. When a developer has replied to a review, the `replyText` and `replyDate` fields contain the response text and timestamp. This enables automated tracking of developer engagement and response quality.

#### Can I use Python to scrape Google Play reviews?

Yes. Full Python support via the Apify Client library. See the [Quick Start Guide](#quick-start-guide) above for Python integration with `client.actor("agents/googleplay-reviews")`.

#### Can AI agents use this scraper?

Yes. Through Apify's **Model Context Protocol (MCP) server**, AI agents built with Claude Desktop, VS Code, or any MCP-compatible framework can call this scraper as a tool. This enables automated app monitoring, competitive analysis, and multi-step research pipelines. See the [AI Agent Integration via MCP](#ai-agent-integration-via-mcp) section for setup details.

#### Why are some reviews missing text?

Google Play allows users to leave star ratings without writing a review. This scraper only extracts reviews that contain text comments, since ratings-only entries provide no actionable feedback content.

#### How many reviews can I extract per app?

There is no hard limit from the scraper side. Use the `maxItems` parameter to control how many reviews to extract. The actual number depends on how many text reviews exist for the app in the target country and language.

***

### Contact

**Built by [Agents](https://apify.com/agents?fpr=yhdrb)** — Where others search, we uncover. Our team of ex-Big Tech engineers, growth hackers, and data specialists builds high-performance scraping tools engineered for speed, precision, and reliability.

For questions or further assistance:

- **Email:** Reach out at **whoaretheagents@gmail.com**
- **Discord:** Join our community to connect with our support team

***

**Ready to start extracting Google Play review data?** At $0.10 per 1,000 reviews with no API key required, this **Google Play Reviews Scraper API** by [Agents](https://apify.com/agents?fpr=yhdrb) is the definitive tool for **app sentiment analysis**, **ASO research**, **competitive benchmarking**, and **product feedback intelligence**. Start scraping today.

# Actor input Schema

## `appIds` (type: `array`):

Google Play IDs you want to retrieve the data from. They can be found in the URL of the app in the Google Play. ID field would be the required string in the URL https://play.google.com/store/apps/details?id=org.telegram.messenger\&hl=tr\&gl=US

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

The Google Play country that you would like to get the reviews from.

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

The Google Play language that you would like to get the reviews from. If set to `all`, requests will be sent for each language separately.

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

Sort the reviews by the given criteria.

## `startUrls` (type: `array`):

URLs to start with. It should be an application URL

## `until` (type: `string`):

Returns reviews newer than this date.

## `maxItems` (type: `integer`):

Maximum number of items that you want as output.

## `customMapFunction` (type: `string`):

Function that takes each of the objects as argument and returns data that will be mapped by the function itself. This function is not intended for filtering, please don't use it for filtering purposes or you will get banned automatically.

## Actor input object example

```json
{
  "appIds": [
    "com.instagram.android",
    "com.whatsapp",
    "com.zhiliaoapp.musically"
  ],
  "country": "US",
  "language": "en",
  "sort": "NEWEST",
  "startUrls": [
    "https://play.google.com/store/apps/details?id=com.snapchat.android&hl=es&gl=US",
    "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en&gl=DE",
    "https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=fi&gl=CA"
  ],
  "until": "2024-12-31",
  "maxItems": 1000,
  "customMapFunction": "(object) => { return {...object} }"
}
```

# Actor output Schema

## `overview` (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 = {
    "appIds": [
        "com.instagram.android",
        "com.whatsapp",
        "com.zhiliaoapp.musically"
    ],
    "startUrls": [
        "https://play.google.com/store/apps/details?id=com.snapchat.android&hl=es&gl=US",
        "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en&gl=DE",
        "https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=fi&gl=CA"
    ],
    "until": "2024-12-31",
    "maxItems": 1000,
    "customMapFunction": (object) => { return {...object} }
};

// Run the Actor and wait for it to finish
const run = await client.actor("agents/googleplay-reviews").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 = {
    "appIds": [
        "com.instagram.android",
        "com.whatsapp",
        "com.zhiliaoapp.musically",
    ],
    "startUrls": [
        "https://play.google.com/store/apps/details?id=com.snapchat.android&hl=es&gl=US",
        "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en&gl=DE",
        "https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=fi&gl=CA",
    ],
    "until": "2024-12-31",
    "maxItems": 1000,
    "customMapFunction": "(object) => { return {...object} }",
}

# Run the Actor and wait for it to finish
run = client.actor("agents/googleplay-reviews").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "appIds": [
    "com.instagram.android",
    "com.whatsapp",
    "com.zhiliaoapp.musically"
  ],
  "startUrls": [
    "https://play.google.com/store/apps/details?id=com.snapchat.android&hl=es&gl=US",
    "https://play.google.com/store/apps/details?id=com.facebook.katana&hl=en&gl=DE",
    "https://play.google.com/store/apps/details?id=org.telegram.messenger&hl=fi&gl=CA"
  ],
  "until": "2024-12-31",
  "maxItems": 1000,
  "customMapFunction": "(object) => { return {...object} }"
}' |
apify call agents/googleplay-reviews --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=agents/googleplay-reviews",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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