---
name: apify-google-play-scraper
description: Scrape Google Play into structured JSON with the Apify Google Play API Actor (johnvc/google-play-api). Search mode returns ranked apps for any keyword with title, developer, rating, downloads band and the package name; product mode returns the full listing with version, updatedOn, releasedOn, contentRating, containsAds, hasInAppPurchases and the dataSafety declarations; reviews mode returns review text with rating, likes and reviewDate, 20 per upstream page with paging handled. Per-country and per-language storefronts. Use when the user wants a google play scraper, google play scraping, android app data as JSON or CSV, app listing metadata, or Play reviews from code. Pay per result, MCP-ready for Claude and other AI agents.
author: John Cole
author_url: https://github.com/johnisanerd
license: MIT
metadata:
  version: "1.0"
---

# Google Play Scraper. Apps, Listings, Reviews as Structured JSON

A Google Play scraper across search, listings, and reviews: keyword in, ranked apps out; package name in, full listing or review rows out.

## When to use this skill

- The user wants a "google play scraper" or "android app data" as JSON or CSV.
- They need listing metadata: version, last update, content rating, ads and IAP flags, data safety.
- They want app reviews with ratings and dates for a package name.
- They want a country and language specific view of the store.

Not for: keyword rank tracking over time (use the companion apify-play-store-rankings skill) or iOS data (the Apple App Store Actors, see `references/actor-index.md`).

## What you get

One dataset row per app, listing, or review. `resultType` tells them apart.

- Search rows: `position`, `title`, `developer`, `category`, `rating`, `downloads`, `productId` (the package name), `url`, `thumbnail`
- Listing rows add: `version`, `updatedOn`, `releasedOn`, `contentRating`, `price`, `containsAds`, `hasInAppPurchases`, `requiresAndroid`, `inAppPurchases`, `dataSafety`, `ratingBreakdown`, `developerWebsite`, `developerEmail`
- Review rows: `reviewId`, `snippet` (the review text), `rating`, `likes`, `reviewDate`, `productId`

## Prerequisites

- Apify account (sign up at https://apify.com?fpr=9n7kx3&fp_sid=skillrepo).
- Authentication via `apify login`, or an `APIFY_TOKEN` environment variable (Apify Console, Settings, Integrations).

## The Actor

- Store page: https://apify.com/johnvc/google-play-api?fpr=9n7kx3&fp_sid=skillrepo
- Actor ID: `johnvc/google-play-api`
- Pricing: pay per event; see the cost section below and `references/gotchas.md` for live-price commands.

## Run it with the Apify CLI

Keyword search (50 apps, US storefront):

```bash
apify actors call "johnvc/google-play-api" -i '{"search_mode":"search","query":"meditation","max_results":50}' \
  --json \
  --user-agent apify-awesome-skills/apify-google-play-scraper \
  2>/dev/null
```

Full listing for one app:

```bash
apify actors call "johnvc/google-play-api" -i '{"search_mode":"product","product_id":"com.spotify.music"}' \
  --json \
  --user-agent apify-awesome-skills/apify-google-play-scraper \
  2>/dev/null
```

Confirm live pricing and the input schema before a large batch:

```bash
apify actors info "johnvc/google-play-api" --json \
  --user-agent apify-awesome-skills/apify-google-play-scraper \
  2>/dev/null
```

Every call carries the three flags this repo expects: `--json`, `--user-agent apify-awesome-skills/apify-google-play-scraper`, and `2>/dev/null`.

## Run it from Claude or another AI agent (MCP)

The Actor is MCP-ready. Add the hosted server URL:

`https://mcp.apify.com/?tools=actors,docs,johnvc/google-play-api`

Then ask, for example: "Look up com.spotify.music on Google Play and summarize its data safety declarations and last update date." MCP setup docs: https://docs.apify.com/platform/integrations/mcp

## Workflow

1. Search by keyword to discover apps; rows carry the package name as `productId`.
2. Look up listings with `search_mode` `product` and the package name.
3. Pull reviews with `search_mode` `reviews`; 20 arrive per upstream page, `max_results` caps the total.
4. Pin `country` and `language` when comparing storefronts; defaults are `us` and `en`.
5. Join everything on `productId`; it is the package name and never changes.

## Inputs

- `search_mode` (enum `search`, `product`, `reviews`, required, default `search`)
- `query` (string): keyword for search mode, for example "meditation"
- `product_id` (string): the app package name for `product` and `reviews` modes, for example `com.spotify.music`
- `max_results` (integer, default 100): the cost driver in search and reviews modes
- `country` (string, default `us`): storefront country
- `language` (string, default `en`): storefront language

## Cost

Billing is pay per event, plus a negligible platform fee per dataset row. Prices below are the BRONZE tier at the time of writing; confirm live prices with the info command above.

- Search and review rows: about $0.00075 each. 100 reviews are about $0.075.
- Listing lookups: about $0.015 per app.

Suggested confirmation thresholds: warn the user over about $5; get explicit confirmation over about $20. Present cost as "around $X", never a guarantee.

## Honest limits

- `downloads` is the public band ("10,000,000+"), not an exact count.
- `containsAds` and `hasInAppPurchases` are null when the listing does not state them.
- Search rankings move with storefront and time; capture `position` per run rather than assuming stability.

## Troubleshooting

- Zero listing rows: the package name is wrong; copy the `id=` parameter from the Play URL exactly.
- Reviews stop early: the app has fewer public reviews than `max_results` in that storefront.
- One `errorMessage` row: clean upstream failure; the message says retry or fix the package name.

See `references/gotchas.md` for cost guardrails and error recovery, and `references/actor-index.md` for the Actor routing table.

## Related Actors

- Apple App Store Reviews API: https://apify.com/johnvc/apple-app-store-reviews-api?fpr=9n7kx3&fp_sid=skillrepo
- Apple App Store Search: https://apify.com/johnvc/apple-app-store-search?fpr=9n7kx3&fp_sid=skillrepo
- Apple App Store Product API: https://apify.com/johnvc/apple-app-store-product-api?fpr=9n7kx3&fp_sid=skillrepo
