How to Track App Store Rankings for Free (No ASC Credentials Needed)
Here's something most indie developers don't know: you can check your App Store ranking for any keyword without logging into App Store Connect, without paying for an ASO tool, and without sharing any credentials.
Apple's iTunes Search API is public. It returns the same results a user sees when they search the App Store — up to 200 results per query.
The API Endpoint
The search endpoint is:
https://itunes.apple.com/search?term=YOUR_KEYWORD&country=US&media=software&limit=200
Parameters:
term— the search keyword (URL-encoded)country— two-letter storefront code (US, GB, DE, RU, JP, etc.)media=software— limits results to iOS appslimit=200— maximum results (the API caps at 200)
The response is JSON. Each result includes the app's trackId, trackName, bundleId, and position in the array = its rank.
How to Find Your Rank
Search for your keyword, then find your app's trackId or bundleId in the results array. Its index + 1 = its rank.
curl "https://itunes.apple.com/search?term=habit+tracker&country=US&media=software&limit=200" \
| jq '.results | to_entries[] | select(.value.bundleId == "com.yourapp.bundle") | .key + 1'
If nothing comes back, you're not in the top 200 for that keyword.
What You Can Track
- Your rank for any keyword in any storefront
- Competitor positions — who else appears in your searches
- Keyword gaps — search a term, see if your app appears. If not, that's a gap.
- Ranking history — poll weekly, store the results, chart the trend
- Regional differences — your rank in US vs DE vs JP can be completely different
Limitations
- Top 200 only. If you rank #250, you won't appear. The API doesn't tell you "you're #250" — it just doesn't return you.
- No search volume data. The API tells you who ranks where, but not how many people search that term. For volume estimates, you need Apple Search Ads or a paid tool.
- Rate limits. Apple doesn't document official limits, but ~20 requests/minute is safe. Don't hammer it.
- Results can vary. Apple personalizes search slightly based on download history. The API returns the "default" ranking, which is close to what most users see.
Automating It
A simple cron job + script can poll your keywords weekly and store results in a JSON file:
#!/bin/bash
KEYWORDS=("habit tracker" "daily routine" "streak app")
for kw in "${KEYWORDS[@]}"; do
encoded=$(echo "$kw" | jq -sRr @uri)
curl -s "https://itunes.apple.com/search?term=${encoded}&country=US&media=software&limit=200" \
| jq "{keyword: \"$kw\", date: \"$(date -u +%Y-%m-%d)\", results: [.results[].bundleId]}" \
>> ranks.jsonl
done
Then parse ranks.jsonl to find your app's position in each result set.
Or Just Use a Tool
If scripting this feels like overkill, AppClimb does exactly this — but with a UI, historical charts, competitor overlays, and alerts when your rank moves significantly.
It uses the same public iTunes Search API. No App Store Connect credentials. No account required. Your tracked keywords and rank history live in a local JSON file on your Mac.
The free tier tracks unlimited apps and keywords. No trial, no card.
Start tracking in 2 minutes.
Download AppClimb, add your app, pick your keywords. Rankings update automatically.
Download AppClimb for macOS