Skip to content

Keywords · MCP TOOL

get_keyword_difficulty

Score one store keyword and inspect its ranking competitors.

Set up your assistant · Authentication and errors

When to use it

Evaluate a keyword’s cached or live difficulty, popularity, traffic and opportunity. Scores are heuristics, not search counts; a live fetch can take several seconds.

Parameters

NameTypeRequiredDefaultAllowed valuesDescription
keywordstringYes——Store search term to score or inspect. Minimum length: 1. Maximum length: 80.
countrystringNo"us"—Two-letter storefront country code. Minimum length: 2. Maximum length: 2.
sourcestringNo"apple_mobile"apple_mobile, google_mobile, ios, androidStore: apple_mobile/ios or google_mobile/android.
topAppsLimitintegerNo10—Maximum ranking apps per keyword. Minimum: 0. Maximum: 50.
includeTopAppsbooleanNotrue—Include ranking app profiles.
refreshbooleanNofalse—Bypass cached keyword work when true.

Defaults and constraints come from the published Zod input schema. “—” means no schema default or no enum restriction. Use JSON values of the listed type; additional handler rules are described above.

Example prompts

  • Score sleep sounds for the US App Store.

Example call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_keyword_difficulty",
    "arguments": {
      "keyword": "sleep sounds",
      "country": "us",
      "source": "apple_mobile"
    }
  }
}

Example result

Illustrative, abridged JSON-RPC result. Only selected fields are shown; empty arrays illustrate a response with no rows. These are not current catalog observations. Parse the JSON inside content[].text.

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"data\":{\"term\":\"sleep sounds\",\"topApps\":[]}}"
      }
    ]
  }
}

Free vs paid results

Free keeps keyword difficulty but hides popularity, traffic and opportunity. Ranking apps at positions 1–10 keep their identities; positions 11+ are locked. Revenue estimates are hidden. Basic and Pro unlock these fields.

Paid access does not fill coverage gaps or unknown values. Returned plan metadata and lock notes explain redaction where applicable. Read the full Free data policy.

Rate limits and usage credit

PlanCalls per tool / dayAll tools / week
Free550
Basic100700
Pro3002,500

Days reset at 00:00 UTC. The combined ISO week resets Monday at 00:00 UTC. Every served tool call counts, including cached reads. Failed or refused calls are released along with any charge. Compare plans.

After either allowance, Basic and Pro can opt in to pay $0.05 in usage credit per call to get_keyword_difficulty. A call exceeding both windows is charged once. Free is refused past its allowances; paid plans without opt-in or enough credit are also refused with HTTP 402 / JSON-RPC -32004.

Credential request throttles and, for live keyword work, store-work throttles also apply. Follow retry instructions in the error reference.