Skip to content

Apps · MCP TOOL

search_apps

Search and filter App Store and Google Play listings.

Set up your assistant · Authentication and errors

When to use it

Discover competitors using store, category, growth, price or other supported filters. Use a typed search when you need sorting and numbers.

Parameters

NameTypeRequiredDefaultAllowed valuesDescription
limitintegerNo20—Maximum number of results requested. Minimum: 1. Maximum: 50.
countbooleanNo——Request an exact total when supported; broad or deep searches can still omit it.
cursorintegerNo0—Zero-based offset; use the returned nextCursor to continue. Minimum: 0.
afterstringNo——Opaque keyset token from nextAfter; replaces the offset when provided. Minimum length: 1. Maximum length: 1024.
searchstringNo——Search words or a supported store identifier. Minimum length: 1. Maximum length: 200.
searchInstringNo"all"all, title, developerApp search scope.
sourcestringNo—apple_mobile, google_mobile, ios, androidStore: apple_mobile/ios or google_mobile/android.
excludedSourcestringNo—apple_mobile, google_mobile, ios, androidStore to exclude.
idsstring[]No——Explicit resource IDs.
includeStalebooleanNo——Include apps without a store update in two years or removed from the store.
hasEstimatesbooleanNo——Filter by whether modeled estimates exist.
categoriesstring[]No——Store category IDs or names.
excludedCategoriesstring[]No——Categories to exclude.
countrystringNo——Two-letter storefront country code. Minimum length: 2. Maximum length: 2.
rankedbooleanNo——Limit apps to those with chart positions.
devicestring[]No——Included device classes.
excludeDevicesstring[]No——Excluded device classes.
variantstring[]No——Edition variants, such as lite, kids or pro.
canonicalOnlybooleanNo——Return one canonical listing per product family.
minRatingnumberNo——Minimum star rating. Minimum: 0. Maximum: 5.
maxRatingnumberNo——Maximum star rating. Minimum: 0. Maximum: 5.
minReviewsintegerNo——Minimum rating/review count. Minimum: 0.
maxReviewsintegerNo——Maximum rating/review count. Minimum: 0.
minInstallsintegerNo——Minimum Google Play lifetime installs. Minimum: 0.
maxInstallsintegerNo——Maximum Google Play lifetime installs. Minimum: 0.
minDownloadsintegerNo——Minimum modeled downloads for the recorded estimate period. Minimum: 0.
maxDownloadsintegerNo——Maximum modeled downloads for the recorded estimate period. Minimum: 0.
priceTypestringNo"all"all, free, paidFree or paid download price filter.
minPricenumberNo——Minimum download price. Minimum: 0.
maxPricenumberNo——Maximum download price. Minimum: 0.
hasIapbooleanNo——Filter by in-app purchase availability.
hasEmailsbooleanNo——Filter by collected email availability.
hasWebsitebooleanNo——Filter by collected website availability.
contentRatingstring[]No——Store content ratings.
languagesstring[]No——Language filters.
developerstringNo——Publisher name or identifier supported by this search. Minimum length: 1. Maximum length: 200.
releasedAfterstring (date-time)No——Release date lower bound.
releasedBeforestring (date-time)No——Release date upper bound.
updatedAfterstring (date-time)No——Store update lower bound.
releasedWithinstringNo——Relative release window, such as 30d or 1y; at most 200 years. Pattern: ^[1-9]\d*(d|w|m|y)$.
updatedWithinstringNo——Relative store-update window, such as 30d or 1y; at most 200 years. Pattern: ^[1-9]\d*(d|w|m|y)$.
minGrowthnumberNo——Minimum review growth percentage over growthPeriod.
growthMetricstringNo"reviews"reviews, installsObserved growth metric; install growth supports 7d and 30d sorting only.
growthPeriodstringNo"30d"7d, 14d, 30d, 60d, 90dWindow used for growth sorting and filtering.
sortBystringNo—relevance, growth, trending, rising, rating, reviews, installs, downloads, revenue, ads, updated, released, newest, rank, nameResult ordering.
sortOrderstringNo—asc, descSort direction.
minRevenuenumberNo——Minimum modeled gross in-app spend (USD); paid plans only. Minimum: 0.
maxRevenuenumberNo——Maximum modeled gross in-app spend (USD); paid plans only. Minimum: 0.
minLifetimeRevenuenever (unsupported)No——Unsupported: this data is not collected. Omit this parameter.
maxLifetimeRevenuenever (unsupported)No——Unsupported: this data is not collected. Omit this parameter.
hasMetaAdsbooleanNo——Filter by active Meta creatives.
adCountrystring[]No——Countries reached by active Meta creatives.
hasAppleAdsnever (unsupported)No——Unsupported: this data is not collected. Omit this parameter.
hasCreatorsnever (unsupported)No——Unsupported: this data is not collected. Omit this parameter.

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

  • Find free iOS sleep apps with at least 1,000 reviews.

Example call

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_apps",
    "arguments": {
      "search": "sleep",
      "source": "apple_mobile",
      "priceType": "free",
      "minReviews": 1000,
      "limit": 5
    }
  }
}

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\":[],\"pagination\":{\"nextCursor\":null,\"nextAfter\":null,\"totalCount\":null,\"estimated\":true,\"limit\":5}}"
      }
    ]
  }
}

Free vs paid results

Free keeps identities for rows 1–10 by absolute position, locks identities at 11+, and hides revenue estimates. Basic and Pro unlock these fields. Explicit ID lists keep their named identities.

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.02 in usage credit per call to search_apps. 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.