App Store + Google Play Data

io.github.TheValkDokkPublished by GitHub account TheValkDokkv0.2.0Updated Nov 6, 2026

Live App Store and Google Play data: app details, reviews, search, top charts for 175+ storefronts.

Overview

AI-generated overview

Gives an assistant live Apple App Store and Google Play data: app search, app details, reviews, top charts and categories across 175+ storefronts.

What you can do
  • Search apps by keyword using each store's own relevance ranking and get ids for follow-up calls
  • Fetch full metadata for one app: developer, ratings, price, version, size, screenshots, store URL
  • Read paginated user reviews, newest or most helpful first, with developer replies
  • List ranked top charts (free, paid, grossing, new) per country and category
  • Look up store category ids and names for filters and chart queries
When to use it
Useful for app market research, competitor and ASO checks, and review monitoring: comparing ratings across countries, finding top-grossing apps in a market, or summarizing recent complaints about an app update.
Requirements
A RapidAPI key (RAPIDAPI_KEY, sent as the X-RapidAPI-Key header) from the provider's RapidAPI listing; the free BASIC tier allows 500 calls per month. Runs locally via npx (Node.js) or as a hosted streamable HTTP endpoint where you supply your own key as a header.
Before you install
Every tool call is one billable API request against your RapidAPI plan, and paid tiers start at $9.99, so heavy use costs money. The key is a secret: keep it in the environment or header and avoid pasting it into shared configs. Requests go to the provider's RapidAPI-hosted API, so queries and storefront choices are visible to that third party.

Installation

In SourceWeft

  1. Open App Store + Google Play Data in the dashboard and add it to a workspace.
  2. Connect X-RapidAPI-Key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.TheValkDokk%2Fappstore-data/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "app-store-google-play-data": {
      "type": "http",
      "url": "https://appstore-mcp-623314400722.us-central1.run.app/mcp",
      "headers": {
        "X-RapidAPI-Key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

appstore-data-mcp

[App Store + Google Play Data MCP server]

MCP server that gives Claude, Cursor, VS Code, Codex and any other MCP client live data from the Apple App Store and Google Play — app details, reviews, keyword search, top charts and category taxonomies, for 175+ country storefronts.

Powered by the App Store Google Play Data API (free tier: 500 calls/month).

Tools

ToolWhat it does
search_appsKeyword search using the store's own relevance ranking; returns ids for the other tools
get_appFull metadata for one app — name, developer, rating, price, version, size, screenshots, store URL
get_app_reviewsPaginated reviews, newest or most-helpful first, with developer replies
top_chartsFree / paid / grossing / new charts, per country and category
list_categoriesStore category ids and names, for filters and resolving top_charts categories

Both stores are normalized to the same field names (id, name, developer, rating, …) so the model does not have to learn two schemas.

Setup

  1. Get a free RapidAPI key: https://rapidapi.com/TheValkDokk/api/app-store-google-play-data-api → subscribe to BASIC → copy X-RapidAPI-Key from the code snippet.
  2. Add the server to your client with RAPIDAPI_KEY in the environment.

Claude Code

bash
# key already exported in your shellclaude mcp add appstore-data --scope user -e RAPIDAPI_KEY=$RAPIDAPI_KEY -- npx -y appstore-data-mcp
# or inline the keyclaude mcp add appstore-data --scope user -e RAPIDAPI_KEY=<your-rapidapi-key> -- npx -y appstore-data-mcp

Then claude mcp list should report appstore-data: npx -y appstore-data-mcp - ✔ Connected.

A -e value written as ${SOMETHING} is resolved against Claude Code's own environment when it spawns the server, so -e 'RAPIDAPI_KEY=${RAPIDAPI_KEY}' only works if RAPIDAPI_KEY is exported in the shell that starts Claude Code. If it is not, claude mcp list warns Missing environment variables: RAPIDAPI_KEY and tool calls come back as MISSING_CREDENTIALS. The server itself starts either way — the key is only read at tool-call time.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "appstore-data": {      "command": "npx",      "args": ["-y", "appstore-data-mcp"],      "env": { "RAPIDAPI_KEY": "your-rapidapi-key" }    }  }}

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (per project) — same mcpServers block as above.

VS Code (Copilot agent mode)

.vscode/mcp.json:

json
{  "servers": {    "appstore-data": {      "command": "npx",      "args": ["-y", "appstore-data-mcp"],      "env": { "RAPIDAPI_KEY": "your-rapidapi-key" }    }  }}

Example prompts

  • "Find the top 5 meditation apps in the US and compare their ratings and review counts."
  • "What changed in Instagram's iOS reviews over the last 200 entries — any 1-star complaints about the new update?"
  • "Which photography apps are top-grossing in Japan right now?"
  • "Pull the 25 most recent reviews for com.spotify.music in the UK and summarise the complaints."

Hosted endpoint (no install)

A remote copy runs at https://appstore-mcp-623314400722.us-central1.run.app/mcp (streamable HTTP, stateless). Send your own RapidAPI key as a header — nothing is shared or stored server-side:

json
{  "mcpServers": {    "appstore-data": {      "type": "http",      "url": "https://appstore-mcp-623314400722.us-central1.run.app/mcp",      "headers": { "X-RapidAPI-Key": "your-rapidapi-key" }    }  }}

Authorization: Bearer <key> and ?key=<key> work too. Tools list without a key, so directory crawlers can index the server; a tool call without one returns MISSING_CREDENTIALS with the signup link.

Configuration

VariableRequiredPurpose
RAPIDAPI_KEYyes (unless self-hosting)Marketplace auth: sent as X-RapidAPI-Key + X-RapidAPI-Host
APPSTORE_API_BASE_URLnoPoint at your own deployment instead of the marketplace
APPSTORE_API_HOSTnoOverride the X-RapidAPI-Host value
APPSTORE_PROXY_SECRETnoSelf-hosted origin auth (X-RapidAPI-Proxy-Secret)

Quotas and cost

Calls count against your RapidAPI plan: BASIC is free (500 calls/month), paid tiers from $9.99. Each tool call is one request. limit is capped at 50 per call on purpose — a larger page can exceed an MCP client's response size limit and get truncated.

Develop

bash
npm installnpm run buildRAPIDAPI_KEY=xxx npm run smoke   # 26 end-to-end checks against the live API

License

MIT

Registries

Auto-publish to the MCP Registry runs from .github/workflows/mcp-registry.yml on every release.

Source: README.md at commit 49610a9

Tools

5

search_apps

Search apps

Search a store by keyword, using the store's own relevance ranking. Returns compact rows with the id you need for get_app.

Parameterslanglimitqueryrequiredstorecountry

get_app

App details

Full metadata for one app: name, developer, ratings, price, version, size, screenshots, store URL. Use the numeric app id (iOS) or package name (Android).

Parameterslangstoreapp_idrequiredcountry

get_app_reviews

App reviews

Paginated user reviews. sort=recent is best for monitoring new feedback; sort=helpful surfaces the loudest complaints. Page with offset and stop when has_more is false.

Parameterssortlimitstoreapp_idrequiredoffsetcountry

top_charts

Top charts

Ranked top-chart lists per storefront. iOS collections: topfreeapplications, toppaidapplications, topgrossingapplications, newapplications (+ ipad variants). Android: topselling_free, topselling_paid, topgrossing, new_free, new_paid.

Parameterslimitstorecountrycategorycollection

list_categories

Store categories

The store's category taxonomy — id and name — for building filters or resolving a category id used by top_charts.

Parametersstorecountry

Version history

1
  1. v0.2.0LatestOct 23, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts