# Google Play Store Scraper (`mikolabs/google-play-store-scraper`) Actor

Google Play Store at lightning speed! 1000@4sec: scrape detailed app profiles, user reviews, ratings, and keyword search results.

- **URL**: https://apify.com/mikolabs/google-play-store-scraper.md
- **Developed by:** [Mikolabs](https://apify.com/mikolabs) (community)
- **Categories:** Automation, Integrations, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.20 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 🚀 Best Google Play Store Scraper

The ultimate **Google Play Store Scraper** designed to extract apps, reviews, search results, and developer data at lightning speed. Whether you are conducting market research, monitoring competitor performance, or analyzing user sentiment, our **Play Store Scraper** provides everything you need in structured formats like JSON, CSV, and Excel.

🏆 **Ranked #1 for reliability and speed!**

### 💸 Unbeatable Pricing: Pay Per Result

We believe in fair, transparent pricing. With this Google Play Scraper, you only pay for what you extract!

- **$0.20 per 1,000 results** (apps or reviews)
- **NO Platform Fee** 🚫
- **NO Actor Start Fee** 🚫
- **Unlimited potential for your business!**

Get **thousands of results for free** every month using the $5 free Apify plan.

### 🌟 Why use our Google Play Scraper?

When looking for a **Google Play scraper**, you need speed, accuracy, and depth. Our tool allows you to:

- **Scrape App Details**: Extract official app info, descriptions, ratings, genres, and developer contacts.
- **Scrape App Reviews**: Download thousands of user reviews, star ratings, and review dates.
- **Scrape Play Store Search**: Discover apps by keyword searches for ASO (App Store Optimization).
- **Competitor Tracking**: Identify market trends and track app performance over time.

### 📱 What data can this Play Store Scraper extract?

| App Details | Reviews Data | Developer Info |
|-------------|--------------|----------------|
| 📱 App Title & ID | 👤 Reviewer Name & Avatar | 🌐 Developer Website |
| 📝 Full Description | ⭐ Review Score (1-5) | 📧 Developer Email |
| 📈 Rating & Installs | 🗓️ Review Date | 📍 Developer Address |
| 💵 Price & Currency | 💬 Review Text | 🔐 Privacy Policy URL |
| 📸 Screenshots & Video | 👍 Helpful Votes | 🆕 Recent Changes |

***

### ⬇️ Input Example

Our **Google Play Store Scraper** is extremely easy to use. You can configure it via the Apify UI or use JSON to start your scraping task.

Here is an example input for scraping app details by URLs:

```json
{
  "action": "scrapeAppUrls",
  "scrapeAppUrls.urls": [
    "https://play.google.com/store/apps/details?id=com.chess"
  ]
}
```

Or, to scrape the latest reviews for a specific app:

```json
{
  "action": "scrapeReviews",
  "scrapeReviews.appId": "com.supercell.clashofclans",
  "scrapeReviews.lang": "en",
  "count": 1000
}
```

***

### ⬆️ Output Example

The data extracted by the **Play Store Scraper** is automatically stored in a dataset. You can download the data in multiple formats including **JSON, CSV, Excel, XML, or HTML**.

Here is a simplified example of the JSON output when extracting app details:

```json
{
  "title": "Chess - Play and Learn Online",
  "summary": "Play chess online with friends! Learn with lessons, puzzles & analysis!",
  "installs": "100,000,000+",
  "score": 4.689374,
  "ratings": 3294828,
  "reviews": 45964,
  "price": 0,
  "free": true,
  "currency": "USD",
  "developer": "Chess.com",
  "developerEmail": "support@chess.com",
  "developerWebsite": "https://www.chess.com/",
  "genre": "Board",
  "categories": [
    { "name": "Board", "id": "GAME_BOARD" },
    { "name": "Chess", "id": null }
  ],
  "icon": "https://play-lh.googleusercontent.com/...",
  "appId": "com.chess",
  "url": "https://play.google.com/store/apps/details?id=com.chess"
}
```

***

### ❓ FAQ

#### Do I need proxies to run this Google Play Store Scraper?

No! Our scraper is highly optimized and works out-of-the-box using the standard Apify infrastructure. You don't need to configure complex proxy settings to extract app store data.

#### Is there an official Google Play Store API?

No, Google Play does not offer an official public API for retrieving general app listings and reviews. This is exactly why developers and marketers rely on this **Play Store Scraper** as their unofficial API to access vital market data.

#### Can I integrate this scraper with other tools?

Absolutely! The Apify platform allows you to seamlessly integrate your extracted data with Zapier, Slack, Make, Google Drive, databases, and more via API or webhooks.

#### Is it legal to scrape data from Google Play?

Our scraper extracts publicly available data. However, be cautious with personal data (such as reviewer names) due to regulations like GDPR. Always ensure you have a legitimate reason for processing personal data.

***

#### Need help?

If you have any feedback or feature requests for the **Google Play Store Scraper**, please head over to the Issues tab and let us know! We are constantly updating this tool to remain the #1 scraping solution for the Play Store.

# Actor input Schema

## `action` (type: `string`):

Choose the type of data you want to extract: App Reviews, App Search Results, or detailed App Profiles.

## `scrapeReviews.appId` (type: `string`):

The unique Google Play ID of the application (e.g., com.supercell.clashofclans).

## `scrapeReviews.lang` (type: `string`):

Two-letter language code (e.g., en, es, de). Google Play groups reviews by language, so this determines the language of the reviews you extract.

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

Two-letter country code (e.g., us, gb, in) for the storefront. Note: This does not affect review language; use the **Review Language** setting for that.

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

Enter one or more keywords to discover apps in the Google Play Store search results.

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

Two-letter country code (e.g., us, gb, in) for localized search results.

## `scrapeAppUrls.urls` (type: `array`):

Provide a list of direct Google Play Store URLs to extract full app details.

## `scrapeSimilarApps.urls` (type: `array`):

Provide a list of direct Google Play Store URLs to extract their similar apps.

## `count` (type: `integer`):

Maximum number of items to extract per run. Leave empty to scrape all available results.

## `cursor` (type: `string`):

Paste a continuation token from a previous run to pick up exactly where you left off. Perfect for effortlessly scraping massive datasets without starting over!

## Actor input object example

```json
{
  "action": "scrapeReviews",
  "scrapeReviews.appId": "com.supercell.clashofclans",
  "scrapeAppSearch.keywords": [
    "trading",
    "market",
    "stocks",
    "investing",
    "crypto"
  ],
  "scrapeAppUrls.urls": [
    "https://play.google.com/store/apps/details?id=com.chess"
  ],
  "scrapeSimilarApps.urls": [
    "https://play.google.com/store/apps/details?id=com.chess"
  ],
  "count": 1000,
  "cursor": ""
}
```

# Actor output Schema

## `results` (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 = {
    "action": "scrapeReviews",
    "scrapeReviews.appId": "com.supercell.clashofclans",
    "scrapeAppSearch.keywords": [
        "trading",
        "market",
        "stocks",
        "investing",
        "crypto"
    ],
    "scrapeAppUrls.urls": [
        "https://play.google.com/store/apps/details?id=com.chess"
    ],
    "scrapeSimilarApps.urls": [
        "https://play.google.com/store/apps/details?id=com.chess"
    ],
    "count": 1000
};

// Run the Actor and wait for it to finish
const run = await client.actor("mikolabs/google-play-store-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 = {
    "action": "scrapeReviews",
    "scrapeReviews.appId": "com.supercell.clashofclans",
    "scrapeAppSearch.keywords": [
        "trading",
        "market",
        "stocks",
        "investing",
        "crypto",
    ],
    "scrapeAppUrls.urls": ["https://play.google.com/store/apps/details?id=com.chess"],
    "scrapeSimilarApps.urls": ["https://play.google.com/store/apps/details?id=com.chess"],
    "count": 1000,
}

# Run the Actor and wait for it to finish
run = client.actor("mikolabs/google-play-store-scraper").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 '{
  "action": "scrapeReviews",
  "scrapeReviews.appId": "com.supercell.clashofclans",
  "scrapeAppSearch.keywords": [
    "trading",
    "market",
    "stocks",
    "investing",
    "crypto"
  ],
  "scrapeAppUrls.urls": [
    "https://play.google.com/store/apps/details?id=com.chess"
  ],
  "scrapeSimilarApps.urls": [
    "https://play.google.com/store/apps/details?id=com.chess"
  ],
  "count": 1000
}' |
apify call mikolabs/google-play-store-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=mikolabs/google-play-store-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/BJogZ6eKKOY1EU8il/builds/6JF7hdegMGeuRXtUT/openapi.json
