Google Play Apps Scraper
Pricing
from $0.06 / 1,000 result extracteds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
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
| Setting | JSON key | Description |
|---|---|---|
| Search queries | queries | Google Play search terms such as app categories, brands, competitors, or keywords. |
| App IDs | appIds | Direct Android package IDs such as com.spotify.music. |
| Google Play app URLs | startUrls | Direct Google Play app detail URLs. Use queries for search discovery. |
| Country code | country | Two-letter Google Play country code used for localized rankings and prices. |
| Language code | language | Two-letter language code used for localized titles, descriptions, and rankings. |
| Maximum apps | maxResults | Maximum app records to save across all searches, IDs, and URLs. The Actor caps this at 500. |
| Include detailed app metadata | includeDetails | Fetch full detail fields such as installs, screenshots, content rating, release date, and developer contacts. |
| Search price filter | price | Best-effort search filter: all, free, or paid. Direct app IDs and URLs are always fetched. |
| Detail request concurrency | maxConcurrency | Simultaneous detail requests, from 1 to 10. Default: 3. |
| Transient request retries | maxRequestRetries | Retries for rate limits, server errors, timeouts, and network failures. Default: 2. |
| Processing time limit | runTimeSecs | Stops 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
| Field | Description |
|---|---|
query, rank, inputType | Search query, result rank, and whether the row came from search, app ID, or URL input. |
appId, title, developer, developerId, appUrl | Core app identity and Google Play URL. |
icon, screenshots, headerImage | Public image URLs when available. |
rating, ratingText, ratingsCount, reviewsCount | Rating and review metrics when Google Play provides them. |
installs, minInstalls, maxInstalls | Display and numeric install count fields when available. |
price, priceText, currency, free | Price and currency data. |
containsAds, inAppPurchases, inAppPurchaseRange | Monetization flags and purchase range when available. |
category, categoryId, categories | Primary and additional category values. |
summary, description | Short summary and long description when detail data is fetched. |
contentRating, released, updated, version | Store metadata fields when available. |
ratingHistogram, recentChanges | Rating distribution and latest public release notes when available. |
size, androidVersion, androidVersionText | Download size and Android requirements when available. |
video, videoImage, hasEarlyAccess, preregister, isAvailableInPlayPass | Promotional and availability metadata. |
developerWebsite, developerEmail, developerAddress, developerLegal* | Public developer contact and legal fields when Google Play exposes them. |
locale, scrapedAt | Request 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.
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
start | Once per valid run, after input validation | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 | $0.005 |
result | Charged 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 osfrom apify_client import ApifyClientclient = 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.musicandcom.duolingo, then compare ratings, installs, recent changes, and Android requirements.” - “Export lightweight search results for
fitness trackerwithout 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.
Related actors
- Google Play Reviews Scraper
- Apple App Store Apps Scraper
- Apple App Store Reviews Scraper
- Google Ads Transparency Center Scraper
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.