🔑 ASO Keyword Rank Tracker — App Store & Google Play avatar

🔑 ASO Keyword Rank Tracker — App Store & Google Play

Pricing

from $8.00 / 1,000 keyword checks

Go to Apify Store
🔑 ASO Keyword Rank Tracker — App Store & Google Play

🔑 ASO Keyword Rank Tracker — App Store & Google Play

Track App Store and Google Play keyword rankings for your apps — position within a searched depth, with a SERP fingerprint. Not-found-within-depth is a named state. No API key or ASO subscription.

Pricing

from $8.00 / 1,000 keyword checks

Rating

0.0

(0)

Developer

NexGen Watch

NexGen Watch

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

ASO teams and app companies pay to track keyword position by term, store, and country — the recurring optimization input that tells you whether your ASO work is actually moving rankings.

What you get

  • Keyword rank position for your target apps by term, store, and country
  • Coverage of both Apple Search and the public Google Play search surface
  • Explicit search depth and a matched flag so partial-coverage is never hidden
  • A 9-field record with previous_status for movement tracking
  • Optional watch mode that emits only position changes on later runs

Use cases by team

  • ASO teams: Measure keyword rank weekly and prove which optimizations moved the needle.
  • App marketers: Track branded and category terms across both stores in one run.
  • Competitive intel: See where rivals rank for the keywords you care about.
  • Leadership: Get a recurring, comparable ASO scorecard instead of ad-hoc spot checks.

Example inputs

Track one keyword

{
"keywords": [
"music"
],
"target_app_ids": [
"324684580",
"com.spotify.music"
],
"watchMode": false
}

Several keywords

{
"keywords": [
"music",
"podcasts",
"radio"
],
"target_app_ids": [
"324684580"
],
"country": "us"
}

Watch for rank changes

{
"keywords": [
"music"
],
"target_app_ids": [
"324684580"
],
"watchMode": true
}

📊 Sample Output

{
"store": "apple",
"country": "us",
"keyword": "music",
"target_app_ids": [
"324684580"
],
"position": 2,
"previous_status": "up",
"search_depth": 50,
"matched": true,
"checked_at": "2026-07-21T00:00:00Z"
}

How it works

Give it keywords and the target app IDs you care about. It checks each app's position in Apple Search and the public Google Play search surface, to an explicit search depth, and returns the rank with a matched flag. Public search surfaces only — no login or access-control defeating.

Pricing

EventPrice (FREE tier)
Actor start (apify-actor-start)$0.02
Keyword check (keyword-check)$0.02
Watch check (watch-check)$0.05

Flat list prices; Apify applies its automatic FREE→DIAMOND plan discount on top. Worked example: 20 keyword checks = $0.02 start + 20 × $0.02 = $0.42. Blocked or zero-result runs do not intentionally charge; watch runs with no delta charge only the watch check. New to Apify? Start free.

Run it — API, CLI, MCP

API:

curl -X POST "https://api.apify.com/v2/acts/nexgenwatch~aso-keyword-tracker/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d @input.json

CLI:

$apify call nexgenwatch/aso-keyword-tracker -i @input.json

MCP: expose nexgenwatch/aso-keyword-tracker through Apify's MCP server, select it as a tool, and pass the same input object.

ActorWhat it does
Review Sentiment AnalyzerTurn any review set into themes, complaints, sentiment % and trends.
Apple App Store ReviewsScrape public Apple App Store reviews for any app.
Google Play ReviewsScrape public Google Play reviews for any app.
App Rankings TrackerTrack Apple App Store top-chart rankings by country.

Compliance & honest limits

  • Public search surfaces only — no login, CAPTCHA, paywall, or access-control defeating.
  • Rank is measured to an explicit search_depth; an app deeper than that returns matched: false rather than a guessed position.
  • A source-confirmed empty result is SUCCEEDED-0: GENUINE_EMPTY; exhausted retries fail and truncated runs are PARTIAL.

FAQ

What do I need to provide?

Keywords plus the target_app_ids you want ranked — Apple numeric IDs and/or Google Play package names.

What does matched: false mean?

Your app wasn't found within the configured search_depth for that keyword — an honest 'not in range', not an error.

Does it cover both stores?

Yes — Apple Search and the public Google Play search surface, in one run.

Does zero mean blocked?

No. A confirmed-empty search is GENUINE_EMPTY; only exhausted retries fail.

How does watch mode work?

Set watchMode: true. Later runs emit only keywords whose position changed, with previous_status.

How is it priced?

$0.02 per run start plus $0.02 per keyword check; watch checks with no change cost $0.05.

How deep does it search?

To the configured search_depth; raise it to catch lower-ranked positions.

Troubleshooting

  • Always matched: false? Your app may rank below search_depth for that term — raise the depth, or confirm the app ID.
  • Wrong country? Set country; it defaults to US.
  • Watch mode emitting everything? The first run seeds the baseline; change-only deltas start on the second run.
  • Mixed store IDs? You can pass both Apple numeric IDs and Play package names in target_app_ids.
  • Want the full listing metadata? Pair with the App Store Metadata scraper for the apps you track.

About

Part of the NexGenData App Intelligence cluster — the recurring ASO scorecard that closes the loop with metadata and rankings. Built by NexGenData. Questions or need a custom feed? Open an issue on the Actor page.