AppSkyline App Rankings
Track your apps' keyword rankings, reviews and store listings on App Store, Google Play and more.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"appskyline": {
"url": "https://mcp.appskyline.com/mcp"
}
}
}Remote-Endpunkte
https://mcp.appskyline.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (14)
🟢list_apps
List all Appskyline apps the authenticated user has access to. Returns a Markdown table of id, name, default locale, and the per-store ids (iOS App Store, Google Play, Microsoft Store) when set.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"apps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"name": {
"$ref": "#/properties/apps/items/properties/id"
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"iosAppStoreId": {
"$ref": "#/properties/apps/items/properties/id"
},
"macosAppStoreId": {
"$ref": "#/properties/apps/items/properties/id"
},
"googlePlayStorePackage": {
"$ref": "#/properties/apps/items/properties/id"
},
"windowsStoreProductId": {
"$ref": "#/properties/apps/items/properties/id"
}
},
"required": [
"id",
"name",
"defaultLocale",
"iosAppStoreId",
"macosAppStoreId",
"googlePlayStorePackage",
"windowsStoreProductId"
],
"additionalProperties": false
},
"maxItems": 100
},
"truncated": {
"type": "boolean"
}
},
"required": [
"status",
"apps",
"truncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_app(appId)
Fetch a single Appskyline app by id. Returns the app metadata formatted as Markdown (name, locales, per-store ids, creation/edit times).
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "App id (uuid)"
}
},
"required": [
"appId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"app": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"locales": {
"type": "array",
"items": {
"type": "string",
"maxLength": 32
},
"maxItems": 100
},
"iosAppStoreId": {
"$ref": "#/properties/app/anyOf/0/properties/name"
},
"macosAppStoreId": {
"$ref": "#/properties/app/anyOf/0/properties/name"
},
"googlePlayStorePackage": {
"$ref": "#/properties/app/anyOf/0/properties/name"
},
"windowsStoreProductId": {
"$ref": "#/properties/app/anyOf/0/properties/name"
},
"creationTime": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
},
"lastEditTime": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"defaultLocale",
"locales",
"iosAppStoreId",
"macosAppStoreId",
"googlePlayStorePackage",
"windowsStoreProductId",
"creationTime",
"lastEditTime"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"app"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_keywords(appId, limit, skip)
List tracked keywords for an Appskyline app. Returns a Markdown table of id, term (searchTerms), language, country, and bid amount.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "App id to list tracked keywords for"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500,
"description": "Maximum number of keywords to return (default server-side)"
},
"skip": {
"type": "integer",
"minimum": 0,
"maximum": 1000000,
"description": "Pagination offset"
}
},
"required": [
"appId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"keywords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"term": {
"$ref": "#/properties/keywords/items/properties/id"
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
]
},
"bid": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"term",
"language",
"country",
"bid"
],
"additionalProperties": false
},
"maxItems": 500
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"truncated": {
"type": "boolean"
}
},
"required": [
"status",
"keywords",
"offset",
"returned",
"truncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_store_results(store, term, country, lang, num)
Run a live ranked search against the iOS App Store, macOS App Store, Google Play, or Microsoft Store via Appskyline without storing a search snapshot. Returns a Markdown table of rank, id, title, score, and developer for each result.
Eingabe-Schema
{
"type": "object",
"properties": {
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
],
"description": "Which store to search"
},
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search term"
},
"country": {
"type": "string",
"maxLength": 10,
"description": "Two-letter country code (e.g. US, IT)"
},
"lang": {
"type": "string",
"maxLength": 32,
"description": "Two-letter language code (e.g. en, it)"
},
"num": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200,
"description": "Number of results to return (default depends on store)"
}
},
"required": [
"store",
"term"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
]
},
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
]
},
"lang": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
"id": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"title": {
"$ref": "#/properties/results/items/properties/id"
},
"score": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"developer": {
"$ref": "#/properties/results/items/properties/id"
}
},
"required": [
"rank",
"id",
"title",
"score",
"developer"
],
"additionalProperties": false
},
"maxItems": 200
},
"truncated": {
"type": "boolean"
}
},
"required": [
"status",
"store",
"term",
"country",
"lang",
"results",
"truncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_keyword_rank(appId, store, term, country, lang, ...)
Look up the current ranking of a specific Appskyline app for a keyword in a given store + country. Returns "App X ranks #N of M" or "not in top N" if the app does not appear in the scanned results.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Appskyline app id"
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
],
"description": "Which store to check"
},
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search term"
},
"country": {
"type": "string",
"maxLength": 10,
"description": "Two-letter country code (e.g. US, IT)"
},
"lang": {
"type": "string",
"maxLength": 32,
"description": "Two-letter language code (e.g. en, it)"
},
"num": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200,
"default": 50,
"description": "How many results to scan when looking for the app (default 50, max 200)"
}
},
"required": [
"appId",
"store",
"term"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ranked",
"not-ranked",
"app-not-found",
"store-not-configured"
]
},
"app": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
]
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
]
},
"lang": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"rank": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
{
"type": "null"
}
]
},
"resultsScanned": {
"type": "integer",
"minimum": 0,
"maximum": 200
}
},
"required": [
"status",
"app",
"term",
"store",
"country",
"lang",
"rank",
"resultsScanned"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_keyword_history(appId, store, term, country, limit)
Get the historical ranking timeseries for an app, term, and country across day-by-day snapshots stored by Appskyline. Returns a Markdown table of date, rank, and total results scanned that day.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Appskyline app id"
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
],
"description": "Which store to check"
},
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search term"
},
"country": {
"type": "string",
"minLength": 1,
"maxLength": 10,
"description": "Two-letter country code (e.g. US, IT)"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 365,
"description": "Maximum number of history rows to return (newest first)"
}
},
"required": [
"appId",
"store",
"term",
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"app-not-found",
"store-not-configured",
"no-history"
]
},
"app": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id",
"name"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
]
},
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
]
},
"snapshots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"rank": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
},
{
"type": "null"
}
]
},
"resultsScanned": {
"type": "integer",
"minimum": 0,
"maximum": 200
},
"resultsTruncated": {
"type": "boolean"
}
},
"required": [
"date",
"rank",
"resultsScanned",
"resultsTruncated"
],
"additionalProperties": false
},
"maxItems": 365
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 365
},
"totalSnapshots": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"totalSnapshotsIsLowerBound": {
"type": "boolean"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"status",
"app",
"store",
"term",
"country",
"snapshots",
"returned",
"totalSnapshots",
"totalSnapshotsIsLowerBound",
"truncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_keyword_overview(terms, country, lang)
Look up monthly search volume, keyword difficulty, CPC and competition level for up to 50 search terms in one country. Values come from Appskyline's shared DataForSEO cache; terms missing or stale in the cache trigger a live, billable upstream lookup, so batch terms rather than calling once per keyword.
Eingabe-Schema
{
"type": "object",
"properties": {
"terms": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"pattern": "^[^,]+$"
},
"minItems": 1,
"maxItems": 50,
"description": "Search terms to look up (max 50 per call, no commas)"
},
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2,
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter country code (e.g. US, IT)"
},
"lang": {
"type": "string",
"maxLength": 32,
"description": "Two-letter language code (e.g. en, it)"
}
},
"required": [
"terms",
"country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"country": {
"type": "string",
"minLength": 2,
"maxLength": 2
},
"lang": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"keywords": {
"type": "array",
"items": {
"type": "object",
"properties": {
"keyword": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"searchVolume": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000000
},
{
"type": "null"
}
]
},
"keywordDifficulty": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 100
},
{
"type": "null"
}
]
},
"cpc": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"competition": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
]
},
"fetchedAt": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
}
},
"required": [
"keyword",
"searchVolume",
"keywordDifficulty",
"cpc",
"competition",
"fetchedAt"
],
"additionalProperties": false
},
"maxItems": 50
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 50
},
"truncated": {
"type": "boolean"
}
},
"required": [
"status",
"country",
"lang",
"keywords",
"returned",
"truncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_store_listing(store, storeId, country, lang)
Fetch the public store listing for any app by its store-native id (not just apps tracked in Appskyline): title, developer, rating, price, version, release dates, genres, and truncated description / release notes. Useful for competitor research.
Eingabe-Schema
{
"type": "object",
"properties": {
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
],
"description": "Which store to read the listing from"
},
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Store-native app identifier: numeric Apple id, Google Play package name, or Microsoft Store product id"
},
"country": {
"type": "string",
"maxLength": 10,
"description": "Two-letter country code (e.g. US, IT)"
},
"lang": {
"type": "string",
"maxLength": 32,
"description": "Two-letter language code (e.g. en, it)"
}
},
"required": [
"store",
"storeId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
]
},
"storeId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
]
},
"lang": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"listing": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"developer": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"developerId": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"score": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000
},
{
"type": "null"
}
]
},
"ratings": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 1000000000000
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"free": {
"type": [
"boolean",
"null"
]
},
"currency": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"version": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"released": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
},
"updated": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
},
"requiredOsVersion": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"genres": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"maxItems": 20
},
"screenshotCount": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
]
},
"releaseNotes": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"title",
"developer",
"developerId",
"score",
"ratings",
"price",
"free",
"currency",
"version",
"released",
"updated",
"requiredOsVersion",
"genres",
"screenshotCount",
"description",
"releaseNotes"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"store",
"storeId",
"country",
"lang",
"listing"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_store_metadata(appId, store, locale)
Read the store-listing metadata Appskyline has synced for one of your apps — per locale name, subtitle, keywords (with their character count against Apple's 100-character limit), promotional text, release notes, version and review state. Read-only: it never downloads from or uploads to the store.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Appskyline app id"
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
],
"description": "Which store listing to read"
},
"locale": {
"type": "string",
"maxLength": 32,
"description": "Only return this locale (e.g. en-US, it)"
}
},
"required": [
"appId",
"store"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
]
},
"localeFilter": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"listings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"locale": {
"type": "string",
"minLength": 1,
"maxLength": 32
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"subtitle": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"keywords": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"keywordCharacters": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 200
},
{
"type": "null"
}
]
},
"promotionalText": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
]
},
"whatsNew": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 600
},
{
"type": "null"
}
]
},
"version": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"state": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"lastSyncedAt": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
}
},
"required": [
"locale",
"name",
"subtitle",
"keywords",
"keywordCharacters",
"promotionalText",
"whatsNew",
"description",
"version",
"state",
"lastSyncedAt"
],
"additionalProperties": false
},
"maxItems": 100
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"truncated": {
"type": "boolean"
}
},
"required": [
"status",
"appId",
"store",
"localeFilter",
"listings",
"returned",
"truncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_app_engagement_summary(appId, store, startDate, endDate, days)
Summarize downloads, installs, uninstalls, crashes and other engagement totals reported by a store for one Appskyline app over a date window. Returns the aggregate totals, the most recent daily rows, and the top territories. Metric names differ per store because each store reports its own set.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Appskyline app id"
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
],
"description": "Which store to summarize"
},
"startDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Start of the window as YYYY-MM-DD"
},
"endDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "End of the window as YYYY-MM-DD"
},
"days": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 365,
"description": "Rolling window size in days when no explicit dates are given"
}
},
"required": [
"appId",
"store"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"empty"
]
},
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"store": {
"type": "string",
"enum": [
"ios-app-store",
"macos-app-store",
"google-play",
"microsoft-store"
]
},
"dataThrough": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
},
"lastSyncedAt": {
"anyOf": [
{
"type": "string",
"maxLength": 64
},
{
"type": "null"
}
]
},
"totals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"value": {
"type": "number",
"minimum": -1000000000000000,
"maximum": 1000000000000000
}
},
"required": [
"name",
"value"
],
"additionalProperties": false
},
"maxItems": 30
},
"totalsTruncated": {
"type": "boolean"
},
"topTerritories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"maxItems": 8
},
"dailySeries": {
"anyOf": [
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"rows": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"metrics": {
"type": "array",
"items": {
"$ref": "#/properties/totals/items"
},
"maxItems": 6
}
},
"required": [
"date",
"metrics"
],
"additionalProperties": false
},
"maxItems": 30
},
"totalRows": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"totalRowsIsLowerBound": {
"type": "boolean"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"name",
"rows",
"totalRows",
"totalRowsIsLowerBound",
"truncated"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"appId",
"store",
"dataThrough",
"lastSyncedAt",
"totals",
"totalsTruncated",
"topTerritories",
"dailySeries"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_google_play_reviews(appId, maxResults, token, translationLanguage)
List the most recent Google Play user reviews for one of your Appskyline apps: star rating, truncated review text, app version, device, reviewer language, and whether the developer has replied. Requires a Google Play service account configured for the app. Paginate with the returned page token.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Appskyline app id (uuid)"
},
"maxResults": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100,
"description": "How many reviews to fetch (max 100)"
},
"token": {
"type": "string",
"maxLength": 2000,
"description": "Page token returned by a previous call"
},
"translationLanguage": {
"type": "string",
"maxLength": 32,
"description": "Translate review text into this language (e.g. en)"
}
},
"required": [
"appId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"available",
"empty",
"not-configured"
]
},
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"reviewId": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
},
"author": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"stars": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 5
},
{
"type": "null"
}
]
},
"date": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"version": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
]
},
"device": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"replied": {
"type": "boolean"
},
"text": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
]
}
},
"required": [
"reviewId",
"author",
"stars",
"date",
"version",
"device",
"language",
"replied",
"text"
],
"additionalProperties": false
},
"maxItems": 100
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"nextPageToken": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"truncated": {
"type": "boolean"
}
},
"required": [
"status",
"appId",
"reviews",
"returned",
"nextPageToken",
"truncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴add_keyword(appId, searchTerms, language, country)
Add a new tracked keyword to an Appskyline app after explicit confirmation. This modifies the tracked set and is non-idempotent: calling with the same term twice creates two keyword rows.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Appskyline app id to attach the keyword to"
},
"searchTerms": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The keyword phrase to track"
},
"language": {
"type": "string",
"maxLength": 32,
"description": "Two-letter language code (e.g. en)"
},
"country": {
"type": "string",
"maxLength": 10,
"description": "Two-letter country code (e.g. US)"
}
},
"required": [
"appId",
"searchTerms"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"const": "added"
},
"keyword": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"term": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"appId",
"term",
"language",
"country"
],
"additionalProperties": false
}
},
"required": [
"status",
"keyword"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_keyword(id)
Permanently delete a tracked Appskyline keyword by id. Idempotent — deleting an already-deleted keyword is a no-op. This stops collecting new ranking snapshots; historical search rows in the *-searches collections are not affected.
Eingabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Keyword id to delete"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"deleted",
"not-found"
]
},
"keywordId": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"status",
"keywordId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_app_overview(appId)
Render an interactive overview for a known Appskyline app. Use this after listing apps or when the user provides an Appskyline app id. It shows store identities and up to 50 tracked keywords.
Eingabe-Schema
{
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Appskyline app id to render"
}
},
"required": [
"appId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"app": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"defaultLocale": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"locales": {
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 32
}
},
"iosAppStoreId": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"macosAppStoreId": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"googlePlayId": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"microsoftStoreId": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"defaultLocale",
"locales",
"iosAppStoreId",
"macosAppStoreId",
"googlePlayId",
"microsoftStoreId"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"keywordCount": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"storeCount": {
"type": "integer",
"minimum": 0,
"maximum": 4
},
"keywords": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"term": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"language": {
"anyOf": [
{
"type": "string",
"maxLength": 32
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string",
"maxLength": 10
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"term",
"language",
"country"
],
"additionalProperties": false
}
}
},
"required": [
"app",
"keywordCount",
"storeCount",
"keywords"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Nachweis