Google Play Apps Scraper avatar

Google Play Apps Scraper

Pricing

from $0.06 / 1,000 result extracteds

Go to Apify Store
Google Play Apps Scraper

Google Play Apps Scraper

Export localized Google Play search results and rich app details, including ratings, installs, prices, media, release notes, Android requirements, and public developer contacts.

Pricing

from $0.06 / 1,000 result extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 days ago

Last modified

Share

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 and videos, release notes, Android requirements, public developer contacts, 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.

Ready-to-run examples

Start with a published example task or copy the same idea into your own run:

  • Google Play App Search ASO: collect app search results for ASO keyword research.
  • Google Play Competitor App Details: enrich known competitor app IDs.
  • Google Play Fitness App Search: export a small category/keyword sample.
  • Google Play UK Budgeting Apps: compare localized app search results.
  • Google Play URL Metadata Extraction: start from direct Google Play app URLs.

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.

Input configuration

SettingJSON keyDescription
Search queriesqueriesGoogle Play search terms such as app categories, brands, competitors, or keywords.
App IDsappIdsDirect Android package IDs such as com.spotify.music.
Google Play app URLsstartUrlsDirect Google Play app detail URLs. Use queries for search discovery.
Country codecountryTwo-letter Google Play country code used for localized rankings and prices.
Language codelanguageTwo-letter language code used for localized titles, descriptions, and rankings.
Maximum appsmaxResultsMaximum app records to save across all searches, IDs, and URLs. The Actor caps this at 500.
Include detailed app metadataincludeDetailsFetch full detail fields such as installs, screenshots, content rating, release date, and developer contacts.
Search price filterpriceBest-effort search filter: all, free, or paid. Direct app IDs and URLs are always fetched.
Detail request concurrencymaxConcurrencySimultaneous detail requests, from 1 to 10. Default: 3.
Transient request retriesmaxRequestRetriesRetries for rate limits, server errors, timeouts, and network failures. Default: 2.
Processing time limitrunTimeSecsStops new work early enough to save collected rows and a run summary before timeout. Default: 270 seconds.

Example input

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

Output fields

FieldDescription
query, rank, inputTypeSearch query, result rank, and whether the row came from search, app ID, or URL input.
appId, title, developer, developerId, appUrlCore app identity and Google Play URL.
icon, screenshots, headerImagePublic image URLs when available.
rating, ratingText, ratingsCount, reviewsCountRating and review metrics when Google Play provides them.
installs, minInstalls, maxInstallsDisplay and numeric install count fields when available.
price, priceText, currency, freePrice and currency data.
containsAds, inAppPurchases, inAppPurchaseRangeMonetization flags and purchase range when available.
category, categoryId, categoriesPrimary and additional category values.
summary, descriptionShort summary and long description when detail data is fetched.
contentRating, released, updated, versionStore metadata fields when available.
ratingHistogram, recentChangesRating distribution and latest public release notes when available.
size, androidVersion, androidVersionTextDownload size and Android requirements when available.
video, videoImage, hasEarlyAccess, preregister, isAvailableInPlayPassPromotional and availability metadata.
developerWebsite, developerEmail, developerAddress, developerLegal*Public developer contact and legal fields when Google Play exposes them.
locale, scrapedAtRequest locale and scrape timestamp.

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"
}

Pricing

This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.

EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
startOnce per valid run, after input validation$0.005$0.005$0.005$0.005$0.005$0.005
resultCharged per Google Play app result extracted.$0.115 / 1,000$0.1 / 1,000$0.078 / 1,000$0.06 / 1,000$0.04 / 1,000$0.028 / 1,000

Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.

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.
  • Google Play can vary search behavior: upstream Google Play responses have occasionally ignored country or price filters. Treat those filters as best-effort and verify critical market comparisons with direct app IDs.
  • Partial runs preserve useful data: if one detail page disappears or changes format, its search-card row is kept when possible and the error is recorded in RUN_SUMMARY.

API usage

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

Node.js

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);

Python:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/google-play-apps-scraper").call(run_input={
"queries": ["fitness tracker"],
"country": "us",
"maxResults": 10,
"includeDetails": True,
})
print(run["defaultDatasetId"])

cURL:

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-play-apps-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"queries":["fitness tracker"],"country":"us","maxResults":10,"includeDetails":true}'

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.

Claude CLI:

$claude mcp add --transport http apify-google-play "https://mcp.apify.com?tools=fetch_cat/google-play-apps-scraper"

JSON configuration for MCP clients:

{
"mcpServers": {
"apify-google-play": {
"type": "http",
"url": "https://mcp.apify.com?tools=fetch_cat/google-play-apps-scraper"
}
}
}

Example prompts:

  • “Find 20 budgeting apps on Google Play in the UK and include detailed metadata.”
  • “Enrich com.spotify.music and com.duolingo, then compare ratings, installs, recent changes, and Android requirements.”
  • “Export lightweight search results for fitness tracker without fetching app detail pages.”

FAQ

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.

Support

Open an issue on the Actor page if Google Play changes its public response format or if you need a field clarified. To make a problem reproducible, include:

  • the Apify run ID or run URL;
  • the exact input JSON, with secrets removed;
  • the expected output and the actual output;
  • one reproducible public URL (normally a Google Play app page) or search query, when applicable.

Do not post Apify tokens, cookies, private URLs, or other credentials.

Privacy and data handling

This Actor runs with Apify limited permissions and processes only the inputs needed for the documented run. It requests public Google Play search and app-detail pages, then stores results in your Apify run storage. FetchCat does not use your inputs or outputs for advertising or model training and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.