MCP & API

MCP Server & API

Bring your ASO data into Claude, Cursor, and any agent. Ask "what should I optimize this week?" and get an answer grounded in your real keyword ranks, page-one opportunities, and weekly action plan — either through the MCP server or the read-only REST API.

Keyword difficulty

Score any App Store / Google Play keyword — difficulty + popularity.

Rank tracking

Read an app's tracked keywords and their latest store rank.

Page-one opportunities

Keywords ranked 11–30, ordered easiest-to-move first.

Weekly action plan

This week's prioritized ASO actions across all your apps.

1. Get an API key

Create a key in the Developers area of your dashboard. Keys look like ad_live_… and are shown in full exactly once — store it safely, we only keep a hash. API access is available on every paid plan (7-day free trial).

2a. MCP server (Claude, Cursor)

Add AppDrift to your MCP client config, drop in your key, and restart the client. Claude Desktop config lives in claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "appdrift": {
      "command": "npx",
      "args": ["-y", "appdrift-mcp"],
      "env": { "APPDRIFT_API_KEY": "ad_live_your_key_here" }
    }
  }
}
The appdrift-mcp package is open source and rolling out to npm. Until it lands, clone the repo and point command at node with the absolute path to mcp-server/index.js — see the server README.

Tools exposed to the agent:

ToolWhat it does
keyword_difficultyScore any keyword (difficulty + popularity).
list_appsList apps connected to your account.
app_keywordsAn app's tracked keywords with latest rank.
app_opportunitiesPage-one push candidates (rank 11–30).
action_planThis week's prioritized ASO actions.

2b. REST API

Prefer to call it directly? Every endpoint is a plain GET with your key as a bearer token. Base URL:

Base URL
https://appdrift-backend-1fabfc95f592.herokuapp.com
Authenticated request
curl -H "Authorization: Bearer ad_live_your_key_here" \
  "https://appdrift-backend-1fabfc95f592.herokuapp.com/v1/apps"

Endpoints

GET/v1/keyword-difficulty
Score any keyword. Query params: keyword (required), platform (ios|android, default ios), country (default us).
curl -H "Authorization: Bearer ad_live_..." \
  "https://appdrift-backend-1fabfc95f592.herokuapp.com/v1/keyword-difficulty?keyword=meditation&platform=ios&country=us"
Response
{
  "data": {
    "keyword": "meditation",
    "platform": "ios",
    "country": "us",
    "difficulty": 63,
    "popularity": 41,
    "source": "live"
  }
}
GET/v1/apps
List the apps connected to your account. Use an id below with the app-scoped endpoints.
GET/v1/apps/:id/keywords
An app's tracked keywords, each with its latest store rank (null = outside the tracked range).
GET/v1/apps/:id/opportunities
Page-one push candidates — tracked keywords ranked 11–30, ordered by easiest-to-move first. The highest-ROI keywords to optimize next.
GET/v1/action-plan
This week's prioritized ASO action plan across all apps — keyword pushes, rank drops, review themes, competitor overtakes, and localization gaps.

Notes

  • Read-only. v1 surfaces your data; it never changes your store listings. Write actions stay in the dashboard.
  • Tenant-scoped. A key only ever sees the account it was created in. Revoke a key any time from the Developers page.
  • Cached where it helps. Keyword difficulty is served from a shared cache when fresh and computed live otherwise — the source field tells you which.

Ready to build?

Grab a key and wire AppDrift into your agent in a couple of minutes.

Create an API key