Skip to main content
GET /v1/apps/:id/keywords
Returns enriched organic keyword rankings for the specified app. When no keyword data exists, the API automatically discovers keywords — no special flags needed. Each keyword includes volume, difficulty, opportunity scores, rank changes, and trend direction.

Path Parameters

NameTypeDescription
idstringApple App ID (numeric, e.g. 1617391485)

Query Parameters

NameTypeDefaultDescription
countrystringusISO country code (e.g. us, gb, de)
devicestringiphoneiphone or ipad
discoverstringDeprecated. Auto-discovery is now the default behavior. Passing 1 has no additional effect.

Code Examples

curl "https://api.appeeky.com/v1/apps/1617391485/keywords?country=us" \
  -H "X-API-Key: YOUR_API_KEY"

Response

{
  "data": {
    "appId": "1617391485",
    "keywords": [
      {
        "keyword": "puzzle game",
        "rank": 5,
        "appsCount": 215,
        "popularity": 86,
        "competitiveness": 97,
        "volumeScore": 72,
        "difficulty": 85,
        "opportunity": 34,
        "rankChange7d": 3,
        "trend": "improving"
      },
      {
        "keyword": "block puzzle",
        "rank": 2,
        "appsCount": 180,
        "popularity": 72,
        "competitiveness": 82,
        "volumeScore": 65,
        "difficulty": 68,
        "opportunity": 58,
        "rankChange7d": -1,
        "trend": "declining"
      },
      {
        "keyword": "brain teaser",
        "rank": 18,
        "appsCount": 120,
        "popularity": 48,
        "competitiveness": 55,
        "volumeScore": 44,
        "difficulty": 42,
        "opportunity": 71,
        "rankChange7d": 0,
        "trend": "stable"
      }
    ]
  }
}

Keyword Object

FieldTypeDescription
keywordstringThe search keyword
ranknumberApp’s organic rank for this keyword (1 = top result)
appsCountnumberTotal number of apps ranking for this keyword
popularitynumberDeprecated. Legacy popularity score (0–100). Use volumeScore instead.
competitivenessnumberDeprecated. Legacy competition score (0–100). Use difficulty instead.
volumeScorenumberEstimated search volume score (0–100). Higher = more searches.
difficultynumberRanking difficulty score (0–100). Higher = harder to rank.
opportunitynumberComposite opportunity score (0–100). Balances volume, difficulty, and current rank — higher is better.
rankChange7dnumberRank change over the last 7 days. Positive = improved (rank number decreased).
trendstringTrend direction: "improving", "declining", or "stable"

Metric Details

volumeScore (0–100)

Estimated relative search volume for the keyword. Derived from iTunes result counts, top app review volumes, and autocomplete position. A score of 80+ indicates a high-traffic keyword.

difficulty (0–100)

How hard it is to rank in the top results for this keyword. Factors in average rating of top apps, review count distribution, developer diversity, and market dominance. A score of 70+ means the keyword is dominated by strong incumbents.

opportunity (0–100)

A composite score that combines volume, difficulty, and your current rank into a single prioritization metric. High opportunity means the keyword has good search volume, manageable difficulty, and room for your app to climb.

trend

ValueMeaning
improvingRank has been getting better (lower number) over 7 days
decliningRank has been getting worse (higher number) over 7 days
stableRank has not changed significantly

Auto-Discovery

When no keyword data exists for an app, the API automatically runs keyword discovery:
  1. Extracts keywords from the app’s title, subtitle, and description
  2. Adds category-relevant keywords based on the app’s primary category
  3. Expands with Apple Search Suggestions to find related long-tail keywords
  4. Scrapes iTunes Search for up to 30 keywords to determine rankings
  5. Returns enriched results immediately with all scoring metrics
Auto-discovery runs transparently on the first request for any app. Subsequent requests return stored data instantly. There is no need to pass discover=1 — this parameter is deprecated and kept only for backward compatibility.
Prioritize with opportunity score: Sort keywords by opportunity descending to find the best keywords to optimize for. High opportunity keywords have strong search volume, achievable difficulty, and room for rank improvement — these are your quick wins for ASO.

Errors

StatusCodeWhen
400INVALID_APP_IDNon-numeric or missing app ID
401UNAUTHORIZEDMissing or invalid API key
404APP_NOT_FOUNDApp does not exist in iTunes
429RATE_LIMITEDToo many requests — slow down
500INTERNAL_ERRORServer error during discovery