PeekPanda docs
Browse ASO keyword discovery
Page unsaved observed rankings or derived keyword ideas for one tracked app.
Download Markdown ↓GET/v1/aso/apps/{appId}/keyword-discoveryAuth
Bearer API credential or OAuth access tokenScope context:readMCP aso action discoverRequest
appId is the tracked app. sourceGroup selects observed rankings or derived ideas. Pass the returned cursor to read the next page.
curl --get 'https://api.peekpanda.com/v1/aso/apps/11111111-1111-4111-8111-111111111111/keyword-discovery' \
--header "Authorization: Bearer $PEEKPANDA_TOKEN" \
--header 'x-genviral-tenancy: personal' \
--data-urlencode 'sourceGroup=observed'Response
phase matches the source group you asked for. An empty data array means this phase has no rows yet.
{
"phase": "observed",
"data": [],
"nextCursor": null
}
MCP request
Call aso with action discover. Path fields go in params, filters in query, and a write body in body.
{
"name": "aso",
"arguments": {
"request": {
"action": "discover",
"params": {
"appId": "<appId>"
}
}
}
}
Parameters
NameInTypeRequiredDescription
appIdpathuuidYesTracked app id.sourceGroupquerystringNoobserved or derived. Defaults to observed.searchquerystringNoOptional keyword text, up to 200 characters.cursorquerystringNoPage cursor from the previous response.limitqueryintegerNoPage size, 1 to 100. Defaults to 50.Known errors
400invalid_request for an invalid filter, identity or limit.401authentication_required for a missing or invalid credential.402subscription_required when access is not entitled.403authorization_required for a missing scope or unavailable preview access.404not_found when the record is outside the accessible catalogue.429rate_limited; honor Retry-After when present.Source
Stored observations and derived ideas for apps you track.
Refresh
This read does not collect. Refresh the app when you want newer observations.