ASO Atlas

App Store Optimization for iOS apps, inside your AI assistant.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

  • List Tracked Apps: List the App Store apps the current ASO Atlas user tracks. Each entry has the tracked-app id (pass it to other tools as app_id), the app name, its App Store id (itunes_id), the stor
  • Get App: Get one tracked app in detail. Returns the app's storefront and rating (with the public-data `synced_at`), every tracked keyword (term, market, current & best rank with `rank_checked_at`, pop
  • Get Dashboard: Get the ASO Atlas dashboard for the current user: for every tracked app, how many keywords sit in the top 10 / top 50, the 7-day keyword-visibility trend, recent App Store impressions,

What data it sees

Do you need an account

No: the server works without sign-in

App Store Optimization for iOS apps, inside your AI assistant.

  • Keyword research with Apple-reported search popularity (0-100) and a difficulty score, in 59 storefronts
  • Rank tracking of your keywords per storefront, with history and best rank
  • Competitors and the keyword gap between them and your app
  • Metadata optimizer for title, subtitle and keyword field
  • App Store Connect performance: impressions, downloads, proceeds, subscriptions, when your account is connected

23 tools, every one scoped to the signed-in user. OAuth 2.1 with PKCE and dynamic client registration; personal access tokens for headless agents. Requires an ASO Atlas account with an active subscription.

Docs: https://asoatlas.com/docs/connect-your-ai

Server tool list (23)

Raw names from tools/list. Only developers need these.

list_tracked_appsList the App Store apps the current ASO Atlas user tracks. Each entry has the tracked-app id (pass it to other tools as app_id), the app name, its App Store id (itunes_id), the storefront it's tracked in, and how many keywords are tracked for it.
get_appGet one tracked app in detail. Returns the app's storefront and rating (with the public-data `synced_at`), every tracked keyword (term, market, current & best rank with `rank_checked_at`, popularity, difficulty, and whether it's in the App Store Connect listing), the competitors tracked for it, and the keyword gap (terms competitors rank for that this app doesn't track yet). A null popularity with popularity_source 'below_floor' is a measurement - demand exists but sits under the measurable threshold, report it as "<10", not as missing data. A keyword with `pending` true has no metric computed yet (research is queued) - that's "not measured yet", not zero. Takes app_id from list_tracked_apps.
get_dashboardGet the ASO Atlas dashboard for the current user: for every tracked app, how many keywords sit in the top 10 / top 50, the 7-day keyword-visibility trend, recent App Store impressions, and the biggest ranking moves since the last check.
get_app_optimizerAnalyze a tracked app's App Store metadata for optimization in one storefront: returns the saved draft for that market, the app's last-synced live App Store listing for it (the `live` block, read from App Store Connect by the desktop app), the list of markets the app is active in, and an analysis of how well the metadata covers that market's tracked keywords (character budgets, missing terms ranked by keyword popularity, duplication). The analysis scores the draft when one exists, otherwise the live listing. When `live.stale` is true the public App Store already shows a newer listing than the synced one (`live.store_title` / `live.store_synced_at` carry the current public title and its sync time) - flag that the subtitle/keyword analysis may lag until the desktop app resyncs. A null popularity with popularity_source 'below_floor' is a measurement - demand exists but sits under the measurable threshold, report it as "<10", not as missing data. Takes app_id from list_tracked_apps; country defaults to the app's primary storefront.
get_app_performanceGet an app's private App Store performance digest from the user's connected App Store Connect account: the acquisition funnel (impressions, product page views, downloads, with view/conversion rates, the search-vs-browse source split and the top referrer apps and websites that sent the traffic), monetization (proceeds, in-app purchases, subscriptions, MRR, trials), health (sessions, installations, deletions, crashes), top territories, rating, and recent metadata changes with their measured before/after impact. Every summed metric comes with a percent delta vs the prior period of the same length - numbers and trends only, draw your own conclusions. Metadata-change impacts are correlational, not causal. Use this to diagnose questions like 'why aren't more users downloading or paying?', then get_performance_series to drill into any metric's daily history. Only works for apps in the user's own App Store Connect account. Takes app_id from list_tracked_apps.
get_performance_seriesGet the daily history of one App Store performance metric for a tracked app, from the user's connected App Store Connect account - optionally split by a dimension (source_type, territory, device, app_version, or app_referrer/web_referrer for the specific app or website that referred the traffic; only some metric/dimension combinations exist, an invalid one returns the valid dimensions). Use after get_app_performance to pinpoint when something changed (e.g. 'when did US impressions drop?'). Without a dimension, a null value means Apple reported no data that day (a gap, not zero). With a dimension, days without data are omitted and values beyond the top 8 are summed into 'other'. Only works for apps in the user's own App Store Connect account. Takes app_id from list_tracked_apps.
research_keywordsResearch App Store keywords in a storefront: for each term, returns its popularity (search volume, 0-100), difficulty (0-100) and result count. A null popularity with popularity_source 'below_floor' is a measurement - demand exists but sits under the measurable threshold, report it as "<10", not as missing data. Terms not yet in our index are queued for analysis and returned under `pending` - call again in a moment to get them. Accepts up to 50 terms per call.
app_ranking_keywordsReverse keyword lookup: the keywords an app currently ranks in the top results for in a storefront, with its position, popularity (0-100), difficulty (0-100) and when each position was captured. Pass app_id for one of your tracked apps (country defaults to its storefront) or itunes_id for ANY App Store app. Coverage comes from our index and grows over time, so a small result set means limited coverage, not proof the app ranks nowhere. A null popularity with popularity_source 'below_floor' means demand exists but sits under the measurable threshold - report it as "<10".
keyword_suggestionsGet related App Store keyword suggestions (autocomplete) for a seed term in a storefront - useful for discovering keyword ideas to research or track.
list_keyword_listsList the current user's saved keyword lists (research collections). Each entry has the list id (pass it to get_keyword_list as list_id), its name, default market, and keyword count.
get_keyword_listGet one keyword list with its keywords. Each keyword has its market and, when available, popularity and difficulty. A null popularity with popularity_source 'below_floor' is a measurement - demand exists but sits under the measurable threshold, report it as "<10", not as missing data. A keyword with `pending` true has no metric computed yet (research is queued) - that's "not measured yet", not zero; call again in a moment. A list is multi-market: each row is a (keyword, storefront) pair. Takes list_id from list_keyword_lists.
track_appStart tracking an App Store app for the current user, by its App Store id (itunes_id) and storefront. Idempotent: re-tracking an app you already track is a no-op. Returns the new tracked-app id.
untrack_app⚠️ Stop tracking an app and permanently delete it, its tracked keywords, ranking history and competitors from the account. Cannot be undone. Takes app_id from list_tracked_apps.
add_keywordsTrack one or more keywords for an app in a given storefront. The same term can be tracked in multiple markets. Newly added keywords get their rank checked in the background. Takes app_id from list_tracked_apps.
remove_keyword⚠️ Stop tracking a single keyword and delete its ranking history. Takes keyword_id, which is the tracked-keyword id from get_app (the "id" on a keyword row).
add_competitorAdd a competitor app (by its App Store id) to one of the user's tracked apps, in that app's storefront. Competitors power the keyword-gap analysis in get_app. Takes app_id from list_tracked_apps.
remove_competitor⚠️ Remove a competitor from a tracked app. Takes competitor_id (the "id" on a competitor from get_app).
refresh_appRe-check an app's keyword rankings, ratings and reviews now (queues background jobs). Results update within a minute or two. Takes app_id from list_tracked_apps.
change_app_market⚠️ Move an app to a different storefront. This re-points the app and migrates its tracked keywords to the new market, dropping the old market's ranking history. Use add_keywords instead if you only want to track terms in an extra market. Takes app_id from list_tracked_apps.
save_metadata_draftSave a draft of an app's App Store metadata (title, subtitle, keyword field) for one storefront in ASO Atlas. This does NOT publish to the App Store - it only updates the draft used by get_app_optimizer. Only the fields you provide are updated; pass an explicit empty string to clear one. Takes app_id from list_tracked_apps; country defaults to the app's primary storefront.
create_keyword_listCreate a keyword list (a saved research collection) for the current user, optionally seeded with terms in a default market. Returns the new list id.
add_keyword_to_listAdd a keyword to a keyword list in a given market (defaults to the list's own market). A list is multi-market, so the same term can be added for different storefronts. Takes list_id from list_keyword_lists.
remove_keyword_from_list⚠️ Remove a keyword from a keyword list. By default removes it from every market on the list; pass a country to remove only that market's row. Identify the keyword by its term. Takes list_id from list_keyword_lists.