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.1.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.1-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aso_mcp-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 a38721e2d6cbced15d66f95515dd711bfbd3235106dd8749acbb0e9429366e60
MD5 82f8e1a3515f50da1262421f8982c015
BLAKE2b-256 26975007ccc22d89d8c7d7039f0ae3bd60ff7358b6bef43ecf023ff04df2e041

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aso_mcp-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7405561ddd6a7e9c4f08966121d628003e4b92e474b5c8b804094a0bec5e6ba8
MD5 ba47607cf5ad66fc00139541fbee883d
BLAKE2b-256 4fc5a034a847fe6e0b921f1dd32f9ab06a07ecc85a42b40aae959711f9f25e72

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