App Store Keyword Rank Tracker & App Store Top Charts - ASO
Pricing
Pay per event
App Store Keyword Rank Tracker & App Store Top Charts - ASO
Apple App Store keyword rank tracker and top charts (free, paid, grossing, new) by country and category, plus Apple Podcasts charts and daily rank changes. Official Apple feeds, $0.50/1k rows.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Yukai Lin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
What does App Store Keyword Rank Tracker & Top Charts do?
Input: countries plus chart types and categories, or keywords plus the apps you track. Output: one row per chart entry, search result or tracked-app rank. Price: $0.50 per 1,000 chart entries or search results, $3 per 1,000 tracked-app ranks, no start fee; empty, failed and invalid items are free (a search for which Apple returns no apps at all is free too).
It gives you Apple App Store top charts and keyword rankings as clean rows, from Apple's own public feeds:
- 📈 Top charts: Top Free, Top Paid, Top Grossing and New apps for iPhone, iPad and Mac, in any App Store country (us, gb, de, jp, br…), overall or per category (Productivity, Finance, Games, "Games: Puzzle"…). Up to the top 100 of each chart
- 🎙️ Apple Podcasts charts: Top Podcasts overall or per category (Technology, Business, True Crime…), with the RSS feed URL and episode count on request
- 🔎 Keyword ranks (ASO): for each keyword and country, the position of your app and your competitors in App Store search results (up to 200 deep), plus the top N apps for that keyword
- 📊 Daily rank changes: turn on Compare with the previous run and schedule it: every row gets
changeType(new, up, down, same),previousRankandrankChange, and apps that left a chart get a freedroppedrow - ⭐ Optional details: average rating, rating count, version, last update, content rating and size for every app in a chart (same price)
- 💵 $0.50 per 1,000 chart entries or search results, $3 per 1,000 tracked-app ranks. No start fee. Empty charts and failed requests are free
Where the data comes from, and Apple's limits
| What | Apple source | Limit |
|---|---|---|
| Top charts (apps) | Apple's public chart feeds itunes.apple.com/<country>/rss/<chart>/limit=100[/genre=<id>]/json | Top 100 per chart. iPad has Top Free, Paid and Grossing, Mac only Top Free (Apple's Mac Paid and Grossing feeds are empty); "New apps" charts exist for iPhone and have no per-category version |
| Top Podcasts | Same feeds (toppodcasts) | Top 100 per country and category |
| Keyword ranks | The iTunes Search API (itunes.apple.com/search, software) | Up to 200 results per keyword and country (Apple answers with about 5% fewer than asked: a search depth of 200 returns around 190 apps). Apple asks for about 20 calls per minute, so keyword searches run about 3 seconds apart |
| Details | The iTunes Lookup API | 100 apps per call |
What this means in practice:
- Charts are Apple's own ranking, the same lists as the App Store's charts, refreshed by Apple several times a day (
chartUpdatedAton each row). - Keyword ranks are the order of Apple's Search API, which is a public version of App Store search. It is close to what users see, but the App Store app can personalise results and show ads first; treat ranks as a consistent daily signal rather than the exact position on one person's phone. Every keyword row carries
rankSource: "itunes-search-api"so the caveat travels with the data. - Top 200 or deeper chart positions are not published by Apple's public feeds, so this Actor stops at 100.
Who is it for?
- App developers and ASO specialists: track your app's keyword positions and chart ranks every day, in every country you care about
- Mobile marketers and agencies: watch competitors climb or fall, spot new apps entering a category chart
- Investors and analysts: daily Top Grossing snapshots per country and category, as a time series
- Podcasters and podcast networks: Top Podcasts per category and country, with feed URLs
How much does it cost?
Price per 1,000 events by Apify plan:
| Event | Free | Starter | Scale | Business and higher |
|---|---|---|---|---|
| Chart entry or search result | $0.50 | $0.50 | $0.45 | $0.40 |
| Tracked app keyword rank | $3.00 | $3.00 | $2.70 | $2.40 |
No start fee. Not charged: empty charts, charts or searches that fail, searches for which Apple returns no apps at all, "dropped out of the chart" rows, and invalid inputs. Details and descriptions are included at the same price.
Examples: the top 100 Top Free apps in 10 countries = 1,000 entries = $0.50. 20 keywords × 3 countries × 2 tracked apps = 120 ranks = $0.36 (plus $0.03 if you also list the top 5 results per keyword).
For comparison (checked September 2026, Apify Store, Free plan prices): sourabhbgp/apple-app-store-scraper charges $0.002 per result; slothtechlabs/ios-android-app-rankings-scraper $0.001 per app ranking; slothtechlabs/aso-keyword-rank-tracker $0.001 per result row; petersutarik/aso-keyword-intel $0.002 per ranking row; epctex/appstore-scraper $0.005 per search result; johnvc/apple-app-store-search $0.015 per app plus $0.0175 per run.
Control your cost
- What is charged: each chart entry or search result row returned, and each tracked app's rank for a keyword and country.
- Positions per chart (default 100) and Top results to list per keyword (default 10) cap the rows per chart or keyword.
- At the start, the run logs its worst case (e.g.
Plan: 40 chart entries × $0.0005 = at most $0.02 (worst case for 4 charts × top 10 …)) and warns when that is more than your maximum charge per run. - When the maximum charge per run is reached, the run stops, keeps everything found so far, and says so. The
SUMMARYrecord then hasstatus: "LIMIT_REACHED"andnotProcessed(charts or keywords not processed).
How to use it
- Pick What to get: Top charts or Keyword ranks.
- Enter Countries (two-letter codes).
- Charts: pick the Charts and Categories ("all" for the overall chart) and Positions per chart. Keyword ranks: enter Keywords and the Apps to track (App Store links, ids or bundle ids).
- Optional: Compare with the previous run plus a Monitor name, then create a daily schedule.
- Click Start. The Chart entries, Keyword ranks and Top search results tables are in the Output tab; export as CSV, Excel or JSON, or call the Actor from the API.
Input example: charts
{"mode": "charts","countries": ["us", "jp"],"chartTypes": ["topfree", "topgrossing"],"genres": ["all", "Games: Puzzle"],"maxRank": 100,"includeDetails": true,"compareWithPrevious": true,"monitorName": "daily-charts"}
Input example: keyword ranks
{"mode": "keywords","keywords": ["habit tracker", "to do list"],"trackApps": ["https://apps.apple.com/us/app/habitkit/id6443918070", "983826477"],"countries": ["us", "gb"],"resultsPerKeyword": 3,"compareWithPrevious": true,"monitorName": "my-keywords"}
Output example: chart entry
{"type": "chart-entry","success": true,"input": "us Top Free","media": "apps","device": "iphone","country": "us","chart": "topfree","chartTitle": "Top Free","genreId": null,"genre": "All","rank": 1,"appId": "6760173601","bundleId": "com.facebook.hatch","name": "Muse from Meta","developer": "Meta Platforms, Inc.","developerId": "284882218","developerUrl": "https://apps.apple.com/us/developer/meta-platforms-inc/id284882218","price": 0,"currency": "USD","priceLabel": "Get","category": "Productivity","categoryId": "6007","releaseDate": "2026-09-08T07:00:00.000Z","url": "https://apps.apple.com/us/app/muse-from-meta/id6760173601","iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/73/72/9b/73729ba4-8f07-dabc-9e4c-07ee3d667630/HatchAppIconPublic-0-0-1x_U007ephone-0-1-0-sRGB-0-85-220.png/512x512bb.png","averageRating": 4.87,"ratingCount": 107455,"version": "9.0","currentVersionReleaseDate": "2026-09-26T18:41:05Z","contentRating": "17+","fileSizeMB": 130,"primaryGenre": "Productivity","changeType": "new","previousRank": null,"rankChange": null,"chartUpdatedAt": "2026-09-30T14:30:30.000Z","charged": true}
(averageRating … primaryGenre appear with Add ratings and version details. With comparison on, the second run says e.g. "changeType": "up", "previousRank": 10, "rankChange": 7.)
Output example: podcast chart entry (with details)
{"type": "chart-entry","input": "us Top Podcasts True Crime","media": "podcasts","country": "us","chart": "top","chartTitle": "Top Podcasts","genreId": 1488,"genre": "True Crime","rank": 1,"podcastId": "1322200189","name": "Crime Junkie","author": "Audiochuck","category": "True Crime","url": "https://podcasts.apple.com/us/podcast/crime-junkie/id1322200189","feedUrl": "https://feeds.simplecast.com/qm_9xx0g","episodeCount": 531,"latestEpisodeDate": "2026-09-28T07:00:00Z","genres": ["True Crime"],"charged": true}
Output example: tracked app keyword rank
{"type": "keyword-rank","success": true,"keyword": "to do list","country": "us","device": "iphone","searchDepth": 200,"resultsReturned": 183,"trackedApp": "983826477","appId": "983826477","appName": "Productive - Habit Tracker","rank": 79,"found": true,"changeType": "new","topResults": [{ "rank": 1, "appId": "993066159", "name": "To Do List MinimaList & Widget" },{ "rank": 2, "appId": "1212616790", "name": "Microsoft To Do" },{ "rank": 3, "appId": "572688855", "name": "Todoist: To Do List & Calendar" }],"charged": true}
A tracked app that is not in the searched results gets "rank": null, "found": false (still a useful answer, charged as a rank).
Errors (not charged)
{ "type": "input", "input": "newapps + Games: Puzzle", "field": "genres", "success": false, "errorType": "invalid_input", "error": "\"newapps + Games: Puzzle\": Apple's New Apps chart has no per-category version (the feed returns the overall list); use it with genre \"all\" (not charged)", "charged": false }
errorType is invalid_input (unknown country, category, chart, keyword without letters or digits, or app; also an unknown "What to get", Store or Device value, which ends the run at once), not_found (Apple publishes an empty chart for that store and category, a keyword search returns no apps, or a tracked app exists in none of your countries), blocked (Apple kept answering "rate limited"), network or timeout.
The SUMMARY record (key-value store) has status (SUCCESS, PARTIAL_RESULTS, FAILED, NO_RESULTS, LIMIT_REACHED), totals and perItem (per chart: entries returned, new entries, moved up and down, dropped; per keyword: results returned, rows).
Integrations
- Schedules: run daily with Compare with the previous run for a rank history and movement alerts.
- API and webhooks: start runs and read the dataset from any language; a webhook tells you when a run finishes.
- Exports: CSV, Excel, JSON, XML and HTML from the dataset.
- Apify integrations: send results to Google Sheets, Slack, Zapier, Make, n8n and others from the Integrations tab.
- Pair it with Apple App Store Reviews & App Details (tidytools/apple-app-store-reviews) to read the reviews of the apps you track.
Use with AI agents (MCP)
Connect Apify's MCP server (https://mcp.apify.com?tools=tidytools/app-store-top-charts) to Claude, Cursor or any MCP client, then ask e.g. "Which finance apps are in the US and UK Top Free top 20 today, and which ones are new since yesterday?"
{ "mode": "charts", "countries": ["us", "gb"], "genres": ["Finance"], "maxRank": 20, "compareWithPrevious": true }
Failed items are not charged and carry an errorType.
Tips and limitations
- Top 100 per chart is the most Apple's public feeds publish. Several categories and countries per run are fine (one request per chart).
- "New apps" charts are iPhone-only and have no category version (the feed returns the same overall list for every category), so they are refused with a category. "New Apps" and "New Free Apps" are almost the same list (about 95% of the entries overlap, because few new apps are paid): pick one of them unless you want both, since each is charged.
- Category names are matched ignoring case; a shortened name works from 4 letters ("health", "photo"). Anything unclear (for example "foo") is refused with a free error row rather than guessed. Some small or restricted stores have empty charts for some categories: those come back as a free
not_foundrow. - Games sub-categories use "Games: Puzzle" (or the id, 7012). A category name that is also a games sub-category ("Music", "Sports") means the main category.
- Keyword ranks are read at about 20 searches per minute (Apple's request); 100 keyword × country pairs take about 5 minutes.
- Compare with the previous run remembers the chart positions per monitor name. Positions deeper than what the previous run read are marked
unknowninstead ofnew. - Prices are in the country's currency (
currency); names and categories come in the store's language (for example Japanese in the jp store).
Terms and responsible use
- The Actor reads Apple's public chart feeds and the iTunes Search and Lookup APIs, which Apple publishes for developers and marketers. No login, no scraping of App Store pages, no personal data.
- Rows contain public store information only: app names, developers (the seller shown on the App Store), prices, categories, ratings.
- Apple asks for about 20 Search/Lookup calls per minute; the Actor keeps to that. App names, icons and descriptions belong to their owners; follow Apple's marketing guidelines if you publish them.
FAQ
Does the Actor collect usage data? The Actor sends one anonymous usage counter per run (input type, item count range, outcome) to improve the tool; no URLs, content or account data.
Is this the real App Store chart? Yes: the rows come from Apple's own chart feeds, the same rankings the App Store shows, for the country and category you pick.
Can I get the top 200? Apple's public feeds stop at 100. For keyword searches the depth is 200.
How exact are keyword ranks? They follow Apple's Search API order, which is close to App Store search but without personalisation and ads. Use them to follow trends day by day.
Can I track many apps and keywords every day? Yes. Add your keywords and apps, turn on comparison, and schedule the Actor. You pay per rank returned.
What happens if I mistype a country, category or app? The valid part still runs. Each bad value gets a free error row (type: "input", errorType: "invalid_input", or not_found for a tracked app that exists in none of your countries) and the run ends normally. If nothing valid is left (for example no tracked app and "Top results to list per keyword" set to 0), you get one free error row and nothing is read.
Am I charged when my app is not in the results? Yes, as one tracked-app rank: the row says rank: null, found: false, which is the answer. Searches that fail, searches for which Apple returns no apps at all (a made-up term, or an Apple hiccup: the saved ranking is kept, so the next run does not show your apps as "entered"), charts that are empty and apps that do not exist are free.
Does it work for iPad and Mac? Charts: iPad Top Free, Paid and Grossing; Mac Top Free (Apple publishes no other Mac chart). Keyword ranks: set Device to iPad or Mac to search those stores.
Related Actors
More tools by TidyTools that work well with this one:
- Apple App Store Reviews: scrape app reviews and ratings by country
- Website Change Monitor: get an alert when a page, a price or a text changes