keyword-intelligencelisted
Install: claude install-skill ASOScan/aso-skills
# Keyword Intelligence
Turn ASOScan's real keyword data into a clear read on which keywords are worth the
effort and how the app is trending — so you prioritize from numbers, not hunches.
## When to use
- "What's the volume/difficulty of `<keyword>`?"
- "Where does my app rank for `<keyword>`? Is it moving?"
- "Show me my rank history / volume trend for `<keyword>`."
- "Research `<a keyword I don't track yet>`."
## Calling the ASOScan API
Base `https://asoscan.com/api/public/v1` · header `Authorization: Bearer $ASOSCAN_API_KEY`
(read from the env var; never hardcode/echo it). JSON, camelCase. Capture the
status to handle errors (see the bottom). If the key is unset, hand off to
**asoscan-setup**.
1. **Find the app** — `GET /apps` → each `{ id, name, platform, storeId, category }`.
Use the `id`.
2. **Tracked keywords + current state** — `GET /apps/{id}/keywords?country=&rankWindow=7d`
(1 credit). Each row: `{ id, term, country, rank, rankDelta, rankCheckedAt,
volume, difficulty, isFavorite }`. `rankWindow` = `1d|7d|30d`. Fetch the list
once and filter locally. The row's `id` is the `{keywordId}` for history calls.
3. **Rank history** — `GET /apps/{id}/keywords/{keywordId}/history?days=30`
(1 credit) → `[{ rank, recordedAt }]` (days 1–365).
4. **Volume/difficulty trend** — `GET /apps/{id}/keywords/{keywordId}/metrics-history?days=180`
(1 credit) → `{ term, country, volume[]{ at, value }, difficulty[]{ at, value } }`.
5. **Live research** (a term not trac