PeekPanda markpeekpandaDocumentation
For your AI
Dashboard

Browse observed competitor ASO keywords

Page through the searches an iOS listing currently appears in, most popular first.

Download Markdown ↓

GEThttps://api.peekpanda.com/v1/competitors/{platform}/{storeId}/aso/keywords

Request

Identify the listing. Pass the returned cursor to read the next page.

Parameters

NameInTypeRequiredDescription
platformpathiosYesThe preview supports iOS only.
storeIdpathnumeric stringYesApple App Store identifier.
cursorqueryopaque stringNoCursor returned by the previous page.
limitqueryinteger, 1–100NoPage size; defaults to 50.
searchquerystring, up to 200 charactersNoOnly queries containing this text.

Response

Position is Search API order, not native App Store rank. popularity is the stored US Apple Ads score, or null when none was collected.

Response fields

data[].querystring
data[].positionnumber
data[].observedAtstring
data[].popularitynumber
nextCursornull

Authentication

Requires Bearer API credential or OAuth access token. Scope context:read. MCP calls get_app with action keywords.

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.
403workspace_not_accessible when x-genviral-tenancy names a workspace the credential cannot reach.
404not_found when the record is outside the accessible catalogue.
429rate_limited; honor Retry-After when present.
429daily_call_limit; the plan's daily API and MCP calls are used until 00:00 UTC.

MCP request

Call get_app with action keywords. Path fields go in params, filters in query, and a write body in body.

{
  "name": "get_app",
  "arguments": {
    "request": {
      "action": "keywords",
      "params": {
        "platform": "<platform>",
        "storeId": "<storeId>"
      }
    }
  }
}

Source

Current US English App Store search observations.

Refresh

This read returns stored observations and does not start collection.

AI agent or LLM? Read this page as markdown