Google Play Apps Scraper

Scrape Google Play app search results and app details for ASO, market research, and competitor intelligence.

Data fields

FieldTypeDescription
querystring | nullSearch query that produced the app, or null for direct app IDs and URLs.
rankinteger | nullResult rank within the search response, or null for direct app inputs.
inputTypestringInput path that produced the row.
appIdstringAndroid package ID.
titlestring | nullGoogle Play app title when available.
developerstring | nullDeveloper name when available.
developerIdstring | nullGoogle Play developer ID when available.
appUrlstringGoogle Play app detail URL.

Input preview

queriesSearch queries
appIdsApp IDs
startUrlsGoogle Play app URLs
countryCountry code
languageLanguage code
maxResultsMaximum apps

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

Ready-to-run examples

Open a saved Apify example, adjust the input, and run the actor in your own Apify account.

View all examples

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Google Play Apps Scraper exports public Google Play app search results and app detail metadata for ASO, market research, and competitor tracking.

Use it to collect Android app titles, package IDs, developers, ratings, installs, prices, categories, descriptions, screenshots, contact fields, and localized metadata.

At a glance

  • Extracts: app ID, title, developer, URL, icon, rating, ratings/reviews counts, installs, price, ads/IAP flags, category, summary, description, media URLs, release/update data, developer website, and developer email when available.
  • Inputs: search queries, direct app IDs, direct Google Play app URLs, country, language, maximum results, detail toggle, and price filter.
  • Best for: ASO research, competitor discovery, app store market snapshots, lead enrichment, and product intelligence.
  • Exports: Apify dataset rows downloadable as CSV, JSON, Excel, or available through the API.
  • Login: no Google account, cookies, or Google API key are required.

What can it do?

  • Export Google Play search results: Save ranked app rows for keywords, categories, brands, or competitor searches.
  • Enrich known apps: Fetch app metadata from direct package IDs or Google Play app URLs.
  • Collect ASO fields: Capture titles, summaries, descriptions, ratings, installs, screenshots, categories, and pricing signals.
  • Localize market snapshots: Use country and language inputs to compare localized rankings, prices, and metadata.
  • Use as a Google Play apps API workflow: Run from API, schedules, webhooks, or MCP-compatible agents and export CSV/Excel/JSON.

Common workflows

  • Research ASO keywords: collect top search results for a keyword and compare titles, summaries, ratings, installs, and categories.
  • Enrich app IDs: pass known package IDs to get detail fields without running a discovery search.
  • Compare competitors: run a small app list weekly and track metadata changes in your own database.
  • Build app market datasets: export localized rows to spreadsheets, BI tools, or warehouse jobs through the Apify API.

Example input

{
  "queries": ["fitness tracker"],
  "appIds": ["com.spotify.music"],
  "country": "us",
  "language": "en",
  "maxResults": 10,
  "includeDetails": true,
  "price": "all"
}

Example output

{
  "query": "fitness tracker",
  "rank": 1,
  "inputType": "search",
  "appId": "com.example.fitness",
  "title": "Example Fitness App",
  "developer": "Example Developer",
  "appUrl": "https://play.google.com/store/apps/details?id=com.example.fitness&hl=en&gl=US",
  "rating": 4.5,
  "ratingsCount": 12000,
  "installs": "1,000,000+",
  "free": true,
  "containsAds": true,
  "inAppPurchases": true,
  "category": "Health & Fitness",
  "locale": "en_US",
  "scrapedAt": "2026-07-03T09:00:00.000Z"
}

Tips for best results

  • Use direct app IDs for known apps: package IDs are the most precise input for enrichment.
  • Use small keyword batches: test search quality with one keyword and 10-25 results before scaling.
  • Set country and language deliberately: rankings, prices, titles, and descriptions can change by locale.
  • Keep details enabled for richer rows: developer contacts, screenshots, installs, and descriptions depend on detail data.

Limits and caveats

  • This is not a reviews scraper: use Google Play Reviews Scraper for review text and developer replies.
  • Fields vary by app: some apps do not expose contact details, screenshots, install ranges, or update data.
  • Search ranking changes: Google Play search order can shift by country, language, time, and personalization outside the Actor.
  • Large runs can take longer: detail pages are richer but slower than search-card metadata.

API usage

Run from the Apify API or SDK with the same input keys shown above.

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/google-play-apps-scraper').call({
  queries: ['fitness tracker'],
  country: 'us',
  language: 'en',
  maxResults: 10,
  includeDetails: true
});
console.log(run.defaultDatasetId);

MCP and AI agents

For AI agents, use the official Apify MCP server. The focused single-Actor URL is:

https://mcp.apify.com?tools=fetch_cat/google-play-apps-scraper

The default MCP server can search and run Actors. The focused URL exposes this Actor directly to clients that support tool-scoped MCP connections.

Support

Open an issue on the Actor page if Google Play changes its public response format or if you need a field clarified.

Common questions

Questions and answers reused from the canonical actor README.

Can I export app data to CSV, Excel, JSON, or API?

Yes. Apify datasets support all of those access paths.

Does this require a Google Play account?

No. It reads public Google Play app data.

Can I scrape reviews with this Actor?

No. Use Google Play Reviews Scraper for review rows.

Why are some fields null?

Google Play does not expose every field for every app, and some fields require includeDetails: true.

Can I monitor competitors over time?

Yes. Schedule the same app IDs or search query and compare dataset exports across runs.