PeekPanda markpeekpandaDocumentationFor AI ↗Open app

PeekPanda docs

Get competitor ASO intelligence

Read the invert of stored iTunes Search snapshots for one iOS listing.

Download Markdown ↓
GET/v1/competitors/{platform}/{storeId}/aso
Auth Bearer API credential or OAuth access tokenScope context:readMCP get_competitor_aso

Request

Identify the listing. This GET never scrapes Apple.

curl --get 'https://api.peekpanda.com/v1/competitors/ios/0000000000/aso' \
  --header "Authorization: Bearer $PEEKPANDA_TOKEN" \
  --header 'x-genviral-tenancy: personal'

Response

Position is Search API order, not native App Store rank. There is no Apple Ads popularity.

{
  "positionKind": "observed_search_api_position",
  "storeId": "0000000000",
  "coverage": {
    "queriesCollected": 111,
    "queriesMatched": 1,
    "country": "us",
    "language": "en_us",
    "source": "itunes_search",
    "latestObservedAt": "2026-09-06T00:00:00.000Z",
    "observationCount": 1
  },
  "summary": {
    "top3": 1,
    "top10": 1,
    "top50": 1,
    "bestPosition": {
      "query": "calorie tracker",
      "position": 4
    },
    "medianPosition": 4
  },
  "keywords": [
    {
      "query": "calorie tracker",
      "country": "us",
      "language": "en_us",
      "source": "itunes_search",
      "observedAt": "2026-09-06T00:00:00.000Z",
      "position": 4,
      "resultCount": 2,
      "apps": [
        {
          "storeId": "0000000000",
          "position": 4,
          "name": "Example Calorie Tracker",
          "isSubject": true,
          "inCatalogue": true,
          "rating": 4.7,
          "ratingCount": 12450
        }
      ],
      "history": [
        {
          "observedAt": "2026-09-06T00:00:00.000Z",
          "position": 4
        }
      ],
      "searchPopularity": null
    }
  ],
  "rivals": [],
  "keywordIdeas": [],
  "insights": [
    {
      "kind": "trend_pending",
      "title": "One collection run so far",
      "detail": "Position changes need at least two runs.",
      "keywords": [],
      "catalogueStoreId": null
    }
  ]
}

Parameters

NameInTypeRequiredDescription
platformpathiosYesThe preview supports iOS only.
storeIdpathnumeric stringYesApple App Store identifier.

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

Invert of stored itunes Search snapshots (us/en_us). Position is Search API order, not native App Store rank. No Apple Ads popularity.

Refresh

GET never scrapes. Request data / Request ASO coverage enqueues title-discovery. Snapshots younger than 24h are reused. Shared pacer 4s, 2500 Apple calls/UTC day.