Tools March 21, 2026

Free ASO Keyword Research with AI — No $70/Month Tools Needed

A Reddit post + Claude Code + a free API = complete App Store keyword data including popularity, difficulty, top app rankings, and related keyword suggestions.

W

Woody

woodyrush.com

Free ASO Keyword Research with AI — No $70/Month Tools Needed

A Reddit post + Claude Code + a free API = complete App Store keyword data including popularity, difficulty, top app rankings, and related keyword suggestions.


The Backstory

Browsing Reddit’s r/iOSProgramming, I came across a developer who built an App Store keyword analysis API. His motivation was simple:

He didn’t want to pay $70/month for an ASO tool just to look up a few keywords occasionally.

He published the tool on the Apify platform with pay-per-use pricing. The key part — 250 free API calls per month, more than enough for indie developers and small teams.

What you get:

  • Keyword popularity (5-100, similar to Apple Search Ads scoring)
  • Competition difficulty (0-100, higher = harder)
  • Top 10 app rankings (with names, ratings, review counts)
  • Related keyword suggestions

After reading the post, I had a thought: what if I combined this API with AI — could it replace those paid ASO tools entirely?

The answer: Yes, and the experience is actually better.


What I Built

I used Claude Code (Anthropic’s AI coding tool) to automate the entire workflow:

  1. Input a set of keywords
  2. AI automatically calls the API, batch-querying data across 11 markets
  3. Outputs a formatted analysis report

The whole setup took about 20 minutes. After that, each research session takes just one command.


Step-by-Step Tutorial

Step 1: Sign Up for Apify and Get Your API Token

  1. Register at apify.com (free)
  2. Go to Settings → Integrations, copy your API Token
  3. Install the Python client: pip install apify-client

Step 2: Understand the API

The tool’s Actor ID is asodev/app-store-keyword-tool. Here’s how to call it:

from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run_input = {
    "action": "keyword-analysis",
    "keywords": ["fitness tracker", "workout app", "health monitor"],
    "storefront": "US",  # Must be uppercase
}

run = client.actor("asodev/app-store-keyword-tool").call(run_input=run_input)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())

Key notes:

  • keywords is an array — you can pass multiple keywords in one call, and it only counts as one API call
  • storefront must be uppercase (US not us — learned this the hard way)
  • Supports 50+ countries/regions

Step 3: Reading the Response Data

Each keyword returns data like this:

{
  "keyword": "fitness tracker",
  "storefront": "US",
  "popularity": 61,
  "difficulty": 78,
  "confidence": "high",
  "totalApps": 47,
  "topApps": [
    {
      "name": "Fitbit: Health & Fitness",
      "appId": 462638897,
      "rating": 4.2,
      "ratingCount": 583201
    }
  ],
  "relatedSearches": [
    "fitness tracker app",
    "health and fitness tracker",
    "activity tracker"
  ]
}

How to interpret the data:

FieldMeaningHow to Use
popularitySearch volume 5-100≥40 worth optimizing, <20 barely searched
difficultyCompetition 0-100≤50 you have a chance, ≥80 dominated by big players
pop/diff ratiopopularity ÷ difficultyHigher ratio = bigger opportunity
topAppsCurrent top 10 rankingsKnow your competitors
relatedSearchesRelated search termsLong-tail keyword goldmine

Step 4: Batch Query Multiple Markets

The key to maximizing 250 free calls is batching. One API call can handle 20-30 keywords, so:

  • 30 keywords × 1 market = 1 API call
  • 30 keywords × 11 markets = 11 API calls
  • You can run 20+ full research rounds per month
markets = ["US", "JP", "KR", "BR", "ID", "TR", "VN", "TH", "SA", "MX", "PH"]

for market in markets:
    run_input = {
        "action": "keyword-analysis",
        "keywords": your_keywords,  # Pass them all at once
        "storefront": market,
    }
    # ... call the API

Adding AI: From Data to Insights

Getting the data is just step one. The real time-saver is having AI analyze it for you.

I built an automated Skill in Claude Code. Now each research session only requires:

/aso-keyword-research fitness tracker, workout app, step counter, calorie counter

The AI automatically:

  1. Calls the API for all markets
  2. Sorts by popularity/difficulty
  3. Flags high-opportunity keywords (high popularity + low difficulty)
  4. Compares across 11 markets
  5. Lists related searches (discovering long-tail opportunities)
  6. Saves CSV and JSON files

Sample output (excerpt):

US Market Keyword Analysis
================================================================

High Popularity (Pop >= 20)
Keyword              Pop  Diff  Ratio  Top App
-------------------------------------------------------
fitness tracker       61    78   0.78  Fitbit
workout app           55    72   0.76  Nike Training Club
step counter          48    58   0.83  Pedometer++
calorie counter       52    69   0.75  MyFitnessPal

Multi-Market Comparison
================================================================
Keyword              US   JP   KR   BR   ID   TR   VN
-------------------------------------------------------
fitness tracker      61   42   38   45   35   40   37
workout app          55   --   --   41   30   35   32
step counter         48   51   45   38   28   33   30

Top Opportunities (High Pop / Low Diff)
================================================================
[ID] step counter      Pop=28  Diff=31  Ratio=0.90
[VN] fitness tracker   Pop=37  Diff=42  Ratio=0.88
[TH] step counter      Pop=30  Diff=35  Ratio=0.86

Key takeaways at a glance:

  • “step counter” has low difficulty in Southeast Asian markets — an opportunity
  • “fitness tracker” has solid popularity globally
  • “workout app” has low search volume in Asia — might need localized keywords

Real Findings from My Research

After running several rounds with this setup, I found some counterintuitive insights:

1. Single-word keywords have high popularity but are useless

Keywords like “Wallet” (popularity 69) or “Gold” (popularity 50) look tempting. But the #1 result is Apple Wallet or a system app — you simply can’t rank for them.

2. Most keywords have a popularity of just 5

The App Store’s popularity distribution is extremely skewed. A popularity of 5 basically means “no detectable search volume.” If half your keyword list scores 5, you need new keywords.

3. Long-tail keywords are the real goldmine

“crypto wallet” has popularity 51, difficulty 81 — very hard to crack. But the related searches from the API include terms like “self custody wallet” and “defi wallet” — much lower difficulty, much more targeted.

4. Markets vary dramatically

The same keyword might have popularity 60 in the US but only 5 in Indonesia. Before going international, run the data first — don’t guess.


Cost Comparison

SolutionMonthly CostKeyword DataMulti-MarketAutomation
Sensor Tower$79+
AppTweak$69+
Astro (Mac)$50Limited
This approach$0✅ 50+ markets

After exhausting the free tier, Apify charges $20/1000 keyword analyses. For most indie developers, the free tier covers monthly research needs.


Quick Start Checklist

  1. ✅ Sign up for Apify, get your API Token
  2. pip install apify-client
  3. ✅ Copy the Python code above, swap in your keywords
  4. ✅ Run the US market first, find keywords with popularity ≥ 40
  5. ✅ Use related searches to discover long-tail keywords
  6. ✅ Expand high-potential keywords to target markets

If you use Claude Code, you can take it further by packaging the whole workflow into a Skill — one command and you’re done.


Final Thoughts

ASO doesn’t require expensive tools. A free API + AI-powered analysis gives you the same caliber of data as paid tools.

What matters isn’t the tool itself, but how you use the data to make decisions: which keywords to target, which markets have opportunities, and how to allocate keyword weight across your title and subtitle.

Tools are just the starting point. Strategy is the moat.


Inspiration: Reddit r/iOSProgramming — thanks to this developer for sharing the tool.

API used: Apify - App Store Keyword Tool

#aso #keyword-research #app-store #claude-code #apify #indie-dev