How ASOApp's Keyword Data Is Produced

Every number ASOApp shows is computed, not measured. This page documents exactly how — the sources, the formulas, the weights and the refresh intervals — so you can judge how much weight to put on each figure. If a tool will not tell you this, be suspicious of its numbers.

The one thing to understand first

Apple publishes no App Store search volume. Not in App Store Connect, not through any public API, not to any vendor. Every "searches per month" figure you have ever seen in an ASO tool — ours and every competitor's alike — is inferred from indirect signals.

This is not a criticism of anyone. It is the shared constraint of the whole category. It means:

Sources

Source What it provides How we use it
Apple iTunes Search API The apps ranking for a term in a storefront, with names, publishers, ratings, rating counts, release dates and prices Everything in the difficulty and traffic models
Apple App Store search hints Real App Store autocomplete suggestions per storefront Keyword discovery, expanded across the alphabet
Apple App Store review feed Recent public reviews for an app Competitor complaint mining
Your own observations Rankings recorded while you track an app Rank history and movement

Where the App Store permits it, these requests go directly from your browser to Apple. Our server proxies only when the browser cannot. There is no third-party data panel, no SDK embedded in anyone's app, and no purchased clickstream.

Difficulty (1–100)

Difficulty estimates how hard it would be for a new app to break into the top results for a keyword. It is a weighted blend of seven signals derived from the top 10 ranking apps:

Signal Weight What it captures
Competitor strength 30% Log-scaled median rating count of the ranking apps — the closest available proxy for install base
Title density 22% What share of ranking apps put the keyword in their app name
Concentration 15% Share of all ratings held by the top two apps — a dominated keyword is harder
Maturity 12% Average age of the ranking apps, capped at 8 years
Rating quality 10% Average star rating of the ranking apps
Publisher diversity pressure 6% How few distinct publishers hold the results
Result depth 5% Total number of ranking apps, capped at 50

Two adjustments: a brand-leader correction discounts the top app when it is the publisher's own brand name and has fewer ratings than the median (a brand match is not evidence of competitiveness), and results with fewer than 8 ranking apps are scaled to 80%, because a thin result set overstates difficulty.

The score is clamped to 1–100 and labelled: Very easy (≤15), Easy (≤35), Medium (≤55), Hard (≤72), Very hard (≤90), Extreme (above).

Traffic (5–100)

Traffic is a demand proxy, not a volume estimate. It blends:

The result is multiplied by a brevity factor, because shorter queries are typed far more often: one word ×1.0, two words ×0.85, three words ×0.62, four or more ×0.42.

Opportunity

opportunity = traffic × (1 − (difficulty / 100)²)

The squared term is deliberate: difficulty is punished non-linearly, so a keyword at difficulty 80 keeps only 36% of its traffic value while one at difficulty 30 keeps 91%. This is the number to sort by — it is demand you plausibly have a shot at, rather than demand that exists.

Estimated daily searches

estimated daily searches = 5 × 10^(traffic / 28) × market scale

The market scale factor sizes each storefront relative to the US (1.0) — for example Germany 0.40, Japan 0.55, United Kingdom 0.34, Canada 0.22, Netherlands 0.12.

This is the softest number on the site. It is an exponential fit that turns a 0–100 proxy into something with a familiar unit. It is useful for order-of-magnitude comparison between keywords in the same storefront. Do not use it in a revenue forecast, and do not compare it to a Google Keyword Planner figure, which measures something entirely different.

Refresh intervals

Data Cached for
Raw App Store search results 30 minutes
Autocomplete hints 6 hours
Full keyword scores 72 hours (configurable)
Your tracked rankings Recorded when you check them; kept until you delete them

Requesting a keyword after its score expires triggers a fresh App Store query and recomputes everything.

What these numbers cannot tell you

Stated plainly, because it matters more than the formulas:

Why we publish this

Two reasons. First, a score you cannot interrogate is a score you cannot use well — knowing that difficulty leans 30% on competitor rating counts tells you when to distrust it. Second, if we are going to say on our comparison page that all ASO numbers are models, we should show ours.

Related

Track your own app — free to start

See where your app ranks for keywords like this, across countries and over time. A new account starts a 7-day PRO trial — cancel before it ends and you pay nothing.

Add a single app — or paste a developer link to track all of their apps at once.