Skip to main content

AI-first App Store keyword research — plug into Claude, Cursor, or any MCP client. No API keys needed.

Project description

🔍 aso-mcp

Free App Store keyword research for your AI. No API keys. No signup. No subscription.

Plug it into Claude, Cursor, Windsurf, or any MCP client and research App Store keywords conversationally.

PyPI License: MIT Python 3.10+


Install in 10 seconds

Claude Code

claude mcp add aso -- uvx aso-mcp

Claude Desktop

Add to your config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "aso": {
      "command": "uvx",
      "args": ["aso-mcp"]
    }
  }
}

Cursor / Windsurf

Add to your MCP settings:

{
  "mcpServers": {
    "aso": {
      "command": "uvx",
      "args": ["aso-mcp"]
    }
  }
}

That's it. No API keys. No environment variables. Just works.


What can it do?

Once installed, just talk to your AI naturally:

"Research the keyword 'habit tracker' in the US App Store"

"Compare these keywords and rank them by opportunity: cable identifier, wire color code, voltage calculator, circuit breaker finder"

"Find me keywords with popularity above 30 and difficulty below 40 from this list: ..."

"Show me who's ranking for 'meditation app' and how hard it is to compete"

"Suggest optimized metadata for my app CableID targeting cable identification keywords"

"Scan 'budget planner' across the US, UK, Germany, Japan and Brazil stores"


Tools

Tool What it does
aso_research_keyword Full analysis — popularity, difficulty, opportunity score, download estimates, top competitors
aso_batch_research Research up to 20 keywords at once, ranked by opportunity
aso_competitor_analysis Deep dive into who's ranking — ratings, reviews, pricing, developer, app age
aso_find_opportunities Scan up to 30 keywords, filter by your thresholds, return only the good ones
aso_suggest_metadata Generate optimized title, subtitle, and keyword field backed by real data
aso_country_scan Check a keyword across up to 15 App Store regions

How scoring works

All data comes from Apple's free iTunes Search API. No paid APIs, no scraping, no Apple Search Ads account needed.

Popularity (1–100)

A 6-signal model estimating how often a keyword is searched:

Signal Points What it measures
Result count 0–25 How many apps appear for this keyword
Leader strength 0–30 Rating volume of top-ranking apps
Title match density 0–20 How many apps use this keyword in their title
Market depth 0–10 Whether strong apps appear deep in results
Specificity penalty −30 to 0 Adjusts for generic terms that inflate counts
Exact phrase bonus 0–15 Rewards multi-word keywords with precise matches

Difficulty (1–100)

A 7-factor weighted model estimating how hard it is to rank:

Factor Weight What it measures
Rating volume 30% How many ratings competitors have
Dominant players 20% Whether apps with 100K+ ratings dominate
Rating quality 10% Average star ratings
Market maturity 10% How long competitors have been listed
Publisher diversity 10% Few publishers vs many
App count 10% Total number of results
Content relevance 10% How well results actually match the keyword

Opportunity labels

Label Meaning
Sweet Spot High popularity + low difficulty — go build this
Hidden Gem Decent popularity + very low difficulty
Competitive Opportunity High popularity, moderate difficulty — needs a strong USP
Worth Investigating Promising but do more research
Low Volume Easy to rank but few people searching
Avoid Too competitive for the search volume

Download estimates

3-stage pipeline per ranking position: popularity → estimated daily searches → tap-through rate (power-law decay) → install conversion (35–55% for free apps).


Rate limits

The iTunes Search API is free but rate-limited. The client enforces a 3-second minimum between requests. Batch operations take roughly n × 3 seconds.


FAQ

How accurate is this compared to paid tools like Astro or AppTweak?

Paid tools have access to Apple Search Ads impression data across thousands of advertisers, giving them more precise volume estimates. This tool uses publicly available iTunes Search API data with a multi-signal scoring model. It's very good for relative comparisons (keyword A vs keyword B) and identifying opportunities. It won't give you the exact daily search volume that a $100/month tool would.

Do I need an Apple developer account?

No. The iTunes Search API is completely public.

Does this work for Google Play?

Not yet. The iTunes Search API only covers the Apple App Store. Google Play support would require a different data source.

Can I use this for commercial research?

Yes. MIT licensed. Do whatever you want with it.


Contributing

PRs welcome. If you want to improve the scoring model, add new tools, or support new data sources, open an issue first so we can discuss the approach.


License

MIT — free to use, modify, and distribute.


Built by @heyb3n_ — electrician turned iOS dev, building AI tools for indie developers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aso_mcp-0.1.2.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aso_mcp-0.1.2-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file aso_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: aso_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aso_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0f63e96a76dc24ee032a32868c4bfedc59182b497e7278940a2a87246a35e8f2
MD5 32660676eb228e9a5de99c4b719054fc
BLAKE2b-256 7cae5b920db7a21d534a4b0ccb59c89b5bf7c2635cc81b6717bdefc3b4edd8fd

See more details on using hashes here.

File details

Details for the file aso_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: aso_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for aso_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cdf9a6fdea2995e5cc1181694ac595a0b0bf216c76dd9ca0165cf9d988d093df
MD5 9d016ebce9d481285578cdf8c4f66dd5
BLAKE2b-256 7af350381f26c99418b4a9819b5a9d6f4b668cb79e5ad4161985fb9b7b00a8d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page