← Back to Plugins
Tools

aso-rank-checker

Mehdi Jones By Mehdi Jones 👁 89 views ▲ 0 votes

Check where any iOS app ranks in App Store search for any keyword, in any country. Get keyword difficulty scores, top competitors, "striking distance" quick wins (ranks 11–50), and listing audits with ASO fixes. Uses Apple's public data, no API key needed. Built by ASOAgency.io

Homepage GitHub

Install

openclaw plugins install git:github.com/ataygamesmode-ops/openclaw-aso-rank-checker

README

# ASO Rank Checker for OpenClaw

**Check where any iOS app ranks in App Store search for any keyword, in any country — and size up the competition. No API key.**

Built and maintained by **[ASO Agency](https://asoagency.io)**, an App Store Optimization studio for funded app startups.

---

## Why

Keyword rankings are the heartbeat of App Store Optimization, but checking them usually means a paid ASO suite or searching the App Store by hand, one country at a time. This plugin gives your OpenClaw agent four read-only tools on top of Apple's public search data, so you can ask:

- *"Where does my app rank for these 20 keywords in the US, UK and Germany?"*
- *"Which keywords am I close to the top 10 for?"* (the **striking distance** list: ranks 11–50, with a concrete next step for each)
- *"Who ranks for 'habit tracker', and what would it take to beat them?"*
- *"Which of these keywords is easiest to win?"*

It needs no account, no API key and no configuration.

## Tools

| Tool | What it does |
|------|--------------|
| `aso_keyword_rank` | Rank of an app for 1–25 keywords in up to 5 countries (max 30 searches per call): position in the top 200, result count, top 3 apps, keyword-in-title check. Summary with ranked / top-10 / top-50 counts, average rank and **striking-distance quick wins** (ranks 11–50). |
| `aso_keyword_competitors` | The apps ranking for a keyword (top 10 by default, up to 50): rating, rating count, price, genre, last update, keyword-in-title, link — plus top-10 aggregates and a "what it takes to rank here" takeaway. |
| `aso_keyword_difficulty` | A transparent **0–100 difficulty score** for up to 10 keywords, easiest first, with each factor's points and an opportunity note. Measures competition, **not** search volume. |
| `aso_app_lookup` | Listing metadata (title length vs the 30-char limit, ratings, version, days since update, languages, screenshots, description length…) plus quick ASO flags. |

`app` inputs accept an App Store ID (`493145008`), `id493145008`, an `apps.apple.com` URL, a bundle ID (`com.getsomeheadspace.headspace`), or an app name (resolved to the top search result, and the reply says so). Countries are two-letter codes (`us`, `gb`, `de`, `jp`…), default `us`.

## Install

From ClawHub:

```bash
openclaw plugins install clawhub:openclaw-aso-rank-checker
```

From npm:

```bash
openclaw plugins install openclaw-aso-rank-checker
```

From source:

```bash
git clone https://github.com/ataygamesmode-ops/openclaw-aso-rank-checker
cd openclaw-aso-rank-checker
npm install && npm run build
npm pack
openclaw plugins install npm-pack:./openclaw-aso-rank-checker-1.0.0.tgz
```

OpenClaw may ask you to confirm the plugin's capabilities on install (it only registers four read-only tools that call Apple's public API). If it does, re-run the same command with `--accept-capabilities`. Then check it loaded:

```bash
openclaw plugins inspect aso-rank-checker --runtime
```

No configuration needed.

## Examples

Sample outputs from live runs on 24 September 2026. Rankings move daily.

### "Where does Duolingo rank for these keywords in the US and UK?"

> **OpenClaw** (via `aso_keyword_rank`):
>
> **Summary:** ranked in the top 200 for **6/8** keyword checks · **2** in the top 10 · **6** in the top 50 · average rank of ranked keywords **11.8** · best: "learn spanish" #1 (US).
>
> | Keyword | Country | Rank | In title | Results | Top 3 apps (id) |
> | --- | --- | --- | --- | --- | --- |
> | learn spanish | US | **#1** | — | 175 | Duolingo: Language Lessons (570060128) · Babbel - Language Learning (829587759) · Learn Spanish for Beginners (601738437) |
> | learn spanish | GB | **#1** | — | 176 | Duolingo: Language & Chess (570060128) · Learn Spanish for Beginners (601738437) · Babbel - Language Learning (829587759) |
> | vocabulary | US | #11 | — | 196 | Vocabulary - Learn words daily (1084540807) · Word of the Day・Vocabulary (987136347) · Vocabulary Builder by Learning (6738261069) |
> | vocabulary | GB | #12 | — | 190 | Vocabulary - Learn words daily (1084540807) · Word of the Day・Vocabulary (987136347) · Elevate - Brain Training (875063456) |
> | flashcards | US | — | — | 183 | Quizlet: More than Flashcards (546473125) · Flash Cards Flashcards Maker (669486043) · Noji - Flashcards study app (1573585542) |
> | flashcards | GB | — | — | 189 | Quizlet: AI-powered flashcards (546473125) · Flash Cards Flashcards Maker (669486043) · Amazing Flash Cards (1511674871) |
> | grammar | US | #27 | — | 182 | Grammarly: AI Keyboard & Voice (1158877342) · LearnEnglish Grammar (UK ed.) (488099900) · English Grammar in Use & Test (1526935199) |
> | grammar | GB | #19 | — | 190 | LearnEnglish Grammar (UK ed.) (488099900) · Grammarly: AI Keyboard & Voice (1158877342) · English Grammar in Use & Test (1526935199) |
>
> **Striking distance (ranks 11–50) — quick wins**
> - **"vocabulary"** (US #11 · GB #12): Not in your title yet — if it isn't in your subtitle either, adding "vocabulary" to the title or subtitle is the fastest lever toward the top 10.
> - **"grammar"** (GB #19 · US #27): Not in your title yet — if it isn't in your subtitle either, adding "grammar" to the title or subtitle is the fastest lever toward the top 10.
>
> **Not in the top 200:** "flashcards" (US) and "flashcards" (GB) — Apple doesn't currently associate the app with these terms. If relevant, work them into the title, subtitle or keyword field.

Note how the title check uses each storefront's **localized** title: in the UK, Duolingo's title is "Duolingo: Language & Chess".

### "Which of these keywords is easiest to win?"

> **OpenClaw** (via `aso_keyword_difficulty`):
>
> | Keyword | Difficulty | Label | Top-10 median ratings | KW in title | Updated ≤90d | 1M+ apps | Results |
> | --- | --- | --- | --- | --- | --- | --- | --- |
> | habit tracker | **63** | High | 9,697 | 8/10 | 6/10 | 0 | 193 |
> | budget app | **73** | High | 23.1K | 9/10 | 10/10 | 0 | 193 |
> | meditation | **81** | Very high | 96.4K | 8/10 | 10/10 | 1 | 194 |
>
> - **meditation** (81, Very high) — Brand-dominated (top-10 median 96.4K ratings, 1 app with 1M+ ratings): only worth it as a secondary keyword — focus on long-tail phrases. Top 3: Insight Timer: Meditate, Sleep (447K), Calm (2M) and Headspace: Sleep & Meditation (974K).
>
> *Difficulty measures competition in the current top 10 — it is **not** search volume.*

*(Excerpt: the full reply has an opportunity note for every keyword and a table of each factor's points.)*

### "Who ranks for 'habit tracker'?"

> **OpenClaw** (via `aso_keyword_competitors`):
>
> | # | App | Developer | Rating | Ratings | Updated | KW in title |
> | --- | --- | --- | --- | --- | --- | --- |
> | 1 | Habit Tracker | InnerGrow | 4.8★ | 147K | 2026-08-15 | ✓ exact |
> | 2 | Habit Tracker - HabitKit | Sebastian Roehl | 4.8★ | 2,427 | 2026-09-21 | ✓ exact |
> | 3 | Onrise: Habit Tracker & Focus | Maximilian Munker | 4.8★ | 2,570 | 2026-08-25 | ✓ exact |
> | 4 | Finch: Self-Care Pet | Finch Care Public Benefit Corporation | 4.9★ | 755K | 2026-09-22 | — |
> | 5 | Productive - Habit Tracker | Mosaic S.r.l. | 4.6★ | 91.1K | 2026-03-19 | ✓ exact |
>
> **What it takes to rank here:** competitive (median 9,697 ratings) — you need strong relevance plus steady download velocity and a healthy ratings base to break in. 80% of the top 10 carry the keyword in their title, so having it in yours is table stakes. Every top app is free to download — a paid-upfront app will struggle; use freemium or a trial.

*(Columns trimmed here; the tool also returns app ID, price, genre and store link.)*

## How the difficulty score works

Computed from the current top 10 results for the keyword, 0–100:

| Factor | Points | Why |
|--------|--------|-----|
| Ratings strength | 0–50 | log-scaled median rating count of the top 10 (maxes out around 316K ratings). The dominant factor: rating volume is the best public proxy for install volume and staying power. |
| Title relevance | 0–20 | share of the top 10 with the keyword (exact phrase or all words) in the title — how hard the relevance fight is. |
| Freshness | 0–10 | share of the top 10 updated in the last 90 days — actively maintained competitors. |
| Mega-apps | 0–15 | 5 points per app with 1M+ ratings (max 3). |
| Result depth | 0–5 | fewer results (under ~200) suggests a niche term. |

Labels: under 35 Low · 35–59 Medium · 60–79 High · 80+ Very high. A low score can also mean nobody searches the term, so check demand (for example with Apple Search Ads popularity) before committing.

## Data source & limits

- **Apple's public iTunes Search and Lookup API** (`itunes.apple.com/search`, `/lookup`). No key and no scraping. Requests go out one at a time with a small gap, a descriptive User-Agent, and retries with backoff when Apple throttles (HTTP 403/429). Responses are cached in memory for 10 minutes, so repeat questions cost nothing.
- **Ranks are an approximation.** "Rank" is the app's position in the API's top 200 results. That closely tracks live App Store search, but it is not identical: the API has no personalisation, no Search Ads and no on-device signals, and results can differ slightly from what a given iPhone shows.
- **Top 200 only.** Anything below is reported as "not in the top 200".
- **Budgets keep it polite:** up to 30 keyword×country searches per `aso_keyword_rank` call (extras are listed as skipped), 10 keywords per difficulty call, 5 countries per call. Apple paces responses (roughly 1–5 s per search), so a full 30-search call can take a minute or two.
- **Title only.** The public API exposes the title, not the subtitle, keyword field or promotional text, so "in title" checks the title alone.
- **Ratings are per storefront**, and "languages" means the app's supported languages as reported by Apple.
- **iOS App Store only.** Google Play is not covered.

## Development

```bash
npm install          # dev deps include openclaw 2026.9.6 for types (use --ignore-scripts on Node 25)
npm run build        # tsc →

... (truncated)
aso app store optimization keyword ranking rank tracker app store ios keyword research mobile marketing

Comments

Sign in to leave a comment

Loading comments...