ASO Keyword Rank Tracker: App Store & Google Play
Pricing
from $0.70 / 1,000 rank rows
ASO Keyword Rank Tracker: App Store & Google Play
Track where apps rank for any keyword on the App Store and Google Play in 57 countries, and do ASO keyword research with each store's own keyword suggestions (autocomplete). Top results in store order, the rank of every app you track, and Google Play read in each country's language.
Pricing
from $0.70 / 1,000 rank rows
Rating
0.0
(0)
Developer
Daniel Meshulam
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
See where any app ranks for any keyword on the App Store and Google Play, in 57 countries. Get the top results as each store orders them, the rank of every app you track, and the keyword ideas each store suggests, with rating, installs, developer and price.
No API key, no login, no Apple or Google developer account.
Why the ranks here are the store's ranks
Most keyword trackers read Apple's public Search API and report its order as the App Store ranking. It is not the same list. Measured on five keywords in September 2026, Apple's API put the right app in the right position for only 5 to 7 of the top 10 App Store results.
So this Actor reads the App Store's own search page for the top positions, which is the exact order a user sees (9 to 14 apps depending on the country, measured in all 57), and continues in Apple's API order below that. Every row says which it is:
rankSource | What it means |
|---|---|
app-store-page | the App Store's exact position |
itunes-search-api | Apple's API order, used below the store page's top positions (approximate) |
google-play-page | Google Play's exact position |
Two more things a naive tracker gets wrong, handled here:
- App Store stories are not apps. An editorial card in the results is skipped, so it does not push every app below it down a place.
- In-app event cards are apps. When the App Store shows an app's event card instead of its usual listing, that is still the app at that position, and it is ranked (
hasInAppEvent: true). - Google Play ranks depend on the phone's language. Read in English, "vpn" in Germany kept only 1 of its top 10 apps in the same position as the German ranking a German phone sees. So each country is read in its own language (German in Germany, pt-BR in Brazil, es-419 in Mexico), and every Play row says which in
language. Setlanguagetoento read every country in English instead.
Track your apps
{"keywords": ["meditation", "sleep sounds", "breathing exercises"],"stores": ["app-store", "google-play"],"countries": ["us", "gb", "de"],"trackApps": ["571800810", "com.calm.android"],"topN": 10}
For every keyword, store and country you get:
- the top 10 apps (
rowType: "top-result"), your own flagged withtracked: true - one row per tracked app (
rowType: "tracked-app") with itsrank, orrankStatus: "not-in-top-N"when it is not there, where N is how deep that search actually went: up to 200 on the App Store (Apple usually returns 180 to 196) and 30 on Google Play
Set topN to 0 to get only your tracked apps: the cheapest way to run a daily rank check.
App ids: an App Store numeric id (571800810), an App Store bundle id (com.calm.calmapp), or a Google Play package name (com.calm.android). A numeric id is only looked for on the App Store, so a Play package is never reported as "not ranked" on a store it cannot be in.
Keyword ideas
Turn on includeSuggestions and every keyword also returns what the store itself suggests while it is being typed, in the store's own order: the phrases real users are steered towards.
{"keywords": ["medit"],"stores": ["app-store", "google-play"],"countries": ["us", "jp"],"topN": 0,"includeSuggestions": true}
That run returns only ideas (rowType: "suggestion"), such as meditation, meditation timer and mediterranean diet on the US App Store, and 瞑想アプリ 無料 on the Japanese one. Each store answers in its own market's language. App Store suggestions cover 56 of the 57 countries; Bangladesh returns an unbilled note instead.
What you get per row
{"rowType": "top-result","keyword": "meditation","store": "app-store","country": "US","rank": 1,"rankSource": "app-store-page","appId": "337472899","bundleId": "com.spotlightsix.zentimer","title": "Insight Timer: Meditate, Sleep","subtitle": "Meditation & Anxiety Relief","developer": "Insight Network Inc","rating": 4.9,"ratingCount": 446397,"ageRating": "13+","isEditorsChoice": true,"hasInAppEvent": true,"genre": "Health & Fitness","price": 0,"currency": "USD","depthChecked": 10,"exactPositions": 10,"checkedAt": "2026-09-16T10:00:00Z"}
Google Play rows carry installs (e.g. 10,000,000+), the listing summary and the language the store was read in (category names come back in that language, e.g. Wetter in Germany); App Store rows carry subtitle, ratingCount, ageRating, isEditorsChoice and releaseDate.
Built to be scheduled
Ranks only mean something over time. Schedule this daily; every row has checkedAt, so consecutive runs become a rank history per keyword with no extra work. The Your apps over time view shows exactly that.
Pricing
$1.00 per 1,000 rows, pay per result, lower on higher Apify plans. No subscription.
- A daily check of 20 keywords for one tracked app, in both stores and one country, is 40 rows a day: about $1.20 a month.
- A search that could not be read, and an input value that is not usable, each come back as an unbilled error row naming it.
maxItemscaps the whole run.
Honest limits
- Google Play ranks go to 30. That is every app Google Play's search page lists; its old way of paging further no longer works. An app below 30 is reported as
not-in-top-30. - App Store exact positions go as deep as the store page does (9 to 14, depending on the country). Below that the order is Apple's API order, labelled
itunes-search-api, which is close but not identical. Tracked apps are looked for in the top 200. - No search volume or difficulty scores. Keyword popularity numbers come from Apple Search Ads or paid ASO suites; this Actor reports what the stores show, not an estimate.
Input reference
| Field | What it does | Default |
|---|---|---|
keywords | the search terms, up to 100 per run | required |
stores | app-store, google-play, or both | both |
countries | two-letter codes from the list below | us |
language | Google Play only: read every country in this language (en, de, pt-BR) instead of its own | each country's own |
trackApps | App Store numeric ids or bundle / package names | none |
topN | top results per search, 0 to 50; 0 returns only tracked apps and ideas | 10 |
includeSuggestions | also return each store's keyword ideas | off |
maxItems | a ceiling on rows for the whole run | none |
Countries
United States, United Kingdom, Canada, Australia, India, Germany, France, Spain, Italy, Netherlands, Sweden, Norway, Denmark, Finland, Poland, Portugal, Ireland, Austria, Switzerland, Belgium, Czechia, Romania, Hungary, Greece, Turkey, Saudi Arabia, United Arab Emirates, Egypt, South Africa, Nigeria, Kenya, Brazil, Mexico, Argentina, Colombia, Chile, Peru, Japan, South Korea, Taiwan, Hong Kong, Singapore, Malaysia, Thailand, Vietnam, Philippines, Indonesia, New Zealand, Russia, Ukraine, Kazakhstan, Pakistan, Bangladesh, Sri Lanka, Qatar, Kuwait, Morocco.
Pairs with
- Google Play Top Charts Scraper: the Top Free, Paid and Grossing charts
- App Store Top Charts Scraper: the same for the App Store
- App Store & Google Play Scraper: full details for any app you found here
- App Store & Google Play Reviews Scraper: what users say about the apps that outrank you
Use it from an AI agent
This Actor is a ready-made tool for Claude, ChatGPT, Cursor or any other MCP client, through Apify's MCP server. Add it as a connector at:
https://mcp.apify.com?tools=glitchbound/aso-keyword-rank-tracker
In Cursor or VS Code the same address goes in mcp.json:
{ "mcpServers": { "apify": { "url": "https://mcp.apify.com?tools=glitchbound/aso-keyword-rank-tracker" } } }
The first call asks you to sign in to Apify, or takes an API token. From then on the agent sees this Actor's input fields and calls it directly.
Feedback
If this saved you time, a review on the Actor's Store page helps other people find it. If something is missing or wrong, the Issues tab on the same page is the fastest way to reach me, and it gets read.