# Google Play Store Scraper: Apps, Reviews & Data API (`scrapers_lat/google-play-apps-scraper`) Actor

Google Play scraper and unofficial Play Store API for Android app data. Scrape apps by keyword, package name, developer or category in any country: ratings, reviews, installs, price, screenshots, developer email, contacts, data safety and permissions. No API key. Export JSON, CSV, Excel.

- **URL**: https://apify.com/scrapers_lat/google-play-apps-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Business, Automation, Developer tools
- **Features:** Limited permissions
- **Stats:** 4 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $6.15 / 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![Google Play Store Scraper: Apps, Reviews & Data API](https://scrapers.lat/banners/google-play-apps-scraper.png)](https://console.apify.com/actors/CbzuwsZJSbPCJcq8R/input)

## Google Play Store Scraper: Apps, Reviews & Data API

A fast, HTTP-only **Google Play scraper** and unofficial **Google Play Store API** for Android app data, developer contacts, data safety, permissions, similar apps and **Google Play reviews**. No API key and no Google account needed. Search by keyword, look up package names or app URLs, pull a developer's full catalog, or browse the top apps in a category, in any country and language, then export to JSON, CSV or Excel. Built for app market research, competitor tracking, lead generation and app store optimization (ASO).

Here is one real result, with every field the actor returns (the long `description` value and the `screenshots`, `permissions`, `similarApps`, `developerOtherApps` and `reviews` arrays are abbreviated here for readability; the actor returns them in full):

```json
{
  "icon": "https://play-lh.googleusercontent.com/IzQgYCcnCFCD08GR-3bdtcT8xzOvrNkC84avGT5CwTX2VIqmTmKKJcP_Cd4JoBOdmCMlTndlOzV6hrthg2fOWA",
  "title": "Spotify: Music and Podcasts",
  "appId": "com.spotify.music",
  "url": "https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=US",
  "developer": "Spotify AB",
  "developerId": "Spotify AB",
  "developerUrl": "https://play.google.com/store/apps/developer?id=Spotify+AB",
  "category": "Music & Audio",
  "categoryId": "MUSIC_AND_AUDIO",
  "score": 4.3430843,
  "scoreText": "4.3",
  "ratingsCount": 36186660,
  "reviewsCount": 1849617,
  "installs": "1,000,000,000+",
  "minInstalls": 1000000000,
  "maxInstalls": 3101265546,
  "price": 0,
  "currency": "USD",
  "free": true,
  "contentRating": "Teen",
  "containsAds": true,
  "inAppPurchasePriceRange": "$6.99 - $203.88 per item",
  "version": null,
  "minAndroidVersion": null,
  "recentChanges": "We're always making changes and improvements to Spotify...",
  "released": "May 27, 2014",
  "updated": "2026-08-24T08:23:21.000Z",
  "summary": "Listen to songs, play podcasts, create playlists and discover music you'll love",
  "description": "With the Spotify music and podcast app, you can play millions of songs, albums and original podcasts for free ...",
  "developerLegalName": "Spotify AB",
  "developerEmail": "support@spotify.com",
  "developerWebsite": "https://www.spotify.com",
  "developerAddress": "Regeringsgatan 19\n111 53 Stockholm\nSweden",
  "developerPhone": "+46 10 334 03 65",
  "privacyPolicy": "https://www.spotify.com/legal/privacy-policy/",
  "headerImage": "https://play-lh.googleusercontent.com/WdedaGD6EAXZgy88wZM97aIcenQ5Cqzu_IUWBMMalkZmVe2lhv_3YqIUh",
  "video": null,
  "videoImage": null,
  "ratingHistogram": { "1": 3705537, "2": 1071974, "3": 1326987, "4": 3079483, "5": 27002656 },
  "screenshots": ["https://play-lh.googleusercontent.com/c1jnjL-9CIFlwlTMX3xNyeo8aEH39sNuC5zp...", "... 39 more"],
  "dataShared": "Location, Personal info, and Device or other IDs",
  "dataCollected": "Location, Personal info and 7 others",
  "securityPractices": ["Data is encrypted in transit", "You can request that data be deleted"],
  "permissions": ["Identity: find accounts on the device", "Location: precise location (GPS and network-based)", "... 14 more"],
  "similarApps": [{ "appId": "com.zhiliaoapp.musically", "title": "TikTok - Videos, Shop & LIVE", "developer": "TikTok Pte. Ltd.", "score": 3.98, "price": 0, "icon": "https://...", "url": "https://play.google.com/store/apps/details?id=com.zhiliaoapp.musically" }, "... 5 more"],
  "developerOtherApps": [{ "appId": "com.spotify.tv.android", "title": "Spotify: Music & Podcasts", "developer": "Spotify AB", "score": 3.83, "price": 0, "icon": "https://...", "url": "https://play.google.com/store/apps/details?id=com.spotify.tv.android" }, "... 4 more"],
  "reviews": [{ "reviewId": "ca66ef49-93e8-4ca8-bbc4-d9b0b9c9dd99", "author": "ADNAN SAEED", "rating": 5, "text": "this app best app...", "date": "2026-08-25T02:32:43.000Z", "thumbsUp": 0, "appVersion": "9.1.76.2055", "replyText": null, "replyDate": null }, "... 14 more"],
  "observedAt": "2026-08-26T02:33:46.032Z",
  "error": null,
  "aiSummary": null,
  "aiTags": null,
  "aiAudience": null
}
```

The most complete Google Play app scraper on Apify. It returns every field the store listing and detail page expose, adds the fields most competitors skip (**rating histogram, data safety, Android permissions, in-app-purchase range, developer email/website/address/phone, similar apps, more-by-developer**), and can attach **user reviews with developer replies**, all from one HTTP-only actor across 40+ fields. Four discovery modes and six filters let you target exactly the apps you need.

**📥 [Input](https://apify.com/scrapers_lat/google-play-apps-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/google-play-apps-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/google-play-apps-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/google-play-apps-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-Google%20Play-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)
![Billing](https://img.shields.io/badge/Billing-Pay%20per%20result-brightgreen)

### Table of contents

- [What it does](#what-it-does)
- [How we compare](#how-we-compare)
- [Use cases](#use-cases)
- [Quickstart](#quickstart)
- [Input reference](#input-reference)
- [Output reference](#output-reference)
- [Example output record](#example-output-record)
- [Run via API and CLI](#run-via-api-and-cli)
- [Fetch results](#fetch-results)
- [Billing and limits](#billing-and-limits)
- [FAQ and troubleshooting](#faq-and-troubleshooting)

### What it does

This is a **Google Play Store scraper** that finds Android apps by one of four modes (keyword search, specific package names or app URLs, a developer's full catalog, or a store category), then writes one normalized record per app to the run's dataset. With details enabled (the default), each app is enriched from its detail page with the full description, developer contact fields, rating histogram, install estimates, pricing and in-app-purchase ranges, version and update info, media (icon, header image, screenshots, promo video), the Google Play **Data Safety** summary, **similar apps**, and the developer's other apps.

Optional add-ons extend each record further: scrape **Play Store reviews** (author, rating, text, date, thumbs up, app version, developer reply) and requested **Android permissions**, plus AI summary and AI tags. Store region and language are controlled by `country` (gl) and `language` (hl), and six filters (price, minimum rating, content rating) narrow results before details are fetched. Everything runs over plain HTTP, so runs are fast (a single app lookup with reviews completes in about 5 to 10 seconds).

### How we compare

All facts below were checked on the named actors' public Apify pages. Prices and adoption change; verify on each listing.

| Capability | This actor (scrapers_lat) | curious_coder/google-play-scraper | automation-lab/google-play-scraper | epctex/google-play-scraper | Reviews-only actors (neatrat, thewolves, theagents) |
|---|---|---|---|---|---|
| Adoption | Growing (public since 2026) | ~2,500 users | ~640 users | ~1,350 users | 500 to 2,400 users each |
| App metadata (title, installs, price, media) | Yes | Yes (thin field set) | Yes (rich) | Yes (sparse) | No (reviews only) |
| Rating histogram (5 to 1) | Yes | No | Yes | No | No |
| Data safety (shared / collected / practices) | Yes | No | No | No | No |
| Android permissions | Yes | No | No | No | No |
| In-app-purchase price range | Yes | No | Yes | No | No |
| Developer email / website / address / phone | Yes | No | Email only | Partial | No |
| Similar apps + more-by-developer | Yes | Similar only | No | No | No |
| Reviews with developer replies | Yes (add-on) | Yes | Yes | Yes | Yes |
| Keyword + appId + developer + category modes | All four | Search + appId + similar | Search + appId | URL only | appId / URL |
| Price / min-rating / content-rating filters | Yes | No | Score filter (reviews) | No | Rating filter (reviews) |
| Transport | HTTP, no browser | HTTP | HTTP | HTTP | HTTP |

Why switch to us: no other Google Play actor returns data safety, permissions, the rating histogram, the in-app-purchase range, full developer contact fields, similar apps and reviews-with-replies together in a single run. If you were stitching two actors (one for app metadata, one for reviews) you can replace both here.

Where a competitor may win, honestly: **curious_coder** is cheaper per app record and has the largest install base, so for a plain title-and-rating dump at the lowest unit price it is worth a look. **automation-lab** has an equally rich app field set (histogram, developer email, IAP) and a strong rating. If you only need reviews and nothing else, dedicated reviews actors like **neatrat**, **thewolves** and **theagents** bill around $0.10 per 1,000 reviews, which is cheaper per review than pulling reviews as an add-on here. We compete on completeness and having every surface in one place, not on being the cheapest single-field option.

### Use cases

- **App store optimization (ASO):** track a keyword's ranked apps, their ratings, histograms, install ranges and update cadence over time.
- **Competitor and market research:** pull a rival developer's full catalog, their similar-apps graph and category peers in one run.
- **Review mining and voice-of-customer:** collect Play Store reviews with ratings, versions and developer replies for sentiment and bug triage.
- **Lead generation:** capture developer email, website, address and phone across a category or search to build an app-publisher contact list.
- **Compliance and due diligence:** read each app's Google Play Data Safety declaration and requested Android permissions at scale.
- **Pricing and monetization analysis:** compare price, currency, in-app-purchase ranges and "contains ads" flags across a segment.
- **Catalog and dataset building:** export normalized Android app data to JSON, CSV or Excel for BI, feeds or model training.

### Quickstart

Open the actor, paste this into the input, and press Run. It looks up two apps by package name with full details.

```json
{
  "mode": "appIds",
  "appIds": ["com.whatsapp", "com.spotify.music"],
  "withDetails": true,
  "country": "US",
  "language": "en"
}
```

Every input is optional. With an empty input the actor runs in `search` mode with the default keyword. Switch `mode` to `search`, `developer`, or `category` to discover apps differently. To collect reviews, set `withReviews: true` and `maxReviews` (paid Apify plans only).

### Input reference

| Name | Type | Required | Description | Example |
|---|---|---|---|---|
| `mode` | string | no | Discovery mode: `search`, `appIds`, `developer`, `category`. | `search` |
| `searchQuery` | string | no | Keyword, used when mode is `search`. | `photo editor` |
| `appIds` | array | no | Package names or full app URLs, used when mode is `appIds`. | `["com.spotify.music"]` |
| `developer` | string | no | Exact developer name, used when mode is `developer`. | `Spotify AB` |
| `category` | string | no | Play Store category, used when mode is `category`. | `GAME` |
| `maxApps` | integer | no | Max apps to collect across the run. | `50` |
| `withDetails` | boolean | no | Enrich each app from its detail page (default true). | `true` |
| `country` | string | no | Two-letter country code (gl) for the store region. | `US` |
| `language` | string | no | Two-letter language code (hl) for returned text. | `en` |
| `priceFilter` | string | no | `all`, `free`, or `paid`. | `free` |
| `minRating` | integer | no | Keep apps with a star rating at or above this value (0 to 5). | `4` |
| `contentRatingFilter` | string | no | Keep apps whose content rating contains this text. | `Everyone` |
| `withDataSafety` | boolean | no | Include the Data Safety summary (default true, no extra cost). | `true` |
| `withSimilarApps` | boolean | no | Include the similar-apps list (default true). | `true` |
| `withDeveloperApps` | boolean | no | Include the developer's other apps (default true). | `true` |
| `withReviews` | boolean | no | Attach user reviews (paid plan add-on). | `true` |
| `maxReviews` | integer | no | Reviews per app when reviews are enabled (up to 1000). | `40` |
| `reviewsSort` | string | no | `newest`, `rating`, or `helpful`. | `newest` |
| `withPermissions` | boolean | no | Attach requested Android permissions (paid plan add-on). | `true` |
| `withAiSummary` | boolean | no | AI plain-English app summary (paid add-on). | `false` |
| `withAiTags` | boolean | no | AI topic tags and audience (paid add-on). | `false` |

### Output reference

| Name | Type | Description |
|---|---|---|
| `appId` | string | Android package name. |
| `title` | string | App name. |
| `url` | string | Canonical Play Store URL for the app. |
| `developer` | string | Developer display name. |
| `developerId` | string | Developer identifier used in the store URL. |
| `developerUrl` | string | Developer page URL. |
| `category` / `categoryId` | string | Human category label and Play Store category id. |
| `score` / `scoreText` | number / string | Average star rating (numeric and formatted). |
| `ratingsCount` | number | Number of ratings. |
| `reviewsCount` | number | Number of written reviews. |
| `ratingHistogram` | object | Counts per star, keys `5` to `1`. |
| `installs` | string | Formatted install count (e.g. `1,000,000,000+`). |
| `minInstalls` / `maxInstalls` | number | Install range estimate. |
| `price` / `currency` / `free` | number / string / boolean | Price, currency and free flag. |
| `inAppPurchasePriceRange` | string | In-app purchase price range, when present. |
| `containsAds` | boolean | Whether the app contains ads. |
| `contentRating` | string | Content rating (e.g. `Teen`). |
| `released` / `updated` | string | Release date and last update timestamp. |
| `version` / `minAndroidVersion` | string | App version and minimum Android version (null when Google shows "Varies with device"). |
| `summary` / `description` | string | Short summary and full description. |
| `recentChanges` | string | "What's new" release notes. |
| `icon` / `headerImage` / `screenshots` | string / array | Media URLs. |
| `video` / `videoImage` | string | Promo trailer URL and poster (mostly games). |
| `developerLegalName` / `developerEmail` / `developerWebsite` / `developerAddress` / `developerPhone` | string | Developer legal and contact fields. |
| `privacyPolicy` | string | Privacy policy URL. |
| `dataShared` / `dataCollected` | string | Google Play Data Safety summaries. |
| `securityPractices` | array | Declared security practices. |
| `permissions` | array | Requested Android permissions (add-on). |
| `similarApps` | array | Similar apps (appId, title, developer, score, price, icon, url). |
| `developerOtherApps` | array | Other apps by the same developer. |
| `reviews` | array | User reviews with author, rating, text, date, thumbsUp, appVersion, replyText, replyDate (add-on). |
| `aiSummary` / `aiTags` / `aiAudience` | string / array | Optional AI enrichment (add-ons). |
| `observedAt` | string | ISO timestamp when the record was scraped. |
| `error` | string | Error message for a failed lookup, otherwise null. |

Fields not exposed by Google Play for a given app are returned as `null` rather than omitted.

### Example output record

See the abbreviated real record at the top of this page. In a live run the `description`, `screenshots`, `permissions`, `similarApps`, `developerOtherApps` and `reviews` arrays are returned in full.

### Run via API and CLI

Start a run with the Apify API:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~google-play-apps-scraper/runs?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode":"search","searchQuery":"vpn","country":"US","maxApps":25}'
```

Run with the Apify CLI:

```bash
apify call scrapers_lat/google-play-apps-scraper \
  --input '{"mode":"appIds","appIds":["com.spotify.music"],"withReviews":true,"maxReviews":50}'
```

### Fetch results

Download dataset items as JSON (or `?format=csv` / `?format=xlsx`):

```bash
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_TOKEN&format=json"
```

The `DATASET_ID` is returned in the run response as `defaultDatasetId`.

### Billing and limits

- **Pay per result.** You are billed per app record returned (the `result` event), with a `details` event when the detail page is fetched. Optional `ai_summary` and `ai_tags` events bill only when the AI produces usable output.
- **No charge on failure.** A run that returns no apps, or an app that errors, does not bill a result for that item.
- **Free Apify plans** are capped at 10 results per run, and the paid add-ons (reviews, permissions, AI) are disabled for free plans. Upgrade for higher volume and add-ons.
- **Spend cap respected.** Set `maxTotalChargeUsd` on the run and the actor stops emitting billable results once the cap is reached.
- Reviews and permissions each cost one extra HTTP request per app and are only fetched when their toggle is on and you are on a paid plan.

### FAQ and troubleshooting

**Is this an official Google Play API?**
No. It is an independent scraper that reads public Play Store pages and returns normalized JSON. It is not affiliated with or endorsed by Google.

**Do I need an API key or a Google account?**
No. There is no Google Play API key, login, or Google account to set up. You only need an Apify account to run the actor. It scrapes public Play Store pages directly.

**Can I export Google Play data to CSV, Excel or Google Sheets?**
Yes. Results land in an Apify dataset you can download as JSON, CSV, or Excel (XLSX), and push to Google Sheets, a webhook, Zapier or Make, or pull through the Apify API.

**Can it scrape Google Play reviews?**
Yes. Set `withReviews: true` and `maxReviews` (up to 1000 per app), and choose `reviewsSort` (newest, rating, or helpful). Each review includes the developer reply text and date when present. Reviews are a paid-plan add-on.

**Does it return the rating histogram and data safety?**
Yes. Every detailed record includes the 5-to-1 `ratingHistogram`, and the `dataShared`, `dataCollected` and `securityPractices` fields from the Google Play Data Safety section. These are not offered by most competing actors.

**Which countries and languages are supported?**
Any Google Play region. Set `country` (gl) to a two-letter country code and `language` (hl) to a two-letter language code. Prices, availability and text change per region.

**Why are `version` or `minAndroidVersion` sometimes null?**
Google now shows "Varies with device" for many large apps, in which case there is no fixed value to return and the field is honestly null.

**How do I look up specific apps?**
Use `mode: appIds` and pass package names (e.g. `com.spotify.music`) or full Play Store URLs. The actor extracts the package id from a URL automatically.

**Is it fast?**
Yes. It parses the JSON embedded in the store pages over plain HTTP with no headless browser, so a single app with reviews completes in roughly 5 to 10 seconds and multi-app runs fetch details in parallel.

### More scrapers at scrapers.lat

Browse the full catalog of company registry, lead generation, e-commerce and market-data scrapers at [scrapers.lat](https://scrapers.lat) and on the [Apify Store](https://apify.com/scrapers_lat).

Not affiliated with, endorsed by, or sponsored by Google. "Google Play" is a trademark of Google LLC. This actor collects publicly available data only.

# Actor input Schema

## `maxApps` (type: `integer`):

Maximum number of apps to collect across the whole run. Optional.

## `withDetails` (type: `boolean`):

When enabled, every app found in search, developer or category mode is enriched by fetching its detail page (full description, screenshots, ratings count, version, update date, privacy policy and more). When disabled, only the listing-level fields are returned. App IDs mode always fetches full details.

## `mode` (type: `string`):

How to find apps. Search finds apps by keyword. App IDs looks up specific package names. Developer lists every app by a developer. Category lists top apps in a Play Store category.

## `searchQuery` (type: `string`):

Keyword to search for, used when mode is Search. Example: photo editor, vpn, budget tracker.

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

Android package names or full Play Store app URLs to look up, used when mode is App IDs. Example: com.whatsapp, com.spotify.music, https://play.google.com/store/apps/details?id=com.netflix.mediaclient.

## `developer` (type: `string`):

Exact developer name as shown on the store, used when mode is Developer. Example: WhatsApp LLC, Spotify AB.

## `category` (type: `string`):

Play Store category, used when mode is Category. Lists the top apps in that category.

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

Two-letter country code for the store region. Affects availability, price and ranking.

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

Two-letter language code for the returned text (titles, descriptions).

## `priceFilter` (type: `string`):

Keep only free apps, only paid apps, or all. Applied to search, developer and category results.

## `minRating` (type: `integer`):

Keep only apps with an average star rating at or above this value (0 to 5). Leave empty for no rating filter.

## `contentRatingFilter` (type: `string`):

Keep only apps whose content rating contains this text (case-insensitive), for example Everyone, Teen, Mature. Leave empty for no filter.

## `withDataSafety` (type: `boolean`):

Include the Google Play Data Safety summary (data shared, data collected, security practices). Comes from the app page, no extra cost.

## `withSimilarApps` (type: `boolean`):

Attach the Play Store "Similar apps" list (appId, title, developer, score, icon, url) to each app record.

## `withDeveloperApps` (type: `boolean`):

Attach the developer's other apps ("More by ..." list) to each app record.

## `withReviews` (type: `boolean`):

Attach user reviews (author, rating, text, date, thumbs up, app version, developer reply) to each app record. Requires a paid Apify plan.

## `maxReviews` (type: `integer`):

How many reviews to fetch per app when reviews are enabled (up to 1000).

## `reviewsSort` (type: `string`):

Order reviews by newest, highest rating, or most helpful.

## `withPermissions` (type: `boolean`):

Attach the app's requested Android permissions (grouped, human-readable) to each record. Requires a paid Apify plan.

## `withAiSummary` (type: `boolean`):

Optional paid AI add-on, off by default. Generates a 2-3 sentence plain-English summary of each app from its store description. Requires a paid Apify plan. Billed only when a summary is produced.

## `withAiTags` (type: `boolean`):

Optional paid AI add-on, off by default. Extracts topic/feature keyword tags and a target-audience phrase for each app. Requires a paid Apify plan. Billed only when tags are produced.

## Actor input object example

```json
{
  "maxApps": 10,
  "withDetails": true,
  "mode": "search",
  "searchQuery": "messenger",
  "appIds": [
    "com.whatsapp",
    "com.spotify.music"
  ],
  "category": "GAME",
  "country": "US",
  "language": "en",
  "priceFilter": "all",
  "withDataSafety": true,
  "withSimilarApps": true,
  "withDeveloperApps": true,
  "withReviews": false,
  "maxReviews": 40,
  "reviewsSort": "newest",
  "withPermissions": false,
  "withAiSummary": false,
  "withAiTags": false
}
```

# 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 = {
    "maxApps": 10,
    "searchQuery": "messenger",
    "appIds": [
        "com.whatsapp",
        "com.spotify.music"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/google-play-apps-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 = {
    "maxApps": 10,
    "searchQuery": "messenger",
    "appIds": [
        "com.whatsapp",
        "com.spotify.music",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/google-play-apps-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 '{
  "maxApps": 10,
  "searchQuery": "messenger",
  "appIds": [
    "com.whatsapp",
    "com.spotify.music"
  ]
}' |
apify call scrapers_lat/google-play-apps-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/google-play-apps-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/CbzuwsZJSbPCJcq8R/builds/UNcQzwiTwfY1S83yv/openapi.json
