Skip to main content
GET /v1/aso/competitor/:appId/:competitorId
Deep App Store Optimization comparison between two apps. Returns side-by-side profiles (rating, reviews, metadata quality, visuals, localization), keyword overlap analysis, gap opportunities, and a strategic verdict. This is a higher-level analysis than Keyword Compare — it includes metadata comparison, visual asset analysis, and an overall competitive assessment.

Path Parameters

NameTypeRequiredDescription
appIdstringYesYour app’s Apple App ID
competitorIdstringYesCompetitor’s Apple App ID

Query Parameters

NameTypeDefaultDescription
countrystringusISO country code (e.g. us, gb, de)

Code Examples

curl -X GET "https://api.appeeky.com/v1/aso/competitor/913335252/1157115554?country=us" \
  -H "X-API-Key: YOUR_API_KEY"

Response

{
  "data": {
    "appId": "913335252",
    "competitorId": "1157115554",
    "country": "us",
    "yourApp": {
      "appId": "913335252",
      "title": "Brilliant: Learn by doing",
      "developer": "Brilliant.org",
      "icon": "https://is1-ssl.mzstatic.com/.../512x512bb.jpg",
      "rating": 4.74,
      "reviews": 27315,
      "category": "Education",
      "titleLength": 25,
      "descriptionLength": 1250,
      "screenshotCount": 6,
      "languageCount": 1,
      "lastUpdated": "2026-01-26T12:19:36Z"
    },
    "competitorApp": {
      "appId": "1157115554",
      "title": "Khan Academy",
      "developer": "Khan Academy",
      "icon": "https://is1-ssl.mzstatic.com/.../512x512bb.jpg",
      "rating": 4.8,
      "reviews": 158000,
      "category": "Education",
      "titleLength": 12,
      "descriptionLength": 2100,
      "screenshotCount": 8,
      "languageCount": 15,
      "lastUpdated": "2026-02-10T08:00:00Z"
    },
    "comparison": {
      "ratingDiff": -0.06,
      "reviewsDiff": -130685,
      "titleLengthDiff": 13,
      "descriptionLengthDiff": -850,
      "screenshotCountDiff": -2,
      "languageCountDiff": -14
    },
    "keywordAnalysis": {
      "shared": 5,
      "yourUnique": 3,
      "competitorUnique": 8,
      "gaps": 2,
      "overlapPercent": 31,
      "topGaps": [
        { "keyword": "free courses", "competitorRank": 3, "volumeScore": 65 },
        { "keyword": "learn coding", "competitorRank": 5, "volumeScore": 58 },
        { "keyword": "khan academy", "competitorRank": 1, "volumeScore": 82 },
        { "keyword": "online learning", "competitorRank": 8, "volumeScore": 55 },
        { "keyword": "study app", "competitorRank": 12, "volumeScore": 48 }
      ]
    },
    "verdict": "Competitor leads in: more reviews, broader keyword coverage. Your strengths: niche keyword positions. Target their 8 unique keywords for quick wins."
  }
}

App Profile Fields

Each app profile (yourApp and competitorApp) includes:
FieldTypeDescription
appIdstringApple App ID
titlestringApp name
developerstringDeveloper name
iconstringApp icon URL
ratingnumberStar rating (0-5)
reviewsnumberTotal review count
categorystringPrimary category
titleLengthnumberTitle character count
descriptionLengthnumberDescription character count
screenshotCountnumberNumber of screenshots
languageCountnumberNumber of supported languages
lastUpdatedstringLast update date (ISO 8601)

Comparison Fields

Difference values: positive = your app is higher, negative = competitor is higher.
FieldTypeDescription
ratingDiffnumberRating difference (yourRating - competitorRating)
reviewsDiffnumberReview count difference
titleLengthDiffnumberTitle length difference (chars)
descriptionLengthDiffnumberDescription length difference (chars)
screenshotCountDiffnumberScreenshot count difference
languageCountDiffnumberLanguage count difference

Keyword Analysis Fields

FieldTypeDescription
sharednumberKeywords both apps rank for
yourUniquenumberKeywords only your app ranks for
competitorUniquenumberKeywords only the competitor ranks for
gapsnumberKeywords where competitor outranks you
overlapPercentnumberPercentage of keywords shared (0-100)
topGapsarrayTop 10 competitor-unique keywords sorted by volume

Top Gap Entry

FieldTypeDescription
keywordstringThe keyword the competitor ranks for
competitorRanknumberCompetitor’s rank position
volumeScorenumberSearch volume score (0-100)

How to use this report:
  1. Close keyword gaps — Target topGaps keywords with high volume in your next metadata update
  2. Fix weak areas — If screenshotCountDiff or languageCountDiff is negative, improve visuals or add localizations
  3. Leverage strengths — If your ratingDiff is positive, mention it in marketing. If yourUnique keywords are high-value, protect those positions
  4. Read the verdict — The automated summary highlights the most important competitive dynamics

Errors

StatusCodeWhen
400INVALID_APP_IDNon-numeric or missing app ID
401MISSING_API_KEYNo API key in the request
404APP_NOT_FOUNDOne or both apps not found