App Store & Google Play Scraper avatar

App Store & Google Play Scraper

Pricing

from $0.70 / 1,000 apps

Go to Apify Store
App Store & Google Play Scraper

App Store & Google Play Scraper

Scrape App Store and Google Play in one run: ASO keyword research (suggestions, popularity, difficulty), keyword ranks, top charts up to 200, app details and developer portfolios. Ratings, installs, prices, IAPs, developer contacts.

Pricing

from $0.70 / 1,000 apps

Rating

0.0

(0)

Developer

Dmitrii Nepochatykh

Dmitrii Nepochatykh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Categories

Security

Limited permissions

Share

App Store & Google Play Scraper extracts app data from the Apple App Store and Google Play in one run: ASO keyword research (store search suggestions with popularity and difficulty scores), keyword search results with ranks, top charts (top free, top paid, top grossing, up to 200 apps per chart), full app details and every app of a developer. One clean dataset with the same fields for both stores — ready for Excel, Google Sheets, dashboards or your AI pipeline.

No login, no API keys, no cookies. About 2,000 apps in under 2 minutes. Ratings, rating counts, installs, prices and discounts, ratings histogram, in-app purchases, developer email and website, privacy labels, data safety, version history and similar apps.

Try it in one click

The input is prefilled with the US top free apps chart: click Start and get the top 20 apps from each store (40 rows) in about 10 seconds, for about $0.04.

Real output, US top free charts (October 2026):

RankApp StoreRating (ratings)Google PlayRating (installs)
1Capital One Mobile4.85 (11.2M)Muse from Meta4.73 (5M+)
2Muse from Meta4.85 (303K)ChatGPT4.78 (1B+)
3Vinted: Pre-loved marketplace4.88 (522K)Settings Home4.45 (100K+)
4ChatGPT4.83 (11.5M)Vinted: Shop & sell pre-loved4.47 (100M+)

Keyword search works the same way. Real ranks for the keyword "vpn" in the US (October 2026):

RankApp StoreGoogle Play
1VPN - Super Unlimited Proxy (4.63, 2.1M ratings)VPN - Super Unlimited Proxy (4.72, 100M+ installs)
2VPN - Fast & Secure VPN ™ (4.67)Proton VPN: Secure & Fast VPN (4.68, 100M+)
3Proton VPN: Fast & Secure (4.65)Turbo VPN - Secure VPN Proxy (4.72, 500M+)

Keyword research turns one seed into a list of real store searches with scores. Seed "meditation", US, both stores, tracking Calm: 200 keywords in 81 seconds (about $0.40). Real output, October 2026:

KeywordStorePopularityDifficultyCalm's rank
meditationApp Store72823
meditation timerApp Store585017
meditation timer freeApp Store47336
meditation trackerApp Store443514
meditation apps freeGoogle Play69475
meditation timerGoogle Play5765not in top 30

"Meditation timer free" is searched often enough to be suggested after 6 letters, but its top results are weak (median 782 ratings) — a better target for a small app than "meditation" itself.

What can this App Store and Google Play scraper do?

  • ASO keyword research: start from a seed keyword and get the searches the stores themselves suggest (plus seed a … seed z long-tail expansion), each with a popularity score, a difficulty score, the top 5 apps and your app's rank for that keyword.
  • Search apps by keyword in both stores and get each app's rank — track ASO keyword positions for your app and competitors.
  • Scrape top charts: top free, top paid and top grossing (Google Play), overall or per category (games, finance, health…), up to 200 apps per chart, any country.
  • Scrape app details by ID or URL: rating, ratings count, ratings histogram, installs (Google Play, incl. exact install count), price and discount, in-app purchases, version, release notes, last update, release date, minimum OS, size, languages, screenshots, video.
  • Developer data: developer name, ID, website, support email and address (Google Play), and every app of a developer.
  • Privacy: App Store privacy labels and Google Play data safety summary.
  • Similar apps and more by this developer for competitor mapping.
  • Many countries in one run; same output format for both stores.

Who uses app store data?

  • ASO specialists and app marketers: daily keyword ranks and chart positions for your app and competitors in many markets.
  • Mobile product teams and investors: spot rising apps in top charts, compare ratings, installs and pricing across categories.
  • Lead generation and agencies: developer emails, websites and addresses of apps in a category or chart.
  • Market researchers and data teams: build app datasets per category and country.
  • AI builders: unified JSON is ready for LLM analysis, agent tools and RAG.

Why this scraper

This ActorTypical app store scrapers
App Store + Google Play in one run, same fields✅one store only
Search, charts, details and developers in one Actor✅one mode per Actor
Top charts up to 200 apps, per category and country✅often top 100 or one store
Rank on every search and chart row (ASO tracking)✅rarely
Keyword suggestions with popularity and difficulty✅separate ASO tool subscription
Ratings histogram on both stores✅rarely
Developer email and address (Google Play)✅sometimes
One flat price per app, details included✅extra charges per query

How to scrape App Store and Google Play

  1. Click Try for free.
  2. Fill one or more jobs: Keyword research seeds (e.g. meditation), Search keywords, Top charts with Chart categories, App Store apps / Google Play apps (IDs or URLs), or Developers.
  3. Choose countries and how many results you want per search, chart or developer.
  4. Turn on Full details if you also want histograms, developer emails and privacy data for search and chart results.
  5. Click Start, then download JSON, CSV, Excel or HTML, or connect the dataset to Google Sheets.

Input

FieldExampleNotes
keywordSeeds["meditation", "habit tracker"]keyword research: one row per suggested keyword
keywordExpansion"alphabet"also ask for seed a … seed z (more long-tail keywords); "none" = seed only
maxKeywords50keywords per seed, store and country (max 300)
keywordPopularity / keywordMetricstruepopularity score / difficulty, top apps and tracked ranks
trackApps["571800810", "com.calm.android"]your apps: their rank is added to every keyword row
searchTerms["meditation", "budget planner"]each result has rank and searchTerm
charts["top-free", "top-paid", "top-grossing"]top grossing is Google Play only
chartCategories["ALL", "GAMES", "FINANCE"]one name for both stores; App Store genre IDs (7012) and Google Play codes (GAME_PUZZLE) also work
appStoreApps["324684580", "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"]always full details
googlePlayApps["com.spotify.music"]always full details
developers["Spotify AB", "https://apps.apple.com/us/developer/spotify/id324684583"]Google Play name or URL, App Store URL or apple:<id>
stores["appstore", "googleplay"]for searches and charts; default both
countries["us", "gb", "de"]every job runs in every country
language"en"Google Play text language
maxResults50per search term, chart and developer (max 200)
fullDetailsfalseopen each app page for histogram, emails, privacy, similar apps
appleDevice"iphone"App Store charts for iPhone or iPad
{
"searchTerms": ["meditation"],
"charts": ["top-free", "top-grossing"],
"chartCategories": ["HEALTH_AND_FITNESS"],
"countries": ["us", "gb"],
"maxResults": 100
}

Output: app data

One row per app per job (the same app found by two keywords appears twice, each with its own rank):

{
"store": "googleplay",
"appId": "com.moonactive.coinmaster",
"title": "Coin Master",
"developer": "Moon Active",
"rating": 4.61,
"ratingCount": 10423543,
"price": 0,
"currency": "EUR",
"free": true,
"installs": "100,000,000+",
"genre": "Casual",
"url": "https://play.google.com/store/apps/details?id=com.moonactive.coinmaster&hl=en&gl=de",
"source": "chart",
"chart": "top-grossing",
"chartCategory": "GAMES",
"rank": 1,
"country": "de",
"reviewCount": 154558,
"ratingHistogram": {"1": 444580, "2": 116131, "3": 322590, "4": 1256940, "5": 8283227},
"realInstalls": 349226463,
"developerEmail": "support@coinmastergame.com",
"hasInAppPurchases": true,
"inAppPurchases": "€0.49 - €349.99 if billed through Play",
"containsAds": true,
"version": "3.5.2753",
"updated": "2026-10-19T12:19:30+00:00",
"chartBadge": "#1 top grossing casual",
"similarApps": [{"appId": "com.superplaystudios.dicedreams", "title": "Dice Dreams™️"}],
"detailLevel": "full"
}

Main fields: store, appId, title, developer, rating, ratingCount, price, currency, free, installs, genre, url, plus the job context source (search, chart, details, developer), searchTerm, chart, chartCategory, rank, country. detailLevel says how complete a row is: listing (search or chart card), standard (App Store API data) or full (app page opened). Fields a store does not publish are null (e.g. installs on the App Store).

Output: ASO keyword research

Keyword research rows have source: "keyword" (the dataset has a Keywords view). One row per keyword, store and country:

{
"store": "appstore",
"keyword": "meditation timer",
"seed": "meditation",
"country": "us",
"source": "keyword",
"isSeed": false,
"foundVia": "meditation",
"suggestionRank": 3,
"popularity": 58,
"popularityPrefix": 5,
"difficulty": 50,
"titleMatches": 6,
"resultsChecked": 47,
"topAppsAvgRating": 4.68,
"topAppsAvgRatingCount": 46762,
"topAppsMedianRatingCount": 985,
"trackedAppRanks": {"571800810": 17},
"topApps": [
{"rank": 1, "appId": "337472899", "title": "Insight Timer: Meditate, Sleep", "rating": 4.9, "ratingCount": 448174},
{"rank": 2, "appId": "1318993458", "title": "Simple Meditation Timer", "rating": 4.45, "ratingCount": 110}
]
}
  • foundVia / suggestionRank: what was typed in the store search box and where the keyword appeared in the suggestions.
  • popularity (1–100, 0 = not suggested even when typed in full): how many letters users must type before the store suggests the keyword — popularityPrefix. 1 letter = 100, each extra letter −7, lower suggestion slots slightly less. Stores suggest what people search often, so this is a free proxy for search volume.
  • difficulty (0–100): 70% strength of the top 10 apps (ratings count on the App Store, installs on Google Play, log scale) + 30% share of them with the whole keyword in the title.
  • titleMatches: how many of the top 10 apps have every word of the keyword in their title.
  • topAppsMedianRatingCount (App Store) / topAppsMedianInstalls (Google Play): how big the typical top-10 app is.
  • trackedAppRanks: rank of each of your trackApps in this keyword's results (null = not in the results checked).

Ready-made setups

Copy the JSON into the Input → JSON tab, click Save as a new task, then add a Schedule and an integration (Google Sheets, Slack, email, webhook) on the task's Integrations tab.

1. Daily ASO keyword rank tracker (ASO specialists, app marketers). Your keywords in your main markets; filter the rows by your app ID to chart your rank over time. Schedule: daily. About $0.80 per run (5 keywords × 2 stores × 2 countries × up to 50 apps).

{
"searchTerms": ["habit tracker", "daily planner", "to do list", "routine", "goal tracker"],
"countries": ["us", "gb"],
"maxResults": 50
}

2. Weekly category charts (product teams, investors). Top free, top paid and top grossing in your category, up to 200 apps per chart. Schedule: weekly. About $1.00 per run (about 1,000 apps).

{
"charts": ["top-free", "top-paid", "top-grossing"],
"chartCategories": ["FINANCE"],
"countries": ["us"],
"maxResults": 200
}

3. Competitor watch (mobile teams). Full details of your app and competitors on both stores: rating histogram, version, last update, price changes. Schedule: daily or weekly. A few cents per run.

{
"appStoreApps": ["324684580", "336353151"],
"googlePlayApps": ["com.spotify.music", "com.soundcloud.android"],
"countries": ["us", "de"]
}

4. Keyword research for a new app or update (ASO specialists, indie developers). Seeds that describe your app; sort by popularity (high) and difficulty (low), keep keywords where your app is close to the top. Schedule: monthly. About $0.80 per run (2 seeds × 2 stores × 100 keywords).

{
"keywordSeeds": ["habit tracker", "daily planner"],
"keywordExpansion": "alphabet",
"maxKeywords": 100,
"trackApps": ["<your App Store ID>", "<your.google.play.package>"],
"countries": ["us"]
}

Use it from AI agents (MCP, Claude, ChatGPT, n8n)

MCP server. Add this URL to Claude, Cursor, VS Code or any other MCP client and sign in to Apify when asked:

https://mcp.apify.com?tools=d_nepoch/app-store-google-play-scraper
{
"mcpServers": {
"app-store-google-play": { "url": "https://mcp.apify.com?tools=d_nepoch/app-store-google-play-scraper" }
}
}

Then just ask, for example: "What are the top 20 grossing games on Google Play in Germany right now, with their install counts?", "Where does Headspace rank for 'meditation' on the App Store and Google Play in the US and UK?" or "List all apps by Spotify AB with ratings and last update dates" or "Find popular, low-competition App Store keywords around 'habit tracker' in the US". The agent fills search terms, charts, countries and app IDs itself.

One HTTP call (waits for the run and returns the apps as JSON; for runs longer than 5 minutes use the async runs endpoint):

curl -X POST "https://api.apify.com/v2/acts/d_nepoch~app-store-google-play-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["meditation"], "countries": ["us"], "maxResults": 20}'

Python (pip install apify-client, version 3):

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("d_nepoch/app-store-google-play-scraper").call(
run_input={"charts": ["top-grossing"], "chartCategories": ["GAMES"], "countries": ["de"], "maxResults": 20},
max_total_charge_usd=1, # hard spending cap for this run
)
for app in client.dataset(run.default_dataset_id).iterate_items():
print(app["rank"], app["store"], app["title"], app["rating"], app["installs"])

No-code and agent frameworks: the Apify integrations for n8n, Make, Zapier, LangChain, LlamaIndex and CrewAI call this Actor by the name d_nepoch/app-store-google-play-scraper with the same JSON input.

Tips for agents: keyword research rows have source = keyword and fields keyword, popularity, difficulty, trackedAppRanks; use keywordExpansion: "none" for a quick check of one keyword. Other rows: one row = one app in one job (search term, chart, app list or developer) and one country; store is appstore or googleplay; rank is the position in that search or chart; appId is the numeric App Store ID or the Google Play package name; set maxTotalChargeUsd to cap spend.

How much does it cost to scrape app store data?

$1.00 per 1,000 apps saved to the dataset, the same price with or without full details. Keyword research: $2.00 per 1,000 keywords, popularity, difficulty, top apps and tracked ranks included. Paid Apify plans get lower prices: Starter −10%, Scale −20%, Business −30% (from $0.70 per 1,000 apps and $1.40 per 1,000 keywords). Platform usage is included — you pay only per app (see the Pricing tab).

Set Max total charge in run options to cap your spend — the Actor stops cleanly when the limit is reached. New Apify accounts get free monthly credits, enough for thousands of apps.

FAQ

How many results can I get? Charts: up to 200 apps per chart, category and country. App Store keyword search: up to 200 apps per keyword. Google Play keyword search: about 30 apps per keyword (that is all the Google Play website shows); add related keywords to go wider.

Is the rank the same as in the store app? Chart ranks match the official charts on the App Store and Google Play websites. Google Play search ranks come from the Google Play website. App Store search ranks come from Apple's public search API, which is very close to, but not always identical with, the order in the App Store app on a phone.

Where do the keywords come from? From the search suggestions of the App Store and Google Play themselves (what the store shows while you type), for the country you choose. The App Store gives up to 10 suggestions per query, Google Play 5; the alphabet expansion asks for seed a … seed z to collect long-tail keywords.

Is popularity the real search volume? No store publishes search volume for free. Popularity measures how early the store suggests a keyword while you type it — stores rank suggestions by how often people search them, so it is a good relative signal. Keywords that start with rare letters (brand and app names) can score high after very few letters; check topApps before targeting them.

Can I track my app's keyword rankings every day? Yes: save the keywords as a task, add a daily schedule and filter the rows by your appId.

Can I get reviews too? Use the companion App Store & Google Play Reviews Scraper with the appId values from this dataset.

Why is the App Store genre in English for other countries? Apple's API returns genre names in English; titles, descriptions and privacy labels come in the country's language.

Is scraping app store data legal? The Actor collects only publicly visible store pages. Developer contact details are personal data in some cases, so use them in line with privacy laws such as GDPR and the stores' terms. If unsure, ask a lawyer.

Limits

  • App Store web charts publish top free and top paid only; top grossing is available for Google Play.
  • Google Play search shows about 30 apps per keyword on the web.
  • Keyword popularity and difficulty are estimates from public store data (suggestions and top results), not Apple Search Ads volumes. App Store suggestions are available for about 120 countries.
  • App Store details include the ratings histogram, privacy labels and in-app purchases when Apple shows them on the app page for that country.
  • Data is what each store shows for the selected country (and language on Google Play); apps not available in a country are reported in the log and skipped.

Other scrapers by this developer

Feedback

Found a bug or need a field? Open an issue on the Issues tab — fixes usually ship within a few days.