About getappniche
GetAppNiche provides AI agents with live App Store and Google Play data for app discovery, ASO research, historical metrics, and reviews. Its hosted MCP endpoint is available to supported clients, with a stdio bridge for clients that need one.
Key features
- 01Search apps with 25+ filters
- 02Retrieve app details and historical metrics
- 03Score individual or batches of keywords
- 04Fetch current store reviews
- 05List supported store countries
Use cases
- 01Compare apps using downloads, revenue, and ratings
- 02Assess keyword difficulty and opportunity
- 03Review app rating and download trends
- 04Retrieve reviews for an app
MCP support
Exposes app research tools through a hosted MCP endpoint using API-key authentication. A Node.js or Python stdio bridge forwards messages to the hosted service.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://api.getappniche.com/mcpclaude mcp add --transport http com-getappniche https://api.getappniche.com/mcp{"mcpServers":{"com-getappniche":{"type":"http","url":"https://api.getappniche.com/mcp"}}}Open in Cursor{"servers":{"com-getappniche":{"type":"http","url":"https://api.getappniche.com/mcp"}}}Open in VS Code{"mcpServers":{"com-getappniche":{"type":"http","url":"https://api.getappniche.com/mcp"}}}{"mcpServers":{"com-getappniche":{"serverUrl":"https://api.getappniche.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://api.getappniche.com/mcpAuth requiredTools
8| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | How many apps to return, 1-100. If omitted: 20 for assistant sign-in connections, 50 with an API key. Each returned app costs 1 credit, so ask for the page size you need; when the balance is lower, the page shrinks to the balance. |
| store | any | No | Limit results to one store: 'apple' (App Store) or 'google' (Google Play). Omit to search both. |
| offset | integer | No | How many apps to skip before returning results; use for paging. |
| search | any | No | Free-text query matched against app title and developer name, e.g. 'calorie tracker'. |
| sort_by | enum | No | Column to sort by: 'downloads' (default), 'revenue', 'growth', 'reviews', 'rating', 'title', 'released' or 'updated'.downloads | revenue | growth | reviews | rating | title | released | updated |
| category | any | No | Store category name to filter by, e.g. 'Health & Fitness', 'Productivity', 'Games'. Use 'categories' to include several at once. |
| language | any | No | Single app-language code the listing supports, e.g. 'en', 'de', 'pt-BR'. |
| sort_dir | enum | No | Sort direction: 'desc' (default, highest first) or 'asc'.asc | desc |
| languages | any | No | Several app-language codes to include, e.g. ['en', 'es']. |
| search_in | any | No | Which field 'search' matches: 'title', 'developer', or 'all' (default). Use 'developer' to list a publisher's portfolio. |
| categories | any | No | Several category names to include, e.g. ['Health & Fitness', 'Lifestyle']. Takes precedence over 'category'. |
| max_rating | any | No | Highest average star rating to include, 0-5; use to find weak incumbents. |
| min_rating | any | No | Lowest average star rating to include, 0-5, e.g. 4. |
| max_revenue | any | No | Highest estimated monthly revenue in USD, e.g. 50000 for $50K/month. |
| max_reviews | any | No | Highest lifetime review count, e.g. 1000 to exclude entrenched giants. |
| min_revenue | any | No | Lowest estimated monthly revenue in USD, e.g. 10000 for $10K/month. |
| min_reviews | any | No | Lowest lifetime review count, e.g. 1000. |
| price_model | any | No | Monetisation model: 'Free', 'Freemium' or 'Paid'. Case-insensitive on input. |
| growth_metric | any | No | Metric the growth filter measures — currently only 'reviews'. |
| growth_period | any | No | Window growth is measured over: '7d', '14d', '30d', '60d' or '90d', for both stores. Google Play apps are measured every few weeks, so their 14-90 day growth is pro-rated from each app's nearest earlier measurement and covers far more Play apps than '7d' does. |
| max_downloads | any | No | Highest estimated monthly downloads. |
| min_downloads | any | No | Lowest estimated monthly downloads, e.g. 10000. |
| not_languages | any | No | Localization-gap filter: return only apps NOT localized in any of these language codes, e.g. ['it'] finds apps without an Italian localization. App Store data only — combine with languages=['en'] to shortlist English apps missing a target market's language. |
| updated_after | any | No | Only apps last updated on or after this date, 'YYYY-MM-DD'. |
| min_growth_pct | any | No | Lowest absolute growth percentage over 'growth_period', e.g. 20 for at least ±20%. |
| released_after | any | No | Only apps released on or after this date, 'YYYY-MM-DD'. |
| updated_before | any | No | Only apps last updated on or before this date, 'YYYY-MM-DD'. |
| released_before | any | No | Only apps released on or before this date, 'YYYY-MM-DD'. |
| growth_direction | any | No | Keep only apps growing ('up') or declining ('down') over 'growth_period'. |
| max_days_since_update | any | No | Only apps updated within this many days, e.g. 30 for actively maintained apps. |
| max_days_since_release | any | No | Only apps first released within this many days, e.g. 90 for fresh launches. |
Details
From the project READMEGetAppNiche MCP — App Store & Google Play intelligence for AI agents
The Model Context Protocol surface of GetAppNiche: live App Store & Google Play data — app discovery with revenue & download data, ASO keyword scoring, historical metrics and review feeds — for Claude, Cursor, Codex, Gemini CLI and any other MCP-capable agent.
You probably don't need to run anything. The server is hosted:
https://api.getappniche.com/mcp Streamable HTTP · JSON-RPC 2.0
Authorization: Bearer YOUR_API_KEY app.getappniche.com → Settings → API Keys
Setup per client
Claude Code — one command, no restart:
claude mcp add --transport http getappniche https://api.getappniche.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Cursor — .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):
{
"mcpServers": {
"getappniche": {
"url": "https://api.getappniche.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Claude Desktop — claude_desktop_config.json, then restart the app fully:
{
"mcpServers": {
"getappniche": {
"command": "npx",
"args": ["-y", "@getappniche/mcp"],
"env": { "GETAPPNICHE_API_KEY": "YOUR_API_KEY" }
}
}
}
VS Code (Copilot agent mode) — .vscode/mcp.json:
{
"servers": {
"getappniche": {
"type": "http",
"url": "https://api.getappniche.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Windsurf — ~/.codeium/windsurf/mcp_config.json (the field is serverUrl):
{
"mcpServers": {
"getappniche": {
"serverUrl": "https://api.getappniche.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Codex CLI — ~/.codex/config.toml, then export GETAPPNICHE_API_KEY:
[mcp_servers.getappniche]
url = "https://api.getappniche.com/mcp"
bearer_token_env_var = "GETAPPNICHE_API_KEY"
Gemini CLI — ~/.gemini/settings.json (the field is httpUrl):
{
"mcpServers": {
"getappniche": {
"httpUrl": "https://api.getappniche.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
Zed, Cline, Continue and JetBrains AI are covered too —
getappniche.com/mcp has every snippet.
Companion agent skills:
getappniche-com/aso-skills
(npx skills add getappniche-com/aso-skills).
ChatGPT — Settings → Connectors → create a custom connector (Developer
mode), point it at https://api.getappniche.com/mcp and pick API key
authentication, then paste your key.
claude.ai on the web documents request-header auth, but its connector UI currently exposes only OAuth fields — until that settles, use one of the clients above.
What's in this repo
A zero-dependency stdio bridge for clients that speak MCP over stdio and
can't send HTTP headers — in two flavours: bin/cli.mjs (Node 18+, published as
@getappniche/mcp) and
server.py (Python 3.9+, stdlib only). Both forward every JSON-RPC message to
the hosted endpoint over TLS and stream responses back.
# Node — one-liner, no install
GETAPPNICHE_API_KEY="getappniche_..." npx -y @getappniche/mcp
# Python — no dependencies
GETAPPNICHE_API_KEY="getappniche_..." python3 server.py
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"getappniche": {
"command": "npx",
"args": ["-y", "@getappniche/mcp"],
"env": { "GETAPPNICHE_API_KEY": "getappniche_..." }
}
}
}
server.json is the manifest published to the
official MCP registry as
com.getappniche/mcp.
Being ~150 readable lines, it doubles as a reference for what travels over the
wire: your API key goes only into the Authorization header of TLS requests
to api.getappniche.com — nothing else, nowhere else.
Tools
search_apps- Search apps across 25+ filters: store, categories, languages, price model, rating, reviews, downloads, revenue, release and update recency, review growth - sorted by any column (1 credit per app returned, 50 a call by default, up to 100)get_app_detail- Get one app by canonical id, bare Apple id, Android package name, or a pasted store URL (1 credit)get_app_historicals- Metric time series: reviews, ratings, downloads, revenue (1 credit)get_keyword_difficulty- Popularity, difficulty, traffic and opportunity for a keyword (10 credits)batch_keyword_difficulty- Score up to 10 keywords, sorted by opportunity (10 credits per keyword)get_app_reviews- Live App Store or Google Play reviews for any app by id, package name or URL, or enriched rows for apps monitored in your workspace (1 credit per review returned, 50 a call by default, up to 100)get_supported_countries- List valid store country codes (free)
Credits ship with a GetAppNiche plan (Pro: 5,000/month) and every result reports
credits_charged. Rate limit: 60 requests/minute per key.
Protocol notes
- Methods:
initialize→notifications/initialized→tools/list/tools/call. Protocol errors use standard JSON-RPC codes; tool-level errors (bad id, out of credits) come back as tool results your agent can read. - The bridge honours
Mcp-Session-Idand accepts both JSON and SSE-framed responses. - OAuth for clients whose connector UI can't set headers (claude.ai web) is in progress; ChatGPT connects today with API-key auth.
License
MIT. Built by GetAppNiche · X @getappniche · LinkedIn
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.