How to Track App Store Keyword Rankings via API
You shipped your keywords into the title and subtitle — now you want to know one simple thing: where does my app actually rank when someone searches? The usual answer is a $150–250/mo ASO platform subscription with app and keyword caps. If all you need is the position, ASORadar answers it with one GET request, billed per request from $0.001.
One request, one answer
Check up to 10 keywords per call. The response tells you the 1-based position of your app in live App Store search results, per term:
curl "https://api.asoradar.com/a1/keyword-rank?app_id=572688855&terms=todoist,todo%20list,task%20manager&country=us&access_key=YOUR_KEY"
{
"ok": true,
"data": {
"app_id": "572688855",
"country": "us",
"checked_depth": 100,
"terms": [
{ "term": "todoist", "rank": 1, "found": true, "leaders": [ ... ] },
{ "term": "todo list", "rank": 3, "found": true, "leaders": [ ... ] },
{ "term": "task manager", "rank": 7, "found": true, "leaders": [ ... ] }
],
"summary": { "terms_checked": 3, "ranked_count": 3, "best": { "term": "todoist", "rank": 1 } }
}
}
Each term also carries the top-3 leaders for that query (id, title, developer) — so you see who owns the keyword you're chasing — plus total_results and cache freshness metadata. rank: null means your app isn't in the top num (default 100, up to 200) for that term.
Google Play works the same way
curl "https://api.asoradar.com/g1/keyword-rank?app_id=com.todoist&terms=todo%20list&country=us&lang=en&access_key=YOUR_KEY"
Same response shape; add lang for the storefront language. Both endpoints are cached for 5 minutes, so a dashboard polling the same terms doesn't re-hit the stores.
Finding keywords worth tracking
/a1/keyword-ideas and /g1/keyword-ideas mine the stores' own autocomplete: pass a seed term, get the real phrases people type. With expand=true it walks the whole seed + a..z suggestion tree (27 calls) and merges the results.
Reading demand honestly: store autocomplete is popularity-ordered, and every idea lists its sources — which prefixes surfaced it. A phrase that appears under many prefixes at high positions is in real demand. ASORadar deliberately does not fabricate numeric volume scores — for absolute keyword popularity, pair this with Apple Search Ads data.
Alerts when your rank moves
Polling is fine for a dashboard; for everything else there's a webhook. Subscribe once and get an HMAC-signed POST when your app moves in search results for a term — up, down past your threshold, enters the top-N, or drops out:
curl -X POST "https://api.asoradar.com/webhooks?access_key=YOUR_KEY" \
-H "content-type: application/json" \
-d '{"kind":"keyword_rank","target_url":"https://hooks.example.com/rank",
"criteria":{"store":"apple","app_id":"572688855","term":"todo list","country":"us","threshold":3}}'
Deliveries retry automatically with backoff, payloads are signed, and you can pause or rotate secrets from the dashboard.
Pricing
Pay per request, from $0.001: a keyword-rank call bills one unit per term (10 terms = 10 units), keyword-ideas bills per upstream call (1, or 27 with expand=true). No subscription, no keyword caps, no app slots. 100 free requests to try it — no card.
What ASORadar doesn't do
No search volume or difficulty scores — that's Search Ads Popularity panel data; get it from Apple Search Ads directly. ASORadar gives you the parts an indie actually iterates on: live positions, real autocomplete phrases, competitor leaders per keyword, review intelligence — and webhooks so you don't have to look.
Full parameter reference in the API docs; every endpoint is also an MCP tool, so your AI agent can run the whole loop for you.