Skip to main content
GET /v1/apps/:id/keywords/trends
Returns historical rank data for a specific keyword and app over a configurable time window. Use this to track how your keyword rankings change over time and measure the impact of ASO optimizations.

Path Parameters

NameTypeDescription
idstringApp ID — numeric for Apple (1617391485), package name for Google (com.spotify.music)

Query Parameters

NameTypeRequiredDefaultDescription
keywordstringYesSearch keyword (min 2 characters)
platformstringNoappleapple (default) or google for Google Play — see Platforms
countrystringNousISO country code (e.g. us, gb, de, jp)
devicestringNoiphoneiphone or ipad (Apple only)
daysnumberNo30Number of days of history to return (7–90)

Code Examples

curl "https://api.appeeky.com/v1/apps/1617391485/keywords/trends?keyword=puzzle+game&country=us&days=30" \
  -H "X-API-Key: YOUR_API_KEY"

Response

{
  "data": {
    "keyword": "puzzle game",
    "appId": "1617391485",
    "country": "us",
    "history": [
      { "date": "2026-01-18", "rank": 12 },
      { "date": "2026-01-19", "rank": 11 },
      { "date": "2026-01-20", "rank": 11 },
      { "date": "2026-01-21", "rank": 9 },
      { "date": "2026-01-22", "rank": 8 },
      { "date": "2026-01-23", "rank": 8 },
      { "date": "2026-01-24", "rank": 7 },
      { "date": "2026-01-25", "rank": 6 },
      { "date": "2026-01-26", "rank": 5 },
      { "date": "2026-01-27", "rank": 5 }
    ],
    "rankChange7d": 6,
    "rankChange30d": 7,
    "trend": "improving"
  }
}

Response Fields

FieldTypeDescription
keywordstringThe queried keyword
appIdstringApple App ID
countrystringISO country code used
historyarrayArray of daily rank data points (see History Object below)
rankChange7dnumberRank change over the last 7 days. Positive = improved (rank number decreased).
rankChange30dnumberRank change over the last 30 days. Positive = improved (rank number decreased).
trendstringOverall trend direction: "improving", "declining", or "stable"

History Object

FieldTypeDescription
datestringDate in YYYY-MM-DD format
ranknumberApp’s rank for the keyword on this date

Understanding Rank Changes

Rank change values are calculated as the improvement in position, not the raw difference in rank number:
  • Positive value = rank improved (e.g. moved from #12 to #5 → rankChange7d: 7)
  • Negative value = rank declined (e.g. moved from #5 to #8 → rankChange7d: -3)
  • Zero = rank stayed the same
Historical data points are only available for dates the keyword has been tracked. Add a keyword to your tracked set with POST /v1/keywords/track to start collecting history; trends become richer the longer a keyword has been tracked.
Short-term vs long-term analysis: Use days=7 for quick feedback on recent ASO changes (metadata updates, new screenshots, keyword tweaks). Use days=30 or days=90 for measuring long-term keyword strategy effectiveness and seasonal trends.

Errors

StatusCodeWhen
400INVALID_APP_IDNon-numeric or missing app ID
400INVALID_KEYWORDKeyword shorter than 2 characters
400INVALID_DAYSDays value outside 7–90 range
401UNAUTHORIZEDMissing or invalid API key
429RATE_LIMITEDToo many requests — slow down
500INTERNAL_ERRORServer error fetching trend data