MCP-Server

My App Store Ranking

com.myappstoreranking/myappstoreranking
Daten & Analytik Marketing & Werbung Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Tracks app store rankings, chart history, competitors, leaders, portfolio performance, and store reference data across Apple and Google platforms.

get_app_country_ranks
Per-country and per-platform best ranks for one app
The country grid for a single app over a date window, with the previous window's rank for comparison, plus the per-platform breakdown. Works for any app in the catalog, not only tracked ones, but untracked apps return a single recent day rather than a full window. Example question: "Where does my app rank across Europe right now?"
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['appStoreId'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'countries': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 50}, 'platforms': {'type': 'array', 'items': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'maxItems': 50}, 'rangeDays': {'type': 'integer', 'default': 7, 'maximum': 365, 'minimum': 1}, 'appStoreId': {'type': 'string', 'maxLength': 200, 'minLength': 1}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['appStoreId', 'end', 'rangeDays', 'top5', 'top25', 'countries', 'ranks'], 'properties': {'end': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'top5': {'type': 'object', 'required': ['count', 'previousCount', 'delta'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'delta': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'previousCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'ranks': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'platform', 'best', 'previousBest'], 'properties': {'best': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'previousBest': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'top25': {'type': 'object', 'required': ['count', 'previousCount', 'delta'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'delta': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'previousCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'countries': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'countryName', 'best', 'previousBest', 'chart'], 'properties': {'best': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'chart': {'anyOf': [{'type': 'object', 'required': ['country', 'platform', 'chartType', 'genreId', 'genre', 'date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'countryName': {'type': 'string'}, 'previousBest': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'rangeDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}
get_app_history
Day-by-day chart positions for one tracked app
Raw rank observations, newest first, for trend questions. Filter by country, platform, chart type or category, because an unfiltered portfolio-wide history is large and will be truncated. Only apps the user tracks have history. Example question: "Show my app's daily rank in France over the last month."
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['appStoreId'], 'properties': {'limit': {'type': 'integer', 'default': 500, 'maximum': 2000, 'minimum': 1}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}, 'sinceDays': {'type': 'integer', 'default': 90, 'maximum': 365, 'minimum': 1}, 'appStoreId': {'type': 'string', 'maxLength': 200, 'minLength': 1}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['appStoreId', 'sinceDays', 'truncated', 'history'], 'properties': {'history': {'type': 'array', 'items': {'type': 'object', 'required': ['country', 'platform', 'chartType', 'genreId', 'genre', 'date', 'rank'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'rank': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}}, 'additionalProperties': False}}, 'sinceDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'truncated': {'type': 'boolean'}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}
get_apps_overview
Portfolio summary for every tracked app over a date window
One row per tracked app: how many countries it charted in, how many top 5 and top 25 placements it holds, the change against the equal-length window before, and its single best chart position. Use this for 'how is my portfolio doing', then get_app_country_ranks to drill into one app. Example question: "How did my apps do over the last 7 days?"
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'countries': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 50}, 'platforms': {'type': 'array', 'items': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'maxItems': 50}, 'rangeDays': {'type': 'integer', 'default': 7, 'maximum': 365, 'minimum': 1}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['end', 'rangeDays', 'apps'], 'properties': {'end': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'apps': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'name', 'label', 'countriesRanked', 'previousCountriesRanked', 'top5', 'top25', 'bestChart'], 'properties': {'name': {'type': 'string'}, 'top5': {'type': 'object', 'required': ['count', 'previousCount', 'delta'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'delta': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'previousCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'label': {'enum': ['mine', 'competitor'], 'type': 'string'}, 'top25': {'type': 'object', 'required': ['count', 'previousCount', 'delta'], 'properties': {'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'delta': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'previousCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'bestChart': {'anyOf': [{'type': 'object', 'required': ['country', 'platform', 'chartType', 'genreId', 'genre', 'date', 'rank'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'rank': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'appStoreId': {'type': 'string'}, 'countriesRanked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'previousCountriesRanked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'rangeDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
get_chart_top
The top of one store chart on one day
Who ranks in a given country, platform, chart type and category on a given day, flagging the rows the user tracks. Defaults to the most recent captured day. Use list_reference_data for valid country codes, platforms and category ids. Example question: "Who is in the French Music top chart on iPhone today?"
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['country', 'platform', 'chartType', 'genreId'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['chart', 'rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['rank', 'appStoreId', 'name', 'iconUrl', 'platforms', 'tracked', 'label'], 'properties': {'name': {'type': 'string'}, 'rank': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'label': {'anyOf': [{'enum': ['mine', 'competitor'], 'type': 'string'}, {'type': 'null'}]}, 'iconUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'tracked': {'type': 'boolean'}, 'platforms': {'type': 'array', 'items': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}}, 'chart': {'type': 'object', 'required': ['country', 'platform', 'chartType', 'genreId', 'genre', 'date'], 'properties': {'date': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
get_daily_report
The user's daily or weekly report, as structured data
The same analysis the user's email report is built from: portfolio summary, what needs attention, wins, competitor movements and new entrants. The best single call for a scheduled 'what happened overnight' digest. Example question: "What happened with my apps overnight?"
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'frequency': {'enum': ['daily', 'weekly'], 'type': 'string', 'default': 'daily'}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['frequency', 'rangeDays', 'windowStart', 'windowEnd', 'previousWindowStart', 'previousWindowEnd', 'headline', 'summary', 'apps', 'needsAttention', 'wins', 'competitorWatch', 'closestThreats', 'newEntrants'], 'properties': {'apps': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'name', 'label', 'noData', 'signal', 'countriesRanked', 'previousCountriesRanked', 'top5', 'top25', 'newEntries', 'droppedEntries', 'tips'], 'properties': {'name': {'type': 'string'}, 'tips': {'type': 'array', 'items': {'type': 'string'}}, 'top5': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'label': {'type': 'string'}, 'top25': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'noData': {'type': 'boolean'}, 'signal': {'enum': ['improving', 'stable', 'declining', 'no_data'], 'type': 'string'}, 'appStoreId': {'type': 'string'}, 'newEntries': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'droppedEntries': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'countriesRanked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'previousCountriesRanked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'wins': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'appName', 'kind', 'severity', 'positive', 'text', 'detail', 'action'], 'properties': {'kind': {'type': 'string'}, 'text': {'type': 'string'}, 'genre': {'type': 'string'}, 'action': {'type': 'string'}, 'detail': {'type': 'string'}, 'appName': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'positive': {'type': 'boolean'}, 'severity': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}}, 'summary': {'type': 'object', 'required': ['appsMonitored', 'countriesRanked', 'previousCountriesRanked', 'top5', 'previousTop5', 'top25', 'previousTop25'], 'properties': {'top5': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'top25': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'previousTop5': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'appsMonitored': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'previousTop25': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'countriesRanked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'previousCountriesRanked': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}, 'headline': {'type': 'string'}, 'frequency': {'enum': ['daily', 'weekly'], 'type': 'string'}, 'rangeDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'windowEnd': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'newEntrants': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'name', 'country', 'platform', 'genre', 'aheadCount', 'gap', 'myAppName'], 'properties': {'gap': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'name': {'type': 'string'}, 'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'myAppName': {'type': 'string'}, 'aheadCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}}, 'windowStart': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'closestThreats': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'name', 'country', 'platform', 'genre', 'aheadCount', 'gap', 'myAppName'], 'properties': {'gap': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'name': {'type': 'string'}, 'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'myAppName': {'type': 'string'}, 'aheadCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}}, 'needsAttention': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'appName', 'kind', 'severity', 'positive', 'text', 'detail', 'action'], 'properties': {'kind': {'type': 'string'}, 'text': {'type': 'string'}, 'genre': {'type': 'string'}, 'action': {'type': 'string'}, 'detail': {'type': 'string'}, 'appName': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'positive': {'type': 'boolean'}, 'severity': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}}, 'competitorWatch': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'appName', 'kind', 'severity', 'positive', 'text', 'detail', 'action'], 'properties': {'kind': {'type': 'string'}, 'text': {'type': 'string'}, 'genre': {'type': 'string'}, 'action': {'type': 'string'}, 'detail': {'type': 'string'}, 'appName': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'positive': {'type': 'boolean'}, 'severity': {'enum': ['high', 'medium', 'low'], 'type': 'string'}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}}, 'previousWindowEnd': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'previousWindowStart': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}}, 'additionalProperties': False}
get_leaders
Leaderboard for one chart over a window, with new entrants
Which apps dominated a chart over a date window: median rank, best rank, days present, days at number one, movement against the previous window, and whether the app is new to the chart. This is the tool for 'who moved into the top 10 this week'. Example question: "Who moved into the French Music top 10 this week?"
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['country', 'platform', 'chartType', 'genreId'], 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 60, 'minimum': 1}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}, 'rangeDays': {'type': 'integer', 'default': 30, 'maximum': 365, 'minimum': 1}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['chart', 'end', 'rangeDays', 'baselineAvailable', 'rows'], 'properties': {'end': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'rows': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'name', 'iconUrl', 'platforms', 'medianRank', 'bestRank', 'bestDate', 'daysPresent', 'daysTop5', 'daysAt1', 'chartDays', 'previousMedianRank', 'movement', 'isNewEntrant', 'tracked', 'label'], 'properties': {'name': {'type': 'string'}, 'label': {'anyOf': [{'enum': ['mine', 'competitor'], 'type': 'string'}, {'type': 'null'}]}, 'daysAt1': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'iconUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'tracked': {'type': 'boolean'}, 'bestDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'bestRank': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'daysTop5': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'movement': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}, 'chartDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'platforms': {'type': 'array', 'items': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}}, 'appStoreId': {'type': 'string'}, 'medianRank': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'daysPresent': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'isNewEntrant': {'type': 'boolean'}, 'previousMedianRank': {'anyOf': [{'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'chart': {'type': 'object', 'required': ['country', 'platform', 'chartType', 'genreId', 'genre'], 'properties': {'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}}, 'additionalProperties': False}, 'rangeDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'baselineAvailable': {'type': 'boolean'}}, 'additionalProperties': False}
get_rivals
Apps that share charts with the user's apps and outrank them
Competitors discovered from the data rather than declared: apps that appear in the same charts as the user's own apps and sit ahead of them, ranked by relevance, with how often and by how much they lead. Example question: "Who is beating my app right now, and by how much?"
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'end': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 60, 'minimum': 1}, 'countries': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'maxItems': 50}, 'platforms': {'type': 'array', 'items': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'maxItems': 50}, 'rangeDays': {'type': 'integer', 'default': 30, 'maximum': 365, 'minimum': 1}}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['end', 'rangeDays', 'rivals'], 'properties': {'end': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'rivals': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'name', 'iconUrl', 'genres', 'aheadCount', 'coOccurCount', 'aheadRate', 'medianGap', 'tracked', 'label', 'affectedApps', 'closestChart'], 'properties': {'name': {'type': 'string'}, 'label': {'anyOf': [{'enum': ['mine', 'competitor'], 'type': 'string'}, {'type': 'null'}]}, 'genres': {'type': 'array', 'items': {'type': 'string'}}, 'iconUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'tracked': {'type': 'boolean'}, 'aheadRate': {'type': 'number'}, 'medianGap': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'aheadCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'appStoreId': {'type': 'string'}, 'affectedApps': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'name', 'aheadRate', 'medianGap'], 'properties': {'name': {'type': 'string'}, 'aheadRate': {'type': 'number'}, 'medianGap': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'appStoreId': {'type': 'string'}}, 'additionalProperties': False}}, 'closestChart': {'type': 'object', 'required': ['country', 'platform', 'chartType', 'genreId', 'genre', 'date'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'genre': {'type': 'string'}, 'country': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'genreId': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'platform': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'chartType': {'enum': ['free', 'paid'], 'type': 'string'}}, 'additionalProperties': False}, 'coOccurCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}}, 'rangeDays': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}}, 'additionalProperties': False}
list_my_apps
List the apps the user tracks
Returns every tracked app with its store id, store, platforms, categories and whether it is one of the user's own apps or a competitor they watch. Call this first: every other tool identifies an app by the appStoreId returned here. Example question: "Which apps am I tracking?"
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['apps'], 'properties': {'apps': {'type': 'array', 'items': {'type': 'object', 'required': ['appStoreId', 'store', 'name', 'iconUrl', 'platforms', 'genres', 'label', 'trackedSince'], 'properties': {'name': {'type': 'string'}, 'label': {'enum': ['mine', 'competitor'], 'type': 'string'}, 'store': {'enum': ['app_store', 'play_store'], 'type': 'string'}, 'genres': {'type': 'array', 'items': {'type': 'string'}}, 'iconUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'platforms': {'type': 'array', 'items': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}}, 'appStoreId': {'type': 'string'}, 'trackedSince': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
list_reference_data
Valid countries, platforms, chart types and categories
The enum values every other tool accepts. Call this before guessing a country code or category id: invalid parameters fail, and failed calls still count against the daily quota.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {}}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['countries', 'platforms', 'chartTypes', 'genres'], 'properties': {'genres': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'stores'], 'properties': {'id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'name': {'type': 'string'}, 'stores': {'type': 'array', 'items': {'enum': ['app_store', 'play_store'], 'type': 'string'}}}, 'additionalProperties': False}}, 'countries': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'name'], 'properties': {'code': {'type': 'string', 'pattern': '^[a-z]{2}$'}, 'name': {'type': 'string'}}, 'additionalProperties': False}}, 'platforms': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'label', 'store'], 'properties': {'slug': {'enum': ['iphone', 'ipad', 'mac', 'android'], 'type': 'string'}, 'label': {'type': 'string'}, 'store': {'enum': ['app_store', 'play_store'], 'type': 'string'}}, 'additionalProperties': False}}, 'chartTypes': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'label'], 'properties': {'slug': {'enum': ['free', 'paid'], 'type': 'string'}, 'label': {'type': 'string'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Hinzugefügt
list_reference_data
17. September 2026 12:36
Hinzugefügt
get_daily_report
17. September 2026 12:36
Hinzugefügt
get_leaders
17. September 2026 12:36
Hinzugefügt
get_rivals
17. September 2026 12:36
Hinzugefügt
get_chart_top
17. September 2026 12:36
Hinzugefügt
get_app_history
17. September 2026 12:36
Hinzugefügt
get_app_country_ranks
17. September 2026 12:36
Hinzugefügt
get_apps_overview
17. September 2026 12:36
Hinzugefügt
list_my_apps
17. September 2026 12:36