{
  "markdown": "# App Intel SDK — App Store & Google Play data for Node, Python and AI agents\n\nOfficial clients + MCP server for the **App Intel API**: one JSON API for iOS App Store and Google Play app data — search, full app details (screenshots, **preview videos**, **in-app purchase price lists**, install brackets), reviews, top charts & rankings by country, similar apps, keyword suggestions (ASO), **download & revenue estimates**, and daily rank / rating history.\n\n[![Connect on RapidAPI](https://storage.googleapis.com/rapidapi-documentation/connect-on-rapidapi-light.png)](https://rapidapi.com/kotuaigor/api/app-intel-api-app-store-google-play-data)\n\n**Get your key first** (free tier: 300 requests/month): subscribe on RapidAPI → [https://rapidapi.com/kotuaigor/api/app-intel-api-app-store-google-play-data](https://rapidapi.com/kotuaigor/api/app-intel-api-app-store-google-play-data) → copy the `X-RapidAPI-Key` from any endpoint page. [Plans & pricing](https://rapidapi.com/kotuaigor/api/app-intel-api-app-store-google-play-data/pricing).\n\n---\n\n## JavaScript / TypeScript — `app-intel-api`\n\nZero dependencies, `fetch`-based. Node 18+, Bun, Deno, browsers, edge runtimes.\n\n```bash\nnpm i app-intel-api\n```\n\n```ts\nimport { AppIntel } from \"app-intel-api\";\n\nconst api = new AppIntel({ rapidApiKey: process.env.RAPIDAPI_KEY!, country: \"us\" });\n\n// 1) find the app\nconst { data: hits } = await api.search(\"candy crush\", { store: \"ios\" });\n// 2) pull everything about it (screenshots, videos, IAP prices, estimate…)\nconst { data: app } = await api.app(hits[0].id, { estimate: true });\nconsole.log(app.name, app.iap.items, app.previewVideos, app.estimate);\n\nawait api.app(\"com.king.candycrushsaga\");               // Android by package name\nawait api.app(\"com.burbn.instagram\", { store: \"ios\" }); // iOS by bundle id\nawait api.reviews(\"com.king.candycrushsaga\", { sort: \"rating\", limit: 50 });\nawait api.charts({ store: \"android\", chart: \"top-grossing\", category: \"GAME\", country: \"gb\" });\n```\n\nEvery call resolves to `{ data, meta: { cached, stale?, fetchedAt } }`; errors throw `AppIntelError` (`status`, `code`, `requestId`). Full method list → [packages/client](./packages/client/README.md).\n\n---\n\n## Python — `app-intel-api`\n\nSync and async clients (httpx). Python 3.9+.\n\n```bash\npip install app-intel-api\n```\n\n```python\nfrom app_intel_api import AppIntel\n\napi = AppIntel(\"YOUR_RAPIDAPI_KEY\", country=\"us\")   # or set RAPIDAPI_KEY in env\n\nhits = api.search(\"candy crush\", store=\"ios\")[\"data\"]\napp = api.app(hits[0][\"id\"], estimate=True)[\"data\"]\nprint(app[\"name\"], app[\"iap\"][\"items\"], app[\"previewVideos\"], app[\"estimate\"])\n\napi.app(\"com.king.candycrushsaga\")                   # Android\napi.reviews(\"com.king.candycrushsaga\", sort=\"rating\", limit=50)\napi.charts(store=\"android\", chart=\"top-grossing\", category=\"GAME\", country=\"gb\")\n```\n\n```python\nfrom app_intel_api import AsyncAppIntel\nasync with AsyncAppIntel(\"YOUR_RAPIDAPI_KEY\") as api:\n    top = await api.charts(store=\"ios\", chart=\"top-grossing\", category=\"Health & Fitness\")\n```\n\nDocs → [packages/python](./packages/python/README.md).\n\n---\n\n## MCP server — `app-intel-mcp` (Claude Code, Claude Desktop, Cursor, Windsurf, …)\n\nGives any MCP-capable AI client live App Store / Google Play data as tools: `search_apps`, `get_app`, `get_apps`, `get_reviews`, `top_charts`, `list_categories`, `suggest_keywords`, `similar_apps`, `estimate_revenue`, `rank_history`, `developer_apps`, `android_permissions`, `android_data_safety`.\n\nRequirements: Node 18+ and your `RAPIDAPI_KEY`. The server runs locally over stdio via `npx` — nothing else to install.\n\n### Claude Code\n\n```bash\n# add for the current project (stored in .mcp.json)\nclaude mcp add app-intel -e RAPIDAPI_KEY=YOUR_RAPIDAPI_KEY -- npx -y app-intel-mcp\n\n# or for all your projects\nclaude mcp add --scope user app-intel -e RAPIDAPI_KEY=YOUR_RAPIDAPI_KEY -- npx -y app-intel-mcp\n\nclaude mcp list            # should show \"app-intel: … - ✓ Connected\"\n```\n\nThen just ask, e.g. *\"Use app-intel to find the top 10 grossing meditation apps on iOS in the UK and compare their subscription prices.\"* Claude Code will call `top_charts` → `get_app` for you. Run `/mcp` inside Claude Code to see the server and its tools.\n\nEquivalent `.mcp.json` (project root), if you prefer editing the file:\n\n```json\n{\n  \"mcpServers\": {\n    \"app-intel\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"app-intel-mcp\"],\n      \"env\": { \"RAPIDAPI_KEY\": \"YOUR_RAPIDAPI_KEY\" }\n    }\n  }\n}\n```\n\n### Claude Desktop\n\nSettings → Developer → **Edit Config** (opens `claude_desktop_config.json`) and add the same `mcpServers` block as above; restart Claude Desktop. The tools appear under the 🔌 / tools icon in the chat box.\n\n### Cursor\n\nSettings → **MCP** → *Add new global MCP server* (writes `~/.cursor/mcp.json`), or put the block above in `.cursor/mcp.json` inside your project. Enable the server; the Agent will use the tools automatically.\n\n### Windsurf\n\nSettings → **Cascade** → MCP servers → *Add server* → raw config, paste the same block (`~/.codeium/windsurf/mcp_config.json`).\n\n### Other clients (Zed, Continue, Cline, VS Code Copilot, OpenAI Agents SDK, …)\n\nAny client that supports **stdio MCP servers** works with: command `npx`, args `[\"-y\", \"app-intel-mcp\"]`, env `RAPIDAPI_KEY`.\n\n### Troubleshooting\n\n- `Error 401/403` from a tool → the key is missing/invalid or you're not subscribed: check `RAPIDAPI_KEY` and your subscription at [https://rapidapi.com/kotuaigor/api/app-intel-api-app-store-google-play-data](https://rapidapi.com/kotuaigor/api/app-intel-api-app-store-google-play-data).\n- `Error 429` → plan quota/rate limit reached — upgrade or wait.\n- Server doesn't start → make sure `node --version` is ≥ 18 and `npx -y app-intel-mcp` runs in a terminal (it waits for stdio input; Ctrl-C to exit).\n\n---\n\n## Endpoints covered\n\nsearch · suggest · charts · categories · app · apps (batch) · appByBundleId · reviews · similar · estimates · history · androidPermissions · androidDataSafety · developerApps — interactive playground and full reference on [RapidAPI](https://rapidapi.com/kotuaigor/api/app-intel-api-app-store-google-play-data).\n\n## License\n\nMIT. Data comes from public App Store / Google Play pages; media URLs are hot-linked to Apple/Google CDNs. Estimates are modeled, not measured.\n",
  "bytes": 6286,
  "sha": "43728be124f9643a57f063998397202fadd5cbf82fcb184863bf9aab27b0b4d0",
  "repo_slug": "garrrikkotua/app-intel-sdk",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_garrrikkotua_app_intel_75fadbe9/readme"
}